multi-accountpermissionssecuritygoogle-calendar

One API Key, Many Google Calendars: How CalendarMCP Permissions Work

CalendarMCP now lets one API key cover multiple Google connections with per-calendar read/write permissions. Here is how to set up safer AI calendar agents.

Sarah Chen
Developer Relations, CalendarMCP ·

Calendar access gets complicated as soon as an agent needs more than one Google account. Your personal calendar has doctor appointments and travel. Your work calendar has meetings. A side project or shared team calendar has launch dates. If the agent only sees one of them, it will make confident scheduling decisions from partial information.

CalendarMCP's multi-connection model is built for that reality: one API key can cover multiple Google connections, and each calendar gets its own read/write permission setting.

Why one account is not enough

Most scheduling mistakes are not model-intelligence failures. They are context failures.

If your agent checks only your work calendar, it may suggest a meeting during a personal appointment. If it checks only your personal calendar, it may miss a client call. If it has write access everywhere, it may create events in places you wanted to keep read-only.

The right setup is usually: read broadly, write narrowly.

The CalendarMCP model

CalendarMCP separates three concepts that are often mashed together:

  • API key: the credential your MCP client uses.
  • Connection: a Google account or service-account connection attached to that key.
  • Calendar permission: whether a specific calendar is readable, writable, both, or disabled.

That lets one MCP key represent the calendar context you actually use, without turning every calendar into a write target.

A practical permission matrix

A founder, operator, or developer might configure a setup like this:

ConnectionCalendarReadWriteWhy
PersonalPrimaryYesNoAvoid conflicts, but do not let the agent modify private events.
WorkPrimaryYesYesLet the agent schedule normal meetings and focus blocks.
WorkTeam HolidaysYesNoUseful context, but rarely something an agent should edit.
Side ProjectLaunch CalendarYesYesLet the agent create release, content, and follow-up reminders.

What this changes for agents

With a permission matrix, prompts get simpler because the configuration carries the rules.

Find three 45-minute slots next week for a customer call.
Check my personal, work, and launch calendars for conflicts.
Create the event on my work calendar only.

The agent can search broadly for availability, then write only where it has permission. If a calendar is read-only, CalendarMCP keeps it available as context while blocking accidental edits.

OAuth and service accounts can sit side by side

CalendarMCP supports both normal Google OAuth connections and service-account connections. That matters for users with Google Advanced Protection, shared workspace calendars, or operational calendars that should not depend on one person's OAuth session.

The dashboard groups calendars by connection so you can see which account each calendar came from, then choose the right access level per calendar.

Why not just create multiple API keys?

You can, but it makes the agent's job harder. Multiple keys usually mean multiple MCP server entries, awkward prompt routing, and more places for configuration drift.

One key with multiple connections is cleaner. The model asks for the calendar operation. CalendarMCP handles the connection and permission details.

A safer default

The safest useful calendar agent is not one with unlimited access. It is one with enough read context to avoid bad suggestions and narrow write access to take action in the right places.

That is the reason CalendarMCP treats per-calendar permissions as a core product feature instead of a settings afterthought.

Connect multiple calendars at calendarmcp.ai, attach them to one key, and set the permission matrix once. After that, your agent can work from the full schedule without needing full write access everywhere.

Ready to get started?

Connect your Google Calendar to Claude and any MCP client in about two minutes.

Connect Google Calendar