Punctual MCP

A self-hosted scheduler on Cloudflare Workers with a built-in MCP server: an agent lists slots, creates and reschedules bookings

  • 127 ★ on the repository
  • Last commit
MCP server

Extended access

Why this level

  • An agent with a write key creates, reschedules and cancels meetings and guests receive emails.
  • The agent's authority equals the API key's: a read-only key limits it to viewing slots.
All reasons and checks

cccrafts/punctual

Install

Manual install

npx punctual-sh init

The first quick-start command in the README: clones the repository, creates the Cloudflare resources and deploys the Worker.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • An agent with a write key creates, reschedules and cancels meetings and guests receive emails.
  • The agent's authority equals the API key's: a read-only key limits it to viewing slots.

This is third-party code. Review the repository files before installing.

What it does

Punctual is an open Calendly alternative that runs entirely on Cloudflare Workers and deploys with one command into your own Cloudflare account. Booking pages, Google Calendar and Microsoft 365 sync, round-robin teams, .ics invitation emails, a REST API and webhooks are included. The built-in MCP server answers at `/mcp` over Streamable HTTP. The agent gets five tools: `list_event_types`, `get_available_slots`, `create_booking`, `reschedule_booking` and `cancel_booking`. The agent's authority equals that of the API key it authenticates with: two scopes, read and write. The agent must take a slot start exactly from the free list, and the server rejects arbitrary times.

Who it is for. Small teams that run meeting booking on their own infrastructure and want to give an agent access to the calendar.

Good fit when

  • A client asks the agent to find a free window and book a consultation.
  • A meeting has to be rescheduled or cancelled through the agent and guests must get the emails automatically.
  • A Calendly replacement with no seat limits is needed on your own Cloudflare account.
  • A Google or Microsoft 365 calendar should show bookings together with guest company names.

Not a fit when

  • There is no Cloudflare account or a ready-made hosted service is wanted: the managed version is sold separately.
  • The agent cannot be trusted to book and cancel meetings: a read-only key exists for that case.
  • A stable release is required: the project is at v0.1 and interfaces still change.

Example request

Show free slots this week for the 30-minute consultation event type and book Anna into the nearest one.

MCP

Transport
http
Authentication
API key

Limitations

The service runs only in your own Cloudflare account: D1, KV, R2, Queues and secrets must be created, and `npx punctual-sh init` does this itself. The project is at v0.1 and interfaces may change before 1.0. Syncing Google and Microsoft 365 calendars needs an OAuth app you register yourself. The MCP server is sessionless and has no SSE stream: GET and DELETE return 405. The last commit in the repository is dated October 2026.

How to disable. Revoke the API key you gave the agent and remove the `/mcp` address from client settings. The service itself goes away by deleting the Worker and the D1, KV and R2 resources in Cloudflare.

FAQ

How do I install Punctual?

You need Node 20 or newer and a Cloudflare account. `npx punctual-sh init` clones the repository, creates the D1, KV, R2 and Queues resources, generates secrets, runs migrations and deploys.

Which MCP tools does the agent get?

Five: `list_event_types`, `get_available_slots`, `create_booking`, `reschedule_booking` and `cancel_booking`. The first two read, the rest change data and need write scope.

What limits the agent's actions?

The API key's scopes. MCP uses the same check as the REST API, so the agent cannot do to a calendar what the key owner cannot.

Can the agent book an arbitrary time?

No. The `start` parameter must be copied from the slot list returned by `get_available_slots`. Any other time is refused even if it looks free.

Are there seat limits?

No. The authors commit under the MIT license that the open version for a single team gets no seat limits and no gated scheduling features.

Discussion

No questions or reviews yet.

Official

A self-hosted scheduler with a built-in MCP server: an agent checks slots, books, reschedules and cancels calls.

MCP serverBroad access134Repository stars

A calendar MCP for Claude Desktop: the agent views, creates, updates and deletes Google Calendar events, recurring ones included

MCP serverBroad access59Repository stars
Official

Serverless notes on Cloudflare Workers with an MCP endpoint and a skill so agents can search and write your notes

MCP serverBroad access346Repository stars

MCP server for the macOS calendar: an agent creates, finds and edits events in natural language

MCP serverExtended access333Repository stars

Planfix MCP

planfix-mcp

Russian stack

Planfix MCP server: tasks, projects, contacts, comments and employees through the REST API

MCP serverBroad access5Repository stars
Official

Official Astravue plugin and MCP server: 87 tools for tasks, projects, time tracking and 8 ready planning skills.

PluginBroad access12Repository stars

README in short

The README covers one-command deployment to Cloudflare, scheduler features, double-booking protection and UTC time handling. MCP gets one line there, and the details live in the server code under `src/http/mcp`.

README badge

Report a problem

Foxx AIPunctual
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.