Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Google Calendar in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work with Google Calendar: see the calendars you have, list and search events in any time range, read event details and guests, create and reschedule meetings with guests and Google Meet links, answer invitations, add events from a sentence and check when people are free. Personal Google accounts and Google Workspace.
Try asking
Example prompts for Google Calendar
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Google Calendar, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Google Calendar + Gemini
Let your AI work with Google Calendar: see the calendars you have, list and search events in any time range, read event details and guests, create and reschedule meetings with guests and Google Meet links, answer invitations, add events from a sentence and check when people are free. Personal Google accounts and Google Workspace.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
Step 1 — Get credentials
- Open console.cloud.google.com, pick or create a project, then go to APIs & Services → Library and enable the Google Calendar API.
- Open APIs & Services → OAuth consent screen. Choose Internal if you are on Google Workspace (the simplest option), otherwise External. For External, set the publishing status to In production: while the app is in Testing, Google revokes its refresh tokens after 7 days and the connector stops working every week. For your own account you can click through the "unverified app" warning.
- Open APIs & Services → Credentials → Create credentials → OAuth client ID, choose the application type Web application and add the authorized redirect URI
https://cloud.anythingmcp.com/api/mcp-oauth/callback. If you host AnythingMCP yourself, enterhttps://your-anythingmcp-host/api/mcp-oauth/callbackinstead. - Paste the client ID into
GOOGLE_CLIENT_IDand the client secret intoGOOGLE_CLIENT_SECRET, then install the connector. - On the connector page, click Authorize with Provider and sign in with the Google account whose calendars the AI should use. The refresh token is stored encrypted and access tokens are renewed automatically.
One Google client for all Google connectors: the same Cloud project and OAuth client can serve every Google connector: Gmail, Google Calendar, Google Drive, Google Sheets, Google Docs, Google Tasks, Search Console, Analytics and Ads. Enable each API in that project, reuse the same client ID and secret, and authorize each connector once. Each one asks only for its own permissions.
Invitations and availability: guests receive an email only when the AI asks Google to notify them; otherwise the event still appears in their calendars. Free/busy shows a colleague's calendar only when their availability is visible to you, which is usually the case inside the same Google Workspace organization.
Permissions: the connector asks for https://www.googleapis.com/auth/calendar.events (create, change and delete events on every calendar you can edit) and https://www.googleapis.com/auth/calendar.readonly (read the calendar list, calendars, colors and free/busy). It cannot create or delete calendars or change who they are shared with.
Read-only setup: change the scope in the connector's OAuth settings to https://www.googleapis.com/auth/calendar.readonly, authorize again and disable gcal_create_event, gcal_update_event, gcal_respond_to_event and gcal_quick_add.
Switched off at install: gcal_delete_event. Turn it on for this tool only if the AI should delete events.
Common errors: 401 means the authorization expired or was revoked (always after 7 days while the consent screen is in Testing): click Authorize with Provider again. 403 accessNotConfigured means the Google Calendar API is not enabled in the Cloud project. 403 insufficientPermissions means the scope does not allow the call (a change on a read-only setup) or you can only view that calendar. 404 means the calendar or event does not exist or is not visible to this account.
The connector does not create, delete or share calendars and does not handle event attachments, calendar settings or push notifications.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Google Calendartools.
Available tools
| Tool | What it does |
|---|---|
gcal_list_calendars | List the calendars in the signed-in user's calendar list (own, shared and subscribed) with id, summary, timeZone, accessRole and primary… |
gcal_get_calendar | Get one calendar's metadata: summary, description, location and time zone |
gcal_list_events | List or search events of one calendar in a time window. time_min and time_max are RFC 3339 with offset (2026-10-09T00:00:00+02:00); q… |
gcal_get_event | Get one event with all details: start and end, attendees and their responseStatus, organizer, recurrence, reminders, hangoutLink and… |
gcal_create_event | Create an event: title, start and end (timed or all-day), location, description, guests, recurrence, reminders and optionally a Google Meet… |
gcal_update_event | Change an event: only the fields given are changed (PATCH). attendees, recurrence and reminders replace the whole current value, so read… |
gcal_respond_to_event | Accept, decline or tentatively accept an invitation |
gcal_quick_add | Create an event from one line of natural language, the way Calendar's quick add does, e.g. "Lunch with Ana tomorrow 12:30-13:30 at Café… |
gcal_delete_event | Delete an event (all occurrences when it is a recurring series; pass an occurrence id to cancel one occurrence) |
gcal_query_free_busy | Check when calendars are busy in a time window, without event details: returns busy intervals per calendar |
gcal_list_colors | List the color palette: event colors (color_id "1" to "11") and calendar colors, each with background and foreground hex values |
Example prompts
- "What's on my calendar for the rest of this week? Flag any meetings that overlap."
- "Find a free 45-minute slot with [email protected] next Tuesday or Wednesday morning and send her an invitation with a Google Meet link."
- "Move tomorrow's 3 pm review to Friday at the same time and let the guests know."
- "Accept the invitation to Thursday's planning meeting and decline the one that clashes with it."
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
Was this guide helpful?