list_eventsLABSCO SUMMARY
Your calendar, driven by conversation.
It covers the operations that matter — read a range, create, update, delete, and the genuinely useful find_free_time for scheduling around what is already booked. The cost is the Google OAuth setup: a Cloud project, Desktop-app credentials, consented scopes, and a refresh token you generate with a small getToken.js script the README has you create and run. That is a one-time chore, but it is the real work before anything runs.
What it is
An MCP server that lets an AI assistant work with your Google Calendar: reading events over a time range, creating and changing meetings, deleting them, and finding open slots. It talks to the Google Calendar API using OAuth 2.0 credentials and a refresh token.
What you get
- Events listed within a time range —
list_events - A new event created —
create_event - An existing event updated —
update_event - An event deleted —
delete_event - Open slots found in the calendar —
find_free_time
Requirements
A Google Cloud project with the Calendar API enabled and OAuth 2.0 Desktop-app credentials, plus a refresh token — the README prints a getToken.js script that you save, fill in with your client ID and secret, and run once to produce it. GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REDIRECT_URI and GOOGLE_REFRESH_TOKEN go in the client's env block. Node.js v16 or higher; install is a clone plus npm install and npm run build, launched as build/index.js with node. The package.json names it googlecalendar at 1.0.0. The consent screen needs the calendar and calendar.events scopes and your email added as a test user.
Setup effort
Build from source — git clone https://github.com/v-3/google-calendar.git
USE CASES
Scheduling a meeting from a chat request
Create the event at the time and length you describe, without opening the calendar app.
Finding a time that actually works
Ask for a free slot of a given length and let it read around your existing events.
Checking what is on the calendar
List events over the week or day you care about.
Moving or cancelling a meeting
Update an event to a new time, or delete one you no longer need.
5 tools
Listed in project docs. Your client may show a different list.
create_eventupdate_eventdelete_eventfind_free_timeBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- Node.js
- GOOGLE_CLIENT_ID in your environment
- GOOGLE_CLIENT_SECRET in your environment
- GOOGLE_REFRESH_TOKEN in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/v-3/google-calendar.git
cd google-calendar
npm install
npm run buildGet the refresh token: save the getToken.js script printed in the README’s “Get Refresh Token” section (https://github.com/v-3/google-calendar#4-get-refresh-token) with your client ID and secret filled in, then run:
npm install googleapis
node getToken.jsOpen the URL it prints, finish the Google sign-in, and copy the refresh token from the console into GOOGLE_REFRESH_TOKEN in the client configuration
MCP Clients
Claude Desktop
{
"mcpServers": {
"google-calendar": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GOOGLE_CALENDAR>/build/index.js"
],
"env": {
"GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>",
"GOOGLE_REDIRECT_URI": "http://localhost",
"GOOGLE_REFRESH_TOKEN": "<YOUR_GOOGLE_REFRESH_TOKEN>"
}
}
}
}