Compared with other tools
Compare Google Calendar tools for offline search, free times, event changes and agent permissions.
gcal is a command line and an MCP server for the Google Calendar of your own account. This page puts it next to the
other command lines, MCP servers and assistant connectors that read a Google Calendar, so you can see which one fits
your job. The marks for gcal come from its release 0.1.0 (0.1.1 changed only its agent guide), its commands and
its source, checked on 29 October 2026; they are checked again at each release. The marks for the other tools come from their own
READMEs, documentation and source, checked on 27 October 2026. Nothing was signed in to or tested live, and a tool may
do more than its pages say.
The tools:
- gcal: this tool. Keeps a copy of the calendars you choose on your computer, searches it without the internet, and joins attendees to the people you know from your other WireCat tools. It signs in read-only; after you allow writing, it also adds, changes and deletes events and answers invitations.
- gcalcli: the classic Google Calendar command line, in Python: agenda, week and month views, search, add and edit (3,778 stars, last release 4 October 2024).
- gog: a Go command line for all of Google Workspace, built for agents, with 30 calendar commands (8,535 stars, release 23 October 2026).
- Google Workspace MCP: a Python MCP server for 12 Google services, 7 of its tools for Calendar (3,417 stars, release 23 October 2026).
- google-calendar-mcp: the most starred MCP server for Google Calendar alone, 13 tools (1,206 stars, release 28 September 2026).
- Claude's Google Calendar connector: built into Claude; nothing to install.
✅ yes · 🟡 partly · ❌ no · ➖ not in its documentation · n/a cannot apply
Features
| Task | gcal | gcalcli | gog | Workspace MCP | google-calendar-mcp | Claude |
|---|---|---|---|---|---|---|
| See your day and week | ||||||
| Today's or this week's meetings in one command | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ |
| Type dates in words, such as "tomorrow 3pm" or "next friday" | 🟡 | ✅ | 🟡 | ❌ | n/a | n/a |
| Meetings from all your calendars and accounts in one list | 🟡 | 🟡 | 🟡 | ➖ | ✅ | ➖ |
| See what changed since a date: new, moved and cancelled meetings | ❌ | ✅ | ✅ | ➖ | ➖ | ➖ |
| Find meetings that overlap | ❌ | ✅ | ✅ | ➖ | ✅ | ➖ |
| Find a meeting | ||||||
| Find a meeting by what it was about, not by its exact words | ✅ | ➖ | ➖ | ➖ | ➖ | ➖ |
| Search your meetings without the internet | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| One search over meetings, chats, mail and notes | 🟡 | ➖ | ➖ | ➖ | ➖ | ➖ |
| People | ||||||
| Know that an attendee is the person you write to in Telegram, WhatsApp or mail | ✅ | ➖ | ➖ | ➖ | ➖ | ➖ |
| Prepare for the next meeting: who comes, what you last discussed, linked documents | 🟡 | ➖ | ✅ | ➖ | ➖ | ➖ |
| Check when people are free | ✅ | ➖ | ✅ | ✅ | ✅ | ✅ |
| Change the calendar | ||||||
| Add a meeting | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Accept or decline an invitation | ✅ | ➖ | ✅ | ✅ | ✅ | ✅ |
| Agents and safety | ||||||
| MCP server | ✅ | ➖ | ✅ | ✅ | ✅ | n/a |
| Every calendar command of the tool is also an MCP tool | ✅ | n/a | ❌ | 🟡 | ✅ | n/a |
| An agent cannot change your calendar unless you allow it | ✅ | n/a | ✅ | ✅ | 🟡 | ✅ |
| You name the account each time; the tool never picks one for you | ✅ | ➖ | ❌ | ➖ | ❌ | n/a |
| Text from an invitation is marked for the agent as not to be obeyed | ✅ | n/a | ✅ | ➖ | ➖ | ➖ |
| Instructions for agents that use a terminal | ✅ | ➖ | ✅ | ➖ | ➖ | n/a |
| Setup | ||||||
| Start without creating your own Google Cloud project | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Works from claude.ai on the web and the phone | 🟡 | ❌ | ❌ | ✅ | 🟡 | ✅ |
| Requirement | gcal | gcalcli | gog | Workspace MCP | google-calendar-mcp | Claude |
|---|---|---|---|---|---|---|
| Install | npm, Node 22.16+ or 24+ | apt, brew or pip | brew or go install | uvx workspace-mcp | npx @cocal/google-calendar-mcp | none: built into Claude |
| Licence | Apache-2.0 | MIT | MIT | MIT | MIT | closed service |
Notes on the gcal column:
- Read only until you allow more.
gcal session startasks Google for read-only access. With--grant writeit also adds, changes and deletes events, repeating ones included, and answers invitations (events create,update,delete,respond);--grant sharingadds who can see a calendar. It cannot yet move an event to another calendar, or change "this and all following" occurrences of a repeating event. - Your own Google app. Today every user of
gcalmakes a Google Cloud project and an OAuth client, and givesgcalthe client file at sign-in. See installation. - Dates in words.
events listtakestoday,week, andfrom:andto:with a date. It does not read "next friday". - Prepare for a meeting.
events showgives the attendees, each joined to the person you know elsewhere, and the meeting's Drive files. What you last discussed with them is inmemo, not ingcal. - All calendars. One list covers the calendars you chose to sync in one profile. Each Google account is its own profile, and a list reads one profile.
- Find by meaning. It needs a model that you download once. Without one, search matches words and their other forms.
- One search over everything. Meetings go into the store that the other WireCat tools share.
search allin the other WireCat tools, such astg, reads them beside chats, mail and notes.gcal searchitself finds meetings only. - When people are free.
calendars busyasks Google when your calendars and other people are taken, and with--duration-minutesgives the free stretches they share within working hours. - An agent cannot change your calendar unless you allow it. Without
--grant writethe sign-in itself is the limit. After it, a change asks first at a terminal, but over MCP no one is there to ask, so an agent changes events, and with--grant sharingshares the calendar, without a question. To stop that, set the profile's permissions todenyorreadonly(for examplepermissions.api.calendar.acl deny), or start the server withmcp serve --permissionto make one key stricter for that server. - Text from invitations. Anyone can send you an invitation, so its title, notes and place are someone else's
words. Each answer with events lists these fields under
untrusted, and the MCP server and the agent instructions tell the agent they are data, not instructions. The text itself is not changed. - Passcodes. Passcodes, PINs and passwords are removed from every answer, the raw
gcal apicommands included: a link loses its query string, and a line of the notes that names a passcode is dropped. - Every command an MCP tool. Through three MCP tools,
gcal_tools_search,gcal_readandgcal_write. Two commands are kept for you at a terminal:api call, and emptying a calendar (calendars.clear). - claude.ai on the web.
mcp serve --httpserves the tool to Claude and ChatGPT in the browser, behind a tunnel you set up yourself, such as Tailscale Funnel. - Speed and cost against a browser agent.
gcalcalls Google's API and reads its own copy; it opens no browser. No measurement of it against a browser agent is published, so this page makes no claim.
When another tool fits better
- gog: you want to move a meeting to another calendar, find meetings that overlap, or see what changed since a date.
- Claude's connector: you want help with your calendar in Claude on the web or the phone, with nothing to install and no Google Cloud project.
- Google Workspace MCP: you need one MCP server for a whole team on Google Workspace, reached over HTTP.
- gcalcli: you want a calendar grid in the terminal, or to add an event from one line of text such as "lunch with Ana tomorrow 1pm".
If gcal fits, start with installation. To use it with an agent, see usage.