list_calendars
List the calendars this account can see, with which is the default.
Takes no parameters.

io.github.robertdoneillPublished by GitHub account robertdoneillv0.2.0Updated Nov 1, 2026
Read calendars and create, change or (opt-in) delete events on any JMAP server, such as Stalwart.
Local MCP server that lets an assistant list calendars and find, create or update events on any JMAP calendar server, with delete opt-in.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
An MCP server that lets an AI agent see your calendars, find events, and create, change or (if you allow it) delete events on any JMAP server that supports JMAP for Calendars, such as Stalwart 1.0 and later.
One Python file, standard library only.
Built to be safe to hand to an agent:
JMAP_ALLOW_DELETE=1 to offer delete_calendar_event; it sends no cancellations.JMAP_ALLOW_INVITES=1 on the server and send_invitations: true on the call.Create an API key for the account. On Stalwart, open the account in the admin (Directory → Accounts), set the key's permissions to Replace all permissions, and give it only these:
JMAP_ALLOW_DELETE=1)The key then cannot read or send mail.
Add the server to your MCP client. For Claude Code:
For several accounts, add one server per account (calendar-work, calendar-home).
Keep the key out of shell history and config files where you can: load it from your password manager or secret store when the server starts.
MIT
Source: README.md at commit 60c20f0
List the calendars this account can see, with which is the default.
Takes no parameters.
Find events between two times (default: the next 30 days), optionally matching text. Recurring events are expanded into their occurrences.
textafterlimitbeforecalendarCreate an event. Confirm title, time and time zone with the user first. Attendees are added without being emailed unless send_invitations is true.
daysstartrequiredtitlerequiredall_daycalendarlocationattendeestime_zonedescriptionduration_minutessend_invitationsChange an existing event: give event_id and only the fields to change.
daysstarttitleall_daycalendarevent_idrequiredlocationattendeestime_zonedescriptionduration_minutessend_invitations90% 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.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
claude mcp add calendar \ -e JMAP_SESSION_URL=https://mail.example.com/.well-known/jmap \ -e JMAP_BEARER_TOKEN=your-api-key \ -- uvx jmap-calendar-mcp