list_month_eventsLABSCO SUMMARY
The whole event lifecycle, plus the one tool most calendar servers omit.
Listing, creating, updating and deleting is table stakes; free-slot search is not, and it is what turns "when can we meet" from a manual scan into one call. Because delete and update are both present, this is a server that can change your real calendar — worth pointing at the account you intend before the first write.
What it is
A Python MCP server built on fastmcp that connects to Google Calendar over OAuth2 and exposes the full event lifecycle over stdio.
What you get
list_month_events— every event in a given year and monthlist_day_events— every event on a given dateget_event_detail— the full record for one event idcreate_event— a new event, with attendees added by email addressupdate_event— change title, time and other fields on an existing eventdelete_event— remove an event by idsearch_events— events that match a keyword, optionally within a date rangefind_free_slots— gaps of at least N minutes on a date, which is the one that makes scheduling from chat practical
Requirements
Python 3.13 or newer (the author recommends 3.13.3) and uv; uv sync installs everything. It also needs a Google Cloud OAuth client file, saved as client_secret.json in the clone (or point GOOGLE_CLIENT_SECRET_FILE in the clone's .env at another path). The README does not explain how to create that client: follow Google's Calendar API Python quickstart, rename the credentials.json it gives you, and expect a one-time Google sign-in in your browser on the first tool call.
Setup effort
Build from source — git clone https://github.com/AnByoungHyun/google_calendar_mcp.git
USE CASES
Finding a time for a meeting
Ask for gaps of the length you need on the day in question, then create the event in one of them.
Reviewing the month ahead
List the month's events and have the assistant summarise where the load sits.
Moving something that clashes
Get the event detail, pick a free slot, then update the event rather than deleting and recreating it.
8 tools
Listed in project code.
list_day_eventsget_event_detailcreate_eventupdate_eventdelete_eventsearch_eventsfind_free_slotsBEFORE YOU INSTALL
What to know first
Tools you get
8 tools registered in the project's code. The README lists 7; search_events is the one it leaves out.
Requires
- uv on PATH
- Python 3.13 or newer
- A Google Cloud OAuth client file: client_secret.json in the working directory, or the path set in GOOGLE_CLIENT_SECRET_FILE
- A one-time Google sign-in in the browser on the first tool call
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself, so the path in the block is the one thing the author cannot fill in for you — replace it with wherever your copy ended up.
Server setup
git clone https://github.com/AnByoungHyun/google_calendar_mcp.git
cd google_calendar_mcp
uv syncMCP Clients
Cursor
{
"mcpServers": {
"google-calendar": {
"command": "uv",
"args": [
"--directory",
"<google_calendar_mcp_path>",
"run",
"google_calendar_mcp"
]
}
}
}