Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
CalendarBridge is a Model Context Protocol (MCP) connector that lets ChatGPT work with your Apple Calendar. It never uploads your events to a third party β every action runs on your own Mac through a tiny local agent. The cloud piece is only a stateless relay that shuttles requests between ChatGPT and your Mac.
Your Mac is the only place your events are ever read or written. The relay stores only short-lived job payloads and your account record; it never sees an event unless a job is in flight, and jobs expire in seconds.
1. Create your account at calendarbridge.vercel.app and generate a pairing code.
2. Install the Mac agent (needs Node 18+):
The first time it touches Calendar, macOS asks "Terminal wants to control Calendar" β click OK (one time).
3. Connect ChatGPT: Settings β Plugins β turn on Developer mode (Security & login) β Create a custom plugin β paste the MCP Server URL https://calendarbridge.vercel.app/mcp β Authentication OAuth β sign in & Allow.
That's it. In a new chat: "Search my Apple Calendar for the dentist appointment" or "Add a Team Standup to my Work calendar tomorrow at 9am."
Your Mac must be awake with the agent running.
npx calendar-agent installmakes it start automatically at login and restart if it ever crashes.
| Tool | Action |
|---|---|
list_calendars | List all your calendars (Work, Personal, Family, β¦) |
list_events | List upcoming events in a date window (default next 7 days), optionally one calendar |
search_events | Find events whose title contains a keyword |
get_event | Read one event by id |
create_event | Create an event (title, start, end, optional location, notes, calendar, all-day) |
update_event | Edit an event's fields (overwrites the fields you pass β read it first) |
You can run your own relay so nothing depends on the hosted instance.
Prereqs: a Vercel account and a Supabase project (free tiers are fine).
supabase/schema.sql. It creates a tiny Redis-shaped KV + queue surface (nb_* functions) with RLS on.server/ directory to Vercel.server/.env.example):
SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY β your project + service-role keyJWT_SECRET β openssl rand -hex 32curl https://YOUR-APP.vercel.app/api/health β redisConfigured, redisOk, jwtSecretSet all true.npx calendar-agent pair <CODE> --server https://YOUR-APP.vercel.app.session, agent, mcp) with distinct privileges. Optional email verification via Resend (RESEND_API_KEY); off unless configured, and enforcement is opt-in (REQUIRE_EMAIL_VERIFICATION).jobs:<user> (TTL β€ the caller's wait window, so an abandoned job can't run late) β the Mac agent (holding a hanging long-poll) is handed the job within ~200ms, executes it, pushes the result β the MCP handler returns it. The long-poll means jobs are delivered on arrival rather than on a fixed interval, so relay overhead is ~300ms instead of ~1s. The agent is considered "online" only while it's actively connected.osascript -l JavaScript) against Calendar.app; arguments are passed as JSON over argv (never shell-interpolated). A macOS LaunchAgent keeps it alive across logins and crashes.~/.calendarbridge-agent.json (mode 600)..gitignore and the .env.example files.MIT Β© Isaiah Dupree
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/calendar-bridge)<a href="https://allmcps.com/mcp/calendar-bridge"><img src="https://allmcps.com/api/badge/calendar-bridge?style=directory" alt="Calendar Bridge on AllMCPs" /></a>