Skip to main content
Glama
universalamateur

reclaim-mcp-server

README.md
# Reclaim.ai MCP Server _(UNOFFICIAL)_

<!-- mcp-name: io.github.universalamateur/reclaim-mcp-server -->

[![PyPI](https://img.shields.io/pypi/v/reclaim-mcp-server)](https://pypi.org/project/reclaim-mcp-server/) [![Downloads](https://img.shields.io/pypi/dm/reclaim-mcp-server)](https://pypi.org/project/reclaim-mcp-server/) [![Python](https://img.shields.io/pypi/pyversions/reclaim-mcp-server)](https://pypi.org/project/reclaim-mcp-server/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> **UNOFFICIAL** – Not affiliated with Reclaim.ai. Uses their public API , use at your own risk.

Control your [Reclaim.ai](https://reclaim.ai) calendar, tasks, and habits from AI assistants via [MCP](https://modelcontextprotocol.io).

## What You Can Do

```text
"Create a 2-hour task to review the Q1 budget, due Friday"
"What's on my calendar tomorrow?"
"Mark my morning workout habit as done"
"Show me my productivity stats for last week"
"Start a focus block for the next 90 minutes"
```

**40 tools** across tasks, calendar, habits, focus time, and analytics. See [docs/TOOLS.md](docs/TOOLS.md) for complete reference.

## Quick Start

### 1. Get your API key: <https://app.reclaim.ai/settings/developer>

### 2. Install

```bash
pip install reclaim-mcp-server
```

### 3. Configure Claude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json`)

```json
   {
     "mcpServers": {
       "reclaim": {
         "command": "uvx",
         "args": ["reclaim-mcp-server"],
         "env": { "RECLAIM_API_KEY": "your_key_here" }
       }
     }
   }
```

### 4. Restart Claude Desktop

## Installation Options

| Method | Command |
|--------|---------|
| **uvx** (recommended) | `uvx reclaim-mcp-server` |
| **pip** | `pip install reclaim-mcp-server` |
| **Smithery** | `npx -y @smithery/cli install universalamateur/reclaim-mcp-server --client claude` |
| **Docker** | `docker pull universalamateur/reclaim-mcp-server` |
| **Source** | `git clone https://gitlab.com/universalamateur1/reclaim-mcp-server.git && cd reclaim-mcp-server && poetry install` |

**Registries:** [PyPI](https://pypi.org/project/reclaim-mcp-server/) · [Smithery](https://smithery.ai/server/universalamateur/reclaim-mcp-server) · [Glama](https://glama.ai/mcp/servers/@universalamateur/reclaim-mcp-server) · [GitHub](https://github.com/universalamateur/reclaim-mcp-server) · [GitLab](https://gitlab.com/universalamateur1/reclaim-mcp-server)

## Tool Profiles

Limit exposed tools via `RECLAIM_TOOL_PROFILE`:

| Profile | Tools | Use Case |
|---------|-------|----------|
| `minimal` | 20 | Basic task/habit management |
| `standard` | 32 | Daily productivity |
| `full` | 40 | All features (default) |

```json
{
  "mcpServers": {
    "reclaim": {
      "command": "uvx",
      "args": ["reclaim-mcp-server"],
      "env": {
        "RECLAIM_API_KEY": "your_key_here",
        "RECLAIM_TOOL_PROFILE": "standard"
      }
    }
  }
}
```

## Other Configurations

<details>
<summary>Docker</summary>

```json
{
  "mcpServers": {
    "reclaim": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "RECLAIM_API_KEY", "universalamateur/reclaim-mcp-server"],
      "env": { "RECLAIM_API_KEY": "your_key_here" }
    }
  }
}
```

</details>

<details>
<summary>Poetry (from source)</summary>

```json
{
  "mcpServers": {
    "reclaim": {
      "command": "/opt/homebrew/bin/poetry",
      "args": ["--directory", "/path/to/reclaim-mcp-server", "run", "reclaim-mcp-server"],
      "env": { "RECLAIM_API_KEY": "your_key_here" }
    }
  }
}
```

**Note**: Use `--directory` flag instead of `cwd` – Claude Desktop doesn't respect `cwd`.

</details>

<details>
<summary>Other MCP clients (Cursor, Continue, Zed, etc.)</summary>

Works with any MCP-compatible client. Generic stdio config:

```json
{
  "command": "uvx",
  "args": ["reclaim-mcp-server"],
  "env": { "RECLAIM_API_KEY": "your_key_here" }
}
```

</details>

## Troubleshooting

| Issue | Solution |
|-------|----------|
| "Invalid API key" | Verify key at <https://app.reclaim.ai/settings/developer> |
| Rate limited (429) | Server handles retries automatically; reduce request frequency |
| Tools not showing | Restart Claude Desktop after config change |
| Docker ARM64 warning | Use v0.8.1+ for native Apple Silicon support |

## Development

```bash
poetry install
poetry run pytest                    # Run tests
poetry run black src tests           # Format
poetry run mypy src                  # Type check
poetry run fastmcp dev src/reclaim_mcp/server.py  # Dev mode
```

## Links

- [Changelog](CHANGELOG.md)
- [Tool Reference](docs/TOOLS.md)
- [Contributing](CONTRIBUTING.md)
- [Report Issue](https://gitlab.com/universalamateur1/reclaim-mcp-server/-/issues/new)

## License

[MIT](LICENSE) – Falko Sieverding ([@UniversalAmateur](https://gitlab.com/UniversalAmateur))

---

<sub>Built with [FastMCP](https://gofastmcp.com) · Not affiliated with [Reclaim.ai](https://reclaim.ai)</sub>

TDQS

A3.5/5.0

Scored across 32 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific resources (tasks, habits, events, focus blocks) with clear action verbs, but some overlap exists between list_events and list_personal_events (both list events) and between mark_habit_done/skip_habit (both modify habit instances). Descriptions help clarify differences, but an agent might occasionally confuse these pairs.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case exclusively (e.g., create_task, list_habits, update_focus_settings). The pattern is predictable with verbs like create, get, list, update, delete, mark, start, stop, lock, unlock, reschedule, prioritize, restart, skip, enable, disable, and verify, making the set easy to navigate.

Tool Count3/5

With 32 tools, the count feels heavy for a task/habit/calendar management server, bordering on excessive. While the domain is broad (covering tasks, habits, events, focus time, analytics, and settings), some tools could potentially be consolidated (e.g., mark_habit_done and skip_habit), making the surface more complex than necessary for typical agent workflows.

Completeness5/5

The tool set provides comprehensive CRUD/lifecycle coverage for all core domains: tasks (create, get, list, update, delete, complete, restart, prioritize, start, stop, add_time), habits (create, get, list, update, delete, enable, disable, mark_done, skip), events (list, get), focus blocks (lock, unlock, reschedule, update_settings), and analytics (user, focus). No obvious gaps exist, enabling full agent interaction with Reclaim.ai's features.

Maintenance

ActivityInactive
ResponsivenessUnresponsive