npm @chronary/mcpstreamable-httpApache-2.0updated 1mo ago
MCP server for Chronary — calendar tools for AI assistants.
What can you do with Chronary?
@chronary/mcp
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
- A Chronary account — sign up at chronary.ai.
- An API key from the console (starts with
chr_sk_). - 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
--toolsfiltering 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
| Tool | Read-only | Destructive |
|---|---|---|
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
Install
Add Chronary to your client. Pick the one you use.
{
"servers": {
"mcp": {
"type": "http",
"url": "https://api.chronary.ai/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add mcp -- npx -y @chronary/mcpcodex mcp add mcp -- npx -y @chronary/mcpamp mcp add mcp -- npx -y @chronary/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@chronary/mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@chronary/mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@chronary/mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@chronary/mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@chronary/mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@chronary/mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@chronary/mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @chronary/mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
15 tools
Chronary exposes 15 tools to a connected agent.
- delete_calendar
- —
- delete_agent
- —
- get_calendar_context
- ✓
- cancel_proposal
- —
- get_availability_rules
- ✓
- set_availability_rules
- —
- clear_availability_rules
- —
- delete_webhook
- —
- delete_ical_subscription
- —
- list_scoped_keys
- ✓
- create_scoped_key
- —
- revoke_scoped_key
- —
- get_audit_log
- ✓
- accept_terms
- —
- get_usage
- ✓
Score
86 / 100
Excellent
- Documentation25/25
- Maintenance22/25
- Trust16/20
- Capability8/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 48 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 15 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.5.2Latest | Jul 14, 2026 |
| 1.5.1 | Jul 14, 2026 |
| 1.5.0 | Jul 14, 2026 |
| 1.4.1 | Jul 13, 2026 |
| 1.3.2 | Jul 12, 2026 |
| 1.3.1 | Jul 11, 2026 |
| 1.2.7 | Jul 8, 2026 |
| 1.2.6 | Jul 7, 2026 |
| 1.2.4 | Jul 7, 2026 |
| 1.2.3 | Jun 30, 2026 |
| 1.2.2 | Jun 30, 2026 |