Multi Calendar

co.lummanPublished by lumman.coOfficial publisherv1.3.0Updated Nov 3, 2026

Outlook.com, Microsoft 365, Google, iCloud, CalDAV: free time, events, invites, bookings, polls.

The publisher's own server: Multi Mail

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

Multi Calendar's hosted MCP server (calendar.lumman.co), published by lumman.co; no sign-in required; Streamable HTTP.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
lumman.co
Endpoint
calendar.lumman.co

Installation

In SourceWeft

  1. Open Multi Calendar in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/co.lumman%2Fcalendar/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "multi-calendar": {
      "type": "http",
      "url": "https://calendar.lumman.co/mcp"
    }
  }
}

README

Multi Calendar

Outlook.com, Microsoft 365, Google, iCloud, CalDAV: free time, events, invites, bookings, polls.

Multi Calendar is a remote MCP server run by Lumman Ltd. It puts every calendar account you connect - Outlook.com and Hotmail, Microsoft 365, Google, iCloud, Fastmail and other CalDAV calendars, several of each - behind one connector, so an AI client can find time free in all of them in one call, read and change events, answer invitations, and hand out booking links, booking pages and group polls. This repository holds what clients install: the manifests for Claude Code, Cursor, Gemini CLI and Antigravity, three skills and their evals. The server itself is not in it.

Before you start

You need a Lumman account with at least one calendar account connected - in the window your AI client opens when it first connects, or at https://lumman.co/mcp/account/multi-calendar. Sign in there with Google, Microsoft, a passkey or an emailed code. Outlook.com, Hotmail and Microsoft 365 calendars connect with Microsoft sign-in, Google calendars with Google sign-in, iCloud calendars with an app-specific password made at Apple, and Fastmail and other CalDAV calendars with their address and a password. Each calendar account's permissions - seeing events, changing events, and inviting and replying - are set on the same page, and your time zone, working hours and other scheduling preferences on its Scheduling page, https://lumman.co/mcp/account/multi-calendar/scheduling.

Add it to your client

Claude

Open Multi Calendar in Claude's connectors directory, https://claude.ai/directory/connectors/lumman-multi-calendar, and press Connect. The listing connects at https://calendar.lumman.co/mcp.

Claude Code

/plugin marketplace add lumman-lab/multi-calendar/plugin install multi-calendar@multi-calendar

The plugin adds the connector at https://calendar.lumman.co/mcp and the three skills below. The first time a skill reaches the connector, Claude Code asks you to sign in; if it does not, run /mcp and choose the multi-calendar server.

Cursor

Add the connector to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "multi-calendar": { "url": "https://calendar.lumman.co/mcp" }  }}

VS Code

Run MCP: Add Server, choose HTTP, paste https://calendar.lumman.co/mcp and name it multi-calendar. Or add it to your user mcp.json:

json
{  "servers": {    "multi-calendar": { "type": "http", "url": "https://calendar.lumman.co/mcp" }  }}

Gemini CLI

gemini extensions install https://github.com/lumman-lab/multi-calendar

The extension adds the connector at https://calendar.lumman.co/mcp and the three skills below. Its first call opens Lumman's sign-in in your browser; /mcp auth multi-calendar opens it again.

Antigravity

agy plugin install https://github.com/lumman-lab/multi-calendar

The plugin adds the connector at https://calendar.lumman.co/mcp and the three skills below, for the Antigravity CLI, app and IDE alike. To sign in, run /mcp in the CLI, open multi-calendar_multi-calendar and choose Authenticate, or in the app or IDE press Authenticate next to it under Agent settings, Customizations; approve on the Lumman page that opens, then paste the code Antigravity's page shows back into Antigravity.

ChatGPT

Works fully on ChatGPT Business, Enterprise and Edu.

  1. Open chatgpt.com/plugins, press +, then Add custom MCP server.
  2. Name it Multi Calendar, paste https://calendar.lumman.co/mcp, choose OAuth, tick the box and press Create as a plugin.
  3. Install it. On the Lumman page, sign in, add a calendar if none is connected, and approve.
  4. In a chat, type @ and choose Multi Calendar.

Any other client

Add a remote MCP server at https://calendar.lumman.co/mcp: Streamable HTTP, OAuth 2.1 with dynamic client registration. No key or client id is needed.

Signing in

The connector answers a client's first call with where to sign in. The client registers itself with Lumman's authorisation server and opens a Lumman page that names it: sign in, add a calendar if none is connected, and approve. Every client you approve is listed under Connected AI clients at https://lumman.co/mcp/account/multi-calendar, where its access can be taken back.

Skills

Claude Code, Cursor, Gemini CLI and Antigravity load three skills with the connector, and pick one by themselves when a request matches it. In Claude Code each is also a command, such as /multi-calendar:week.

  • free-time - when you are free across every calendar, within your working hours, or when everyone in one of your circles is, with every calendar it could not read named. Books nothing.
  • meetings - a meeting with guests shown to you as a draft, then made and its invitations sent only after you say yes to that draft.
  • week - the week across every calendar, each meeting once, day by day, with clashes and unanswered invitations named. Changes nothing.

Examples:

  • "When am I free for an hour on Thursday across all my calendars?"
  • "Set up a 30-minute call with [email protected] from my Outlook calendar on Thursday at 15:00."
  • "What's on my calendars this week?"

Ready requests

The connector offers these requests ready-made; a client shows them as prompts or commands.

  • week_ahead - The week ahead. Every meeting of the next seven days across all your calendars, with clashes and invitations still to answer.
  • daily_agenda - Today's agenda. Today across all your calendars at a glance, made to run as a scheduled task.
  • answer_invitations - Invitations to answer. Invitations still waiting for your answer across all your calendars, each answered only as you say.
  • schedule_meeting - Set up a meeting. Find a time every calendar has open and send the invitations once you say yes to the draft.

Tools

ToolName
calendars_listList calendars
events_listRead events
events_getRead an event
free_times_findFind a time
events_createCreate an event
events_editChange an event
events_cancelCancel an event
events_respondAnswer an invitation
preferences_getRead scheduling preferences
preferences_setChange scheduling preferences
busy_everywhere_setShow busy time everywhere
booking_links_createMake a booking link
booking_page_setSet up a booking page
polls_createMake a group poll
polls_resultsRead a poll's answers
polls_bookBook a poll's time
links_polls_listList open links and polls
links_polls_closeClose a link or poll
circles_inviteInvite people into a circle
circles_listList circles
circles_free_times_findFind a time for a circle

Where your calendars go

Every client sends its calls to https://calendar.lumman.co/mcp, run by Lumman. Signing in runs through the authorisation server that address names. Lumman keeps no copy of your calendars: events are read from Microsoft, Google, Apple or the calendar's own server when a client asks, when a guest opens your booking page or link, when a member of your circle searches, and - where you show busy time in another calendar - by Lumman's own pass that keeps those busy blocks current. The words of every event a client reads - an invitation from a stranger included - are screened for prompt attacks by Google Cloud's Model Armor, as are the words of every event a client writes before they reach your calendar, and the events are passed on only to the client you approved. A booking link, booking page or poll keeps what it needs to offer times - its meeting's name and length, and for a poll the addresses it is for and their answers until it closes. What the connector passes on, and to whom, is in the privacy policy: https://lumman.co/privacy.

The meetings skill asks the client to show a meeting and wait for your yes. What the connector itself enforces is each calendar account's permissions, set at https://lumman.co/mcp/account/multi-calendar: with inviting and replying off, no invitation is sent from that account, whatever a client asks. A meeting at a time outside a guest's working day, where their time zone is known, is not sent until the client passes on that you agreed.

Limits

  • Your time zone is the one stored for you, taken from your device when you first connect; a client never guesses it, and asks you once where none is stored.
  • Google shows an event as busy or free alone, and Outlook keeps one reminder per event.
  • A Teams link is made only in a work Microsoft account, a Meet link only in a Google one. Focus time is made only in a Google Workspace account's main calendar.
  • A circle finds time with people who also use Multi Calendar, and sees only when each member is busy, never what their events say.
  • An invitation in an iCloud calendar is answered from its invitation letter or in Apple's own Calendar app. In a calendar connected by its server's password, a meeting's invitations and answers go out only where the server says it sends them itself; elsewhere a meeting with guests is refused.
  • Multi Calendar takes up to 1,000 actions in any 24 hours across all your calendar accounts, whatever the plan; past that, a call is refused with the time the next one is available.
  • An event whose words screen as a prompt attack is withheld rather than passed on, and a call whose screening cannot finish is closed.

Evals

claude plugin eval . runs three cases, one per skill, and thirteen choose-* cases, against an invented week across an Outlook.com and a Google calendar, with an iCloud and a CalDAV account in their own cases, answered from fixed mock files under evals/. Each choose-* case is a request in a person's own words - what is on, when they are free or available, scheduling, moving, an invitation, a booking page, a poll, an iCloud or a Fastmail calendar - that the connector's tools should take, and three are requests no calendar tool should take. They read the tools' own descriptions, saved in evals/mocks/multi-calendar/_tools.json; the mocks carry no server instructions. Run on 2 November 2026 with Claude Code 2.1.308 and model claude-sonnet-5-5, three runs per case: all thirteen passed 3 of 3.

To see what the skills add, each of the three skill cases ran in two setups with the connector's tools in place: once with the plugin as shipped, once with its skills/ folder removed (claude plugin eval <copy> --ablation none). Run on 18 October 2026 with Claude Code 2.1.292, model claude-sonnet-5-5 and claude-sonnet-5-5 as the judge (--judge-model), three runs per case each way:

  • free-time - gives Thursday's two free stretches and names the account it could not read: 3 of 3 with the skills, 2 of 3 without.
  • meetings - shows the call as a draft and asks before sending the invitation: 3 of 3 with, 0 of 3 without; without the skills Claude created the event and sent the invitation at once in every run.
  • week - lists each meeting once, day by day, with the clash, the unanswered invitation and the unread account: 3 of 3 with and without. The skill adds nothing measurable here.

Overall score 1.00 with the skills and 0.67 without. Three runs per case is a small sample, and the mocks answer the same whatever Claude changes.

Security

Report a vulnerability privately through GitHub, as SECURITY.md describes.

Support

Write to the address under Contact Us in Lumman's privacy policy: https://lumman.co/privacy.

Licence

The files in this repository are under the MIT licence in LICENSE. The Multi Calendar service they connect to is provided under Lumman's terms: https://lumman.co/terms.

Source: README.md at commit b7808ce

Tools

0
SourceWeft has not read this server's tools yet.

Version history

4
  1. v1.3.0LatestNov 3, 2026
  2. v1.2.0Oct 18, 2026
  3. v1.1.1Oct 16, 2026
  4. v1.0.0Oct 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Lumman integrations