MCP Directory

How to add Google Calendar MCP (nspady) to Windsurf

Manage Google Calendar events across multiple accounts with natural-language scheduling. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 15, 2026 · 1.1k · stdio · oauth

Windsurf config for Google Calendar MCP (nspady)

npx -y @cocal/google-calendar-mcp
{
  "mcpServers": {
    "google-calendar-mcp-nspady": {
      "command": "npx",
      "args": [
        "-y",
        "@cocal/google-calendar-mcp"
      ],
      "env": {
        "GOOGLE_OAUTH_CREDENTIALS": "/absolute/path/to/gcp-oauth.keys.json"
      }
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Google Calendar MCP (nspady) config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Google Calendar MCP (nspady)'s tools become available to Cascade.

Before you start

  • Node.js LTS (run via npx, no global install needed) — or Docker for HTTP mode
  • A Google Cloud project with the Google Calendar API enabled
  • OAuth 2.0 credentials of type "Desktop app", downloaded as a JSON key file
  • The path to that JSON file set via the GOOGLE_OAUTH_CREDENTIALS environment variable
  • Your Google account(s) added as Test users on the OAuth consent screen (while the app is in Testing mode)

What Google Calendar MCP (nspady) can do in Windsurf

list-calendars

List all calendars across configured accounts

list-events

List events from a calendar within a time range

get-event

Retrieve a single event by ID

search-events

Search events by text query

create-event

Create a new calendar event

update-event

Update an existing event, including recurring series

delete-event

Delete an event

respond-to-event

Accept, decline, or tentatively respond to an invitation

Security

You must create a Google Cloud OAuth client and point GOOGLE_OAUTH_CREDENTIALS at the credentials JSON; protect that file as it can authorize calendar access. In test mode OAuth tokens expire after 7 days, requiring periodic re-auth.

Google Calendar MCP (nspady) + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Google Calendar MCP (nspady) config there under the "mcpServers" key and restart the client.

Is Google Calendar MCP (nspady) safe to use with Windsurf?

You must create a Google Cloud OAuth client and point GOOGLE_OAUTH_CREDENTIALS at the credentials JSON; protect that file as it can authorize calendar access. In test mode OAuth tokens expire after 7 days, requiring periodic re-auth.

Why do my credentials stop working after about a week?

When the OAuth app is in Testing mode, Google issues refresh tokens that expire after 7 days. Re-authenticate (clients like Claude Desktop reopen the browser automatically), or publish the app to Production to get longer-lived tokens.

What kind of OAuth credentials do I need?

OAuth 2.0 credentials of type "Desktop app" from your own Google Cloud project. Download the JSON and point GOOGLE_OAUTH_CREDENTIALS at it.

Can I connect more than one Google account?

Yes. Use the manage-accounts tool to add, list, and remove accounts, and the server can query and detect conflicts across all of them.

View repo Full Google Calendar MCP (nspady) page