google-mcp
Provides tools for interacting with Google Calendar, enabling listing calendars and events, fetching event details, checking free/busy availability, creating, updating, and deleting events, and creating events from natural language text.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-mcpWhat meetings do I have tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-mcp
An MCP server for Google Calendar built to run as an upstream server behind
Barback. It uses the same stack and
project standards as Barback: Bun 1.4, strict TypeScript, Biome, zod v4, and
the official @modelcontextprotocol/sdk.
The server speaks MCP over Streamable HTTP, the transport Barback's MCP registry prefers for networked upstreams.
Tools
Tool | Effect | Description |
| read | Calendars visible to the authenticated account |
| read | Events with time range, search, and pagination |
| read | Fetch one event by ID |
| read | Busy intervals for one or more calendars |
| write | Create an event (attendees, all-day, reminders) |
| write | Patch selected fields of an event |
| write | Delete an event |
| write | Create an event from natural language text |
Read tools are annotated with readOnlyHint so Barback's tool policies can
classify and cache them as reads.
Related MCP server: Google Calendar MCP Server
Authentication
The server uses an OAuth refresh token for a user account and calls the Calendar API with short-lived access tokens:
In Google Cloud Console, enable the Google Calendar API and create an OAuth client of type Web application with the redirect URI
http://127.0.0.1:53682/oauth2/callback.Run the local consent helper once:
GOOGLE_CLIENT_ID=... GOOGLE_CLIENT_SECRET=... bun run scripts/google-auth.tsOpen the printed URL, authorize, and copy the printed refresh token.
Put the credentials in
.env(see .env.example). Keep all values out of source control.
The MCP endpoint itself can require a bearer token via GOOGLE_MCP_TOKEN.
Barback sends it as an upstream credential; without the variable the endpoint
is open for local development.
Run
bun install --frozen-lockfile
cp .env.example .env
# Fill GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN.
bun run startInterfaces:
POST /mcp— MCP Streamable HTTP endpointGET /healthandGET /health/live
Barback integration
Run google-mcp as a container on the same Apple Container network as Barback:
./scripts/start-google-mcp.shThe script prints the resolved container IP and a ready-to-paste
GOOGLE_MCP_URL=http://<ip>:8090/mcp line after the health check. Apple
Container does not resolve container names via DNS, and published ports can be
unreachable from the host, so the working address is the container IP on the
shared network; use the printed GOOGLE_MCP_URL below. The IP changes when the
container restarts, and Barback's
startup script re-resolves it and injects the value at startup.
Then register it in barback.yaml:
mcp:
servers:
- id: google
transport: streamable-http
url: env:GOOGLE_MCP_URL
required: true
auth:
bearerToken: env:GOOGLE_MCP_TOKEN
tools:
default: deny
allow: [list_calendars, list_events, get_event, free_busy, create_event, update_event, delete_event, quick_add]
policies:
list_calendars: { effect: read, cache: { mode: exact, ttl: 5m } }
list_events: { effect: read, cache: { mode: none } }
get_event: { effect: read, cache: { mode: exact, ttl: 1m } }
free_busy: { effect: read, cache: { mode: none } }
create_event: { effect: write, cache: { mode: none } }
update_event: { effect: write, cache: { mode: none } }
delete_event: { effect: write, cache: { mode: none } }
quick_add: { effect: write, cache: { mode: none } }
toolsets:
calendar:
- google:list_calendars
- google:list_events
- google:get_event
- google:free_busy
- google:create_event
- google:update_event
- google:delete_event
- google:quick_addGOOGLE_MCP_URL is resolved from the environment at startup by Barback's
recursive env: config loader, so the example needs no further edits. Grant
the toolset to a policy (mcpToolsets: [calendar]) and the scopes mcp:list
and mcp:call to the client. Clients then see the tools as google.list_events
and so on.
Development
bun run check
bun run test:contractThe contract suite exercises the tool surface through a real MCP client over an in-memory transport and the HTTP layer over a spawned server; no Google credentials are needed for tests.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Google Calendar through natural language interactions with features like creating, updating, and deleting events, searching calendars, and supporting natural language date/time inputs.732MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Calendar through the Google Calendar API. Supports listing calendars, creating/deleting events, and retrieving calendar events with OAuth2 authentication.
- AlicenseNot gradedqualityCmaintenanceEnables management of Google Calendar events across multiple calendars with natural language support, including searching events, checking availability, creating/updating/deleting events, responding to invitations, and auto-generating Google Meet links.16449MIT
- AlicenseNot gradedqualityDmaintenanceEnables managing Google Calendar events including creating, listing, updating, and deleting events through natural language.17MIT
Related MCP Connectors
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Schedule and manage Google Calendar events directly from your workspace. Check availability, view…
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shiborgi/google-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server