Reclaim.ai MCP Server
Give your AI agent a calendar-aware brain.#
Reclaim.ai is excellent at auto-scheduling tasks around your calendar. But if you’re working inside Claude Code, Codex, Cursor, or any other MCP-capable client, there’s no native way for your agent to create, update, or manage Reclaim tasks without you alt-tabbing out of your workflow.
This MCP server fixes that. It exposes Reclaim’s task system as a full set of MCP tools and resources, so your AI agent can manage your task queue directly.
This is a fork of johnjhughes/reclaim-mcp-server with substantial upgrades to make it pleasant to use in real agentic workflows.
What’s different in this fork#
The upstream server worked, but had some rough edges that made agent interactions brittle. This fork addresses them:
Duration inputs in minutes, not chunks. Reclaim’s API uses 15-minute chunks internally. That’s an implementation detail your agent shouldn’t need to think about. This fork accepts durationMinutes, minDurationMinutes, and maxDurationMinutes and handles the conversion.
Exact duration support. Pass lockChunkSizeToDuration: true and Reclaim won’t split your task into smaller blocks. “60 minutes, no chunking” just works.
Timezone-safe local timestamps. If you pass a timestamp without an offset like 2026-01-05T08:00:00, the server resolves it intelligently — first checking the tool’s timeZone argument, then MCP_DEFAULT_TIMEZONE, then your Reclaim account timezone, then the server machine timezone. No more accidentally scheduling your 8am standup at 8am UTC.
Modern MCP SDK. Upgraded to current SDK patterns using registerTool and registerResource instead of deprecated methods.
Streamable HTTP transport. Run it as a local HTTP server in addition to stdio, with CORS allowlisting and session/stateless modes.
Available tools#
The server exposes 14 tools covering the full Reclaim task lifecycle:
reclaim_create_task/reclaim_update_task/reclaim_delete_taskreclaim_list_tasks/reclaim_get_taskreclaim_mark_complete/reclaim_mark_incompletereclaim_start_timer/reclaim_stop_timer/reclaim_log_work/reclaim_add_timereclaim_clear_exceptions/reclaim_prioritizereclaim_get_task_defaults
Plus two resources: tasks://active for your current task list and tasks://defaults for account-level scheduling defaults.
Setup#
You need Node.js 18+ and a Reclaim API key.
Build from source (this fork isn’t on npm — running npx reclaim-mcp-server pulls the upstream package):
pnpm install --no-frozen-lockfile
pnpm build
Claude Code#
claude mcp add reclaim \
--env RECLAIM_API_KEY=your_key \
--env MCP_TRANSPORT=stdio \
-- node /path/to/reclaim-mcp-server/dist/index.js
Claude Desktop#
Add to claude_desktop_config.json:
{
"mcpServers": {
"reclaim": {
"command": "node",
"args": ["/path/to/reclaim-mcp-server/dist/index.js"],
"env": {
"RECLAIM_API_KEY": "your_key",
"MCP_TRANSPORT": "stdio"
}
}
}
}
Codex CLI#
codex mcp add reclaim \
--env RECLAIM_API_KEY=your_key \
--env MCP_TRANSPORT=stdio \
-- node /path/to/reclaim-mcp-server/dist/index.js
For any other MCP client, point it at the stdio binary or run the HTTP transport on http://127.0.0.1:3000/mcp.
One gotcha worth knowing#
Reclaim uses status: COMPLETE to mean a scheduled time block ended — not that the user finished the work. Some models interpret “complete” literally and filter those tasks out when you ask for open items. If your agent seems to be missing tasks, tell it explicitly to include tasks with status: COMPLETE.
Open source, MIT licensed#
Forked from johnjhughes/reclaim-mcp-server. Original work by John J. Hughes III.
This project is not endorsed, sponsored, or supported by Reclaim.ai. It uses Reclaim’s public API.