
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
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Google Calendar MCP (nspady) config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 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-calendarsList all calendars across configured accounts
list-eventsList events from a calendar within a time range
get-eventRetrieve a single event by ID
search-eventsSearch events by text query
create-eventCreate a new calendar event
update-eventUpdate an existing event, including recurring series
delete-eventDelete an event
respond-to-eventAccept, 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.