Google Calendar

purecipher-google-calendar · v0.4.0 · by purecipher
Access requirements not specifiedCertification: Basic
What you can do

13 product-specific SecureMCP tools to read and change Google Calendar data using your own connection. Select only the tools you need; provider permissions and profile approval are required. Google OAuth app configuration is pending.

Tools

13 tools

Explore the tools exposed by Google Calendar to MCP clients.

Registered SecureMCP definitions
13 of 13 tools
  • calendar_list_calendars

    List calendars on the authorized user's calendar list.

    View inputs and schema
    page_token
    Optional
    string
    max_results
    Optional
    integer
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "properties": {
        "page_token": {
          "type": "string",
          "default": ""
        },
        "max_results": {
          "type": "integer",
          "default": 20,
          "maximum": 100,
          "minimum": 1
        }
      },
      "additionalProperties": false
    }
  • calendar_list_events

    List/search events, optionally bounded by RFC3339 times. single_events expands recurring events.

    View inputs and schema
    query
    Optional
    string
    time_max
    Optional
    string
    time_min
    Optional
    string
    page_token
    Optional
    string
    calendar_id
    Optional
    string
    max_results
    Optional
    integer
    show_deleted
    Optional
    boolean
    single_events
    Optional
    boolean
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "default": ""
        },
        "time_max": {
          "type": "string",
          "default": ""
        },
        "time_min": {
          "type": "string",
          "default": ""
        },
        "page_token": {
          "type": "string",
          "default": ""
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        },
        "max_results": {
          "type": "integer",
          "default": 20,
          "maximum": 100,
          "minimum": 1
        },
        "show_deleted": {
          "type": "boolean",
          "default": false
        },
        "single_events": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    }
  • calendar_get_calendar

    Read a calendar's metadata and ETag for conditional updates.

    View inputs and schema
    calendar_id
    Optional
    string
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "properties": {
        "calendar_id": {
          "type": "string",
          "default": "primary"
        }
      },
      "additionalProperties": false
    }
  • calendar_get_event

    Read an event, its attendees and ETag. Use this ETag when updating or deleting it.

    View inputs and schema
    event_id
    Required
    string
    calendar_id
    Optional
    string
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "event_id": {
          "type": "string"
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        }
      },
      "additionalProperties": false
    }
  • calendar_list_event_instances

    Expand instances of one recurring event; follow nextPageToken for more.

    View inputs and schema
    event_id
    Required
    string
    page_token
    Optional
    string
    calendar_id
    Optional
    string
    max_results
    Optional
    integer
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "event_id": {
          "type": "string"
        },
        "page_token": {
          "type": "string",
          "default": ""
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        },
        "max_results": {
          "type": "integer",
          "default": 20,
          "maximum": 100,
          "minimum": 1
        }
      },
      "additionalProperties": false
    }
  • calendar_free_busy

    Read busy periods for up to 50 calendars within a bounded time window; creates no events.

    View inputs and schema
    time_max
    Required
    string
    time_min
    Required
    string
    calendar_ids
    Required
    array
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "calendar_ids",
        "time_min",
        "time_max"
      ],
      "properties": {
        "time_max": {
          "type": "string"
        },
        "time_min": {
          "type": "string"
        },
        "calendar_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 50,
          "minItems": 1
        }
      },
      "additionalProperties": false
    }
  • calendar_create_event

    Create an event. Choose send_updates explicitly: all, externalOnly or none. Attendees may receive Google email; none can impair external calendar sync.

    View inputs and schema
    event
    Required
    object
    Explicit editable event fields. Attendees replace the entire attendee list.
    calendar_id
    Optional
    string
    send_updates
    Required
    string
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "event",
        "send_updates"
      ],
      "properties": {
        "event": {
          "type": "object",
          "properties": {
            "end": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "date": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 10
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "date_time": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "time_zone": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 100
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    }
                  },
                  "description": "Exactly one all-day date or timezone-aware date_time; end is exclusive.",
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "start": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "date": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 10
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "date_time": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "time_zone": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 100
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    }
                  },
                  "description": "Exactly one all-day date or timezone-aware date_time; end is exclusive.",
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "summary": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1024
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "location": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1024
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "attendees": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 100
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "visibility": {
              "anyOf": [
                {
                  "enum": [
                    "default",
                    "public",
                    "private",
                    "confidential"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "description": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16384
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "transparency": {
              "anyOf": [
                {
                  "enum": [
                    "opaque",
                    "transparent"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            }
          },
          "description": "Explicit editable event fields. Attendees replace the entire attendee list.",
          "additionalProperties": false
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        },
        "send_updates": {
          "enum": [
            "all",
            "externalOnly",
            "none"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  • calendar_update_event

    Patch supplied event fields at an exact ETag. Attendees replace the full list. Choose notification behavior explicitly; Google may still send some emails.

    View inputs and schema
    etag
    Required
    string
    changes
    Required
    object
    Explicit editable event fields. Attendees replace the entire attendee list.
    event_id
    Required
    string
    calendar_id
    Optional
    string
    send_updates
    Required
    string
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "event_id",
        "changes",
        "etag",
        "send_updates"
      ],
      "properties": {
        "etag": {
          "type": "string"
        },
        "changes": {
          "type": "object",
          "properties": {
            "end": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "date": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 10
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "date_time": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "time_zone": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 100
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    }
                  },
                  "description": "Exactly one all-day date or timezone-aware date_time; end is exclusive.",
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "start": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "date": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 10
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "date_time": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 64
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "time_zone": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 100
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    }
                  },
                  "description": "Exactly one all-day date or timezone-aware date_time; end is exclusive.",
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "summary": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1024
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "location": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1024
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "attendees": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 100
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "visibility": {
              "anyOf": [
                {
                  "enum": [
                    "default",
                    "public",
                    "private",
                    "confidential"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "description": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16384
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "transparency": {
              "anyOf": [
                {
                  "enum": [
                    "opaque",
                    "transparent"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            }
          },
          "description": "Explicit editable event fields. Attendees replace the entire attendee list.",
          "additionalProperties": false
        },
        "event_id": {
          "type": "string"
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        },
        "send_updates": {
          "enum": [
            "all",
            "externalOnly",
            "none"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  • calendar_delete_event

    Delete an event at an exact ETag. A recurring series ID deletes the series; choose notifications and confirm_delete explicitly.

    View inputs and schema
    etag
    Required
    string
    event_id
    Required
    string
    calendar_id
    Optional
    string
    send_updates
    Required
    string
    confirm_delete
    Required
    boolean
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "event_id",
        "etag",
        "send_updates",
        "confirm_delete"
      ],
      "properties": {
        "etag": {
          "type": "string"
        },
        "event_id": {
          "type": "string"
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        },
        "send_updates": {
          "enum": [
            "all",
            "externalOnly",
            "none"
          ],
          "type": "string"
        },
        "confirm_delete": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  • calendar_move_event

    Move a default event to another calendar, changing its organizer. Choose attendee notification behavior explicitly.

    View inputs and schema
    event_id
    Required
    string
    calendar_id
    Optional
    string
    send_updates
    Required
    string
    destination_calendar_id
    Required
    string
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "event_id",
        "destination_calendar_id",
        "send_updates"
      ],
      "properties": {
        "event_id": {
          "type": "string"
        },
        "calendar_id": {
          "type": "string",
          "default": "primary"
        },
        "send_updates": {
          "enum": [
            "all",
            "externalOnly",
            "none"
          ],
          "type": "string"
        },
        "destination_calendar_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  • calendar_create_calendar

    Create a secondary calendar. This does not share the calendar or change its access list.

    View inputs and schema
    summary
    Required
    string
    time_zone
    Required
    string
    description
    Optional
    string
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "summary",
        "time_zone"
      ],
      "properties": {
        "summary": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 1
        },
        "time_zone": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "default": "",
          "maxLength": 8192
        }
      },
      "additionalProperties": false
    }
  • calendar_update_calendar

    Update supplied calendar metadata at an exact ETag; access permissions are unchanged.

    View inputs and schema
    etag
    Required
    string
    summary
    Optional
    time_zone
    Optional
    calendar_id
    Required
    string
    description
    Optional
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "calendar_id",
        "etag"
      ],
      "properties": {
        "etag": {
          "type": "string"
        },
        "summary": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 1024,
              "minLength": 1
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "time_zone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "calendar_id": {
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 8192
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "additionalProperties": false
    }
  • calendar_delete_calendar

    Permanently delete a secondary calendar and all its events at an exact ETag. Primary calendars cannot be deleted.

    View inputs and schema
    etag
    Required
    string
    calendar_id
    Required
    string
    confirm_delete
    Required
    boolean
    Full JSON schema, including nested inputs, allowed values, and validation constraints.
    {
      "type": "object",
      "required": [
        "calendar_id",
        "etag",
        "confirm_delete"
      ],
      "properties": {
        "etag": {
          "type": "string"
        },
        "calendar_id": {
          "type": "string"
        },
        "confirm_delete": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
Availability in your MCP client also depends on your account connection, permissions, and active profile.
Connect

Use it from your MCP client

A profile controls which servers and tools your registered clients can use.

  1. Add this server to a profile and set up your personal connection if required.
  2. Select the tools and client instances to allow, then complete the profile’s access review.
  3. Once active, open Connect & test on the profile to get your client configuration and check connectivity.

Register your client in My workspace → My clients and save its token securely. A published listing does not by itself grant runtime access.

Technical details and verification
How a call flows

A round trip: client → registry → server → back

MCP client
Registry gateway
Secured MCP Server
request →← response
Registry guardrails
PolicyProvenanceReflexiveConsentContract
connect
result
MCP client connects to the registry
1 · Authenticate2 · Discover tools3 · Invoke tool
Governance

Gateway controls

Checked controls are enabled for this server’s hosted gateway. Consent and contracts are optional.

○
Policy engine
Only curator-vouched tools are callable — anything else is denied at the gateway.
○
Reflexive core
Per-client behavioral baselines flag anomalous activity.
○
Consent graph
Scoped grants are checked before a tool runs; grants can expire.
○
Contract broker
An active contract sets allowed tools and rate limits per client.
Provenance & verification
Signature
Valid · manifest match
Attested by
Publisher
Hosting
Catalog listing
The registry pins the exact upstream above and records every call made through the gateway in a tamper-evident ledger — visible to the client that made the calls.

User ratings & feedback

Community feedback is separate from security certification. One rating per account; you can update yours.

Loading reviews…

Source & deployment

Not verified

Catalog version: 0.4.0

Submitted source · publisher declaration

Not recorded

Running registry build · operator build record

https://github.com/PureCipher/xsecuremcp2.0

0566b374ddbb720cf486951f791209f7938e5992

Implementation paths and SHA-256 hashes (13)
  • src/purecipher/consumer_aws.py

    9a15442043db8c07a28d9d2037f5ca5ecf79dab0846194e28bd036329d498b10
  • src/purecipher/consumer_bridge.py

    f7247aff802f0869776d5274e5a6c002374235bac8914ffeb6b68ec1536b745e
  • src/purecipher/consumer_bridge_tools.py

    573ad6444316397f78d849f419fcf7a042468b820bf946f2b093c6462b6f5055
  • src/purecipher/consumer_business.py

    b18c519b3a65853180ca07a7234128146fb009b389542659b48dadaebaf3081e
  • src/purecipher/consumer_cloud.py

    08fe162696615e205992db2c4b267c3a65c403cf727314d9e5e941a3597d5ce4
  • src/purecipher/consumer_gmail.py

    3118519c17f7da9f4c9cb84d35bc49ae8d40ab345c897d43421d0e5e7b363680
  • src/purecipher/consumer_google_permissions.py

    99fc2af714c2c177742d3a85b0116e3ed0fe094b2f0ea6e7ded8f9596cfa9c3e
  • src/purecipher/consumer_google_workspace.py

    3799a9e54e74682b187cd57259895fccdb150cfbd7bd57da29fdd32538d806c5
  • src/purecipher/consumer_governance.py

    b1689ec86825ca12eaaf1e95590a97cbec8a46d581debdd0b7772ed3c85b9fea
  • src/purecipher/consumer_oauth.py

    931372166d95e46bcdbe0ef6315741c583c814eff34d4228cccb270336ca312d
  • src/purecipher/consumer_observability.py

    c7d98468ba620e6a2966c1a4fe0ba28ad6feff290396fd2c13f40b7570d5d3e5
  • src/purecipher/consumer_runtime.py

    0ede891d2647e3526dc45876b2b60c064155ce9f42653e748b93003912fb0297
  • src/purecipher/consumer_utilities.py

    e7af046b063271da249c26d06b3d95ab529c77466370f6bbca6550478ee11a19

Comparison covers the registry consumer runtime only. Catalog approval does not deploy code. External upstream deployment identity is not verified; personal connections and credentials are separate.