Several Google Calendars reaching OpenAI Codex through a single MCP server

How to Connect Multiple Google Calendars to Codex

Codex has no first-party calendar connector, so this is entirely a question of which MCP server you point it at. That is good news, because it means the multi-account limit that blocks the built-in connectors elsewhere is not baked in here. It is a configuration decision. Carly holds your Outlook calendars and every mailbox on both sides in the same place, so this setup covers the rest of what you own.

Worth saying plainly first: Codex is a coding agent. If what you want is a worked calendar rather than a calendar reachable from a terminal, the setup below still applies, but the scheduling belongs in a workflow rather than a coding session.

Several calendars in one account is not the hard part

Most Google Calendar setups are several calendars under a single login: your main calendar, a side project, a family calendar, a subscribed team calendar. Those all belong to one Google identity and any calendar tool reaches them together.

The hard version is two Google accounts. A personal @gmail.com calendar plus a work Workspace calendar, or your own Workspace plus a client’s. Sort which one you have before configuring anything, because the answers are completely different.

Why one MCP server beats one per account

The usual advice is to wire calendar access into Codex through a third-party MCP provider such as Composio, Merge, or Nylas. That works for one account. For three it means three server entries, three OAuth apps to maintain, and no shared vocabulary for saying which calendar you mean.

Carly inverts that. Each Google identity is authorized once inside Carly, and Codex sees a single server that can address any of them by email address. Adding a fourth account changes nothing in config.toml.

1. Sort your calendars

All addresses below are fictional.

CalendarGoogle accountRole
Main work calendarfictional.arun.mehta@stripe.comMain Company
Team calendarfictional.arun.mehta@stripe.comSame account
Personal calendarfictional.arun.mehta@gmail.comPersonal
Client calendarfictional.arun.mehta@shopify.comClient

Use the role in ordinary queries and the full address before anything that writes.

2. Connect every Google account to Carly

  1. Sign in at carlyassistant.com.
  2. Open carlyassistant.com/integrations.
  3. Find Google Calendar and click Connect.
  4. Choose the first Google account and approve access.
  5. Confirm the connected address in Carly.

Repeat for each additional identity, choosing Use another account if Google preselects the first login. Verify the full address after every authorization before adding the next.

If a Google Workspace account requires administrator review, ask that Workspace administrator to approve the connection. Each Workspace approves independently.

Unlimited connected emails and calendars are included on the $35/month plan, so a third and fourth calendar cost nothing extra.

3. Register Carly as an MCP server

The CLI route is the shortest:

codex mcp add carly --url https://carlyassistant.com/mcp/

Servers added this way land in ~/.codex/config.toml at user scope. You can also write the entry by hand:

[mcp_servers.carly]
url = "https://carlyassistant.com/mcp/"

A trusted project can carry its own .codex/config.toml if you would rather scope the server to one repository than to your whole machine.

Then authenticate:

codex mcp login carly

That opens a browser for the OAuth flow. Sign in to the Carly workspace holding the calendars. Codex supports OAuth and bearer-token auth against remote HTTP MCP servers, so there is no API key to paste into a config file.

Confirm the server is live:

codex mcp list

4. Test each calendar read-only

Start a new session so the tools load, then take one account per prompt:

On the Main Company calendar, list this week’s events with times and attendees. Do not change anything.

On fictional.arun.mehta@gmail.com, show everything booked in the next five days. Read only.

Then the cross-account question that was the point of the setup:

Compare the Main Company and Personal calendars for next week and list every conflict, showing the source account for each event.

If the tools are missing, start a fresh session. Codex loads a newly installed server’s tools at session start, not mid-session.

5. Reuse this routing prompt

Treat fictional.arun.mehta@stripe.com as Main Company, fictional.arun.mehta@gmail.com as Personal, and fictional.arun.mehta@shopify.com as Client. When finding a time, check all three for conflicts. Always state the target calendar before creating, moving, or cancelling an event. Never write to a calendar I have not named.

Then name the target per action:

Find ninety minutes next week free on all three calendars and book it on Main Company.

Move the Friday review on the Client calendar to the first open slot the following week.

That first instruction is the whole reason for the configuration. Finding a time free across every calendar you actually keep is the request people most want and most often get wrong, because the tool can see one of them.

Keep approvals on while testing. A coding agent with write scopes on three calendars is worth a confirmation step.

Third-party calendar MCP versus Carly in Codex

NeedPer-account MCP serverCarly MCP server
Reach one calendarYesYes
Reach several accountsOne server per accountOne server, all accounts
Address a specific account in a promptNo shared conventionYes, by email address
Find a time free across every accountNoYes
Manage your own OAuth app and scopesOften requiredNo
Add a fourth account laterNew server entryNo config change
Keep the work running outside CodexNoYes

Carly gives Codex one account-aware calendar toolset instead of a stack of per-account servers. Free Zapier-style workflows; AI agents from $35/month.

Quick fixes

ProblemFix
Tools do not show upStart a new Codex session after adding the server
codex mcp login never completesFinish the browser OAuth flow, then rerun codex mcp list
The same Google account connected twiceRemove the duplicate and reconnect with Use another account
A Workspace blocks authorizationAsk that Workspace administrator to approve Carly
Events land on the wrong calendarUse the full address and require confirmation before writes

Frequently asked questions

Does Codex have a native Google Calendar integration?

No. Codex reaches calendars through the Model Context Protocol rather than a built-in connector, so the capability depends entirely on which MCP server you register.

How many Google Calendars can this reach?

As many as you authorize in Carly. Codex connects to one server, so the account count is a Carly setting rather than a Codex one.

Can Codex book meetings with attendees?

It can create events through whichever server you connect. Negotiating times with attendees, handling time zones, and sending the invite is assistant work rather than something a coding agent is shaped for.

Should I use Codex for scheduling?

For scripted or one-off calendar work from a terminal, it is a reasonable fit. Recurring scheduling belongs in a workflow that runs without a session open.


Related: Codex + Google Calendar · Multiple Outlook calendars in Codex · Multiple Gmail accounts in Codex · Multiple Google Calendars in Claude · Best AI assistants for multiple calendars

Ready to automate your busywork?

Carly schedules, researches, and briefs you—so you can focus on what matters.

See what people say

"Before Carly, I relied on a Calendly link, but the whole process felt impersonal and not very professional. Carly changed that by handling all the back-and-forth, so I'm no longer stuck in endless email threads trying to line up schedules.

Now Carly reaches out to candidates, shares my real-time availability, lets them pick a slot, then sends a Zoom link and drops it straight into my calendar. She sends reminders to both of us before each call, which has significantly reduced no-shows and last-minute confusion.

On top of scheduling, Carly acts like a full executive assistant, sending me my schedule the night before so I can prepare for each call. It reminds me of the old x.ai assistant, but Carly is noticeably smarter, faster, and better suited to my healthcare recruitment business."

Gus Ibrahim, Founder & Director, IHR