Model Context Protocol

Use Kalendia from your AI agent

Install the Kalendia MCP server and your agent can manage your calendar sync, agenda, and scheduling pages directly. Works with Claude Code, Cursor, Claude Desktop, VS Code, and any MCP client.

Setting this up with an AI agent?

Point it at this page. It can fetch the machine-readable instructions at /install.md and register the server for you. The only thing you do by hand is paste a token (step 2).

1. Make sure uv is installed

The server runs with uvx (from uv), so there is no separate install. Check with uv --version. If it is missing:

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Create a Kalendia token

Open Settings to API tokens, create a token, and copy the kld_ value (shown once). No account yet? Sign up free.

3. Register the server

Claude Code, one command (replace the token):

claude mcp add kalendia \
  -e KALENDIA_TOKEN=PASTE_YOUR_TOKEN \
  -e KALENDIA_API_URL=https://api.kalendia.io \
  -- uvx --from git+https://github.com/bradbogdan/kalendia-mcp.git kalendia-mcp

Any other MCP client (Cursor, Claude Desktop, VS Code, Windsurf), add to its mcpServers config:

{
  "mcpServers": {
    "kalendia": {
      "command": "uvx",
      "args": ["--from","git+https://github.com/bradbogdan/kalendia-mcp.git","kalendia-mcp"],
      "env": {
        "KALENDIA_TOKEN": "PASTE_YOUR_TOKEN",
        "KALENDIA_API_URL": "https://api.kalendia.io"
      }
    }
  }
}

4. Verify

Restart the client, then ask it to run list_connections. Your connected calendar accounts confirm the token works.

What your agent can do

Read
list_connections, list_calendars, list_all_calendars, list_sync_rules, get_agenda, list_scheduling_pages, get_scheduling_page, get_availability, get_billing, get_billing_overview, get_audit_log
Sync rules
create_sync_rule, run_sync_rule, delete_sync_rule
Connections and calendars
connect_icloud, connect_ics, refresh_calendars, discover_calendars, set_active_calendars, rename_calendar, disconnect_connection
Scheduling pages
create_scheduling_page, update_scheduling_page, delete_scheduling_page

A token grants full account access (no scopes yet), so treat it like a password and revoke any you no longer use at Settings to API tokens.