@chronary/mcp

MCP serverProductivity

Give your AI a working calendar: it can view events, check when you are free, and schedule items for you. The integration connects to Google and Microsoft calendars and works with events in the standard iCal format.

Use @chronary/mcp in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add @chronary/mcp and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use @chronary/mcp to create agent

Details

Available today. Use it from your connected AI after setup.

After adding it, connect your Google or Microsoft calendar to finish setup. Then try asking your AI what you have planned or to find a time and book it.

@chronary/mcpStart free

What your AI can do with it

  • View and manage calendar events
  • Check when you are available
  • Schedule meetings and appointments
  • Connect Google and Microsoft calendars
  • Work with events in iCal format

Install @chronary/mcp

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user chronary-mcp 'https://api.chronary.ai/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://api.chronary.ai/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=chronary-mcp&config=eyJ1cmwiOiJodHRwczovL2FwaS5jaHJvbmFyeS5haS9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://api.chronary.ai/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add chronary-mcp --url 'https://api.chronary.ai/mcp'

    Run it once, then sign in with codex mcp login chronary-mcp if the server asks for an account.

From the project's README

As published by chronary/chronary-mcp in README.md.

MCP server for Chronary — calendar tools for AI assistants.

Drops 50 calendar tools (manage agents, calendars, and events, request human Google/Microsoft setup, find meeting times, run scheduling proposals, configure availability rules, manage webhooks, iCal subscriptions, scoped keys, audit log, and usage) into any MCP-compatible client: Claude Desktop, Cursor, VS Code Copilot, Claude Code, Windsurf.

One-click install via Smithery: npx -y @smithery/cli mcp add chronary/agent-calendar --client claude (swap --client for cursor, vscode, claude-code, windsurf, …).

Prerequisites

  1. A Chronary account — sign up at chronary.ai.
  2. An API key from the console (starts with chr_sk_).
  3. Node.js ≥ 18 on the machine where the MCP client runs.

Client configurations

All examples use npx -y @chronary/mcp, which downloads and runs the latest version on demand. No install step required.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

macOS / Linux:

{
  "mcpServers": {
    "chronary": {
      "command": "npx",
      "args": ["-y", "@chronary/mcp"],
      "env": {
        "CHRONARY_API_KEY": "chr_sk_..."
      }
    }
  }
}

Windows (uses cmd /c because spawn can't resolve npx.cmd directly):

{
  "mcpServers": {
    "chronary": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@chronary/mcp"],
      "env": {
        "CHRONARY_API_KEY": "chr_sk_..."
      }
    }
  }
}

Restart Claude Desktop after saving.

Cursor

Edit .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (user-level):

macOS / Linux:

{
  "mcpServers": {
    "chronary": {
      "command": "npx",
      "args": ["-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Windows:

{
  "mcpServers": {
    "chronary": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

VS Code Copilot

Edit .vscode/mcp.json (workspace) or run the MCP: Open User Configuration command for a user-level config. VS Code uses a different top-level key (servers) and requires an explicit type:

macOS / Linux:

{
  "servers": {
    "chronary": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Windows:

{
  "servers": {
    "chronary": {
      "type": "stdio",
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Claude Code

Edit .mcp.json at the project root, or ~/.claude.json for user-level:

macOS / Linux:

{
  "mcpServers": {
    "chronary": {
      "command": "npx",
      "args": ["-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Windows:

{
  "mcpServers": {
    "chronary": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json (%USERPROFILE%\.codeium\windsurf\mcp_config.json on Windows):

macOS / Linux:

{
  "mcpServers": {
    "chronary": {
      "command": "npx",
      "args": ["-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Windows:

{
  "mcpServers": {
    "chronary": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@chronary/mcp"],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Windsurf limit: Cascade enforces a hard cap of 100 total tools across all MCP servers and 20 tool calls per prompt. Chronary exposes 50; consider --tools filtering if you stack multiple servers.

Reducing context with --tools

Exposing all 50 tools uses LLM tokens on every request. For focused workflows, whitelist only what you need:

{
  "mcpServers": {
    "chronary": {
      "command": "npx",
      "args": [
        "-y", "@chronary/mcp",
        "--tools", "list_events,find_meeting_time,create_event"
      ],
      "env": { "CHRONARY_API_KEY": "chr_sk_..." }
    }
  }
}

Pointing at a non-production API

For self-hosted Chronary instances or development against a local API:

{
  "args": ["-y", "@chronary/mcp", "--base-url", "http://localhost:8787"]
}

Tools exposed

ToolRead-onlyDestructive
list_calendars, get_calendar✓
create_calendar, update_calendar
delete_calendar✓
list_events, get_event✓
create_event, update_event, confirm_event
cancel_event, release_event✓
list_agents, get_agent✓
create_agent, update_agent
delete_agent✓
get_availability, find_meeting_time✓
get_calendar_context✓
list_proposals, get_proposal✓
create_proposal, respond_to_proposal, resolve_proposal
cancel_proposal✓
get_availability_rules✓
set_availability_rules
clear_availability_rules✓
list_webhooks, get_webhook, list_webhook_deliveries✓
create_webhook, update_webhook
delete_webhook✓
list_ical_subscriptions, get_ical_subscription✓
subscribe_ical, update_ical_subscription, sync_ical_subscription
delete_ical_subscription✓
list_scoped_keys✓
create_scoped_key
revoke_scoped_key✓
get_audit_log✓
accept_terms
get_usage✓

Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are surfaced to MCP clients so hosts can decide whether to require user confirmation.

Troubleshooting

"spawn npx ENOENT" on Windows — use the cmd /c npx ... form shown above.

"CHRONARY_API_KEY is required" — the env block must be nested under the server entry, not at the top of the config file.

Tools aren't showing up — restart the MCP client after editing the config. Most clients only read the config on startup.

Verify the binary runs locally:

CHRONARY_API_KEY=test npx -y @chronary/mcp --help

Links

License

Apache-2.0

Tools it offers (54)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • create_agent
  • list_agents
  • create_calendar
  • create_event
  • list_events
  • get_event
  • update_event
  • get_availability
  • find_meeting_time
  • cancel_event
  • confirm_event
  • release_event
  • subscribe_ical
  • list_ical_subscriptions
  • get_ical_subscription
  • update_ical_subscription
  • delete_ical_subscription
  • sync_ical_subscription
  • get_calendar_context
  • create_proposal
  • list_proposals
  • get_proposal
  • respond_to_proposal
  • resolve_proposal
  • cancel_proposal
  • set_availability_rules
  • get_availability_rules
  • clear_availability_rules
  • create_scoped_key
  • list_scoped_keys

Signals

Last commit
Jul 2026
Weekly_downloads
65 weekly_downloads
Advanced
Delivery
Chronary MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
ai-chronary-mcp
Source
github.com/chronary/chronary-mcp
Hosted endpoint
https://api.chronary.ai/mcp