RTM MCP Server
An MCP server that enables Claude to manage Remember The Milk tasks, lists, and notes using natural language and Smart Add syntax. It provides full API coverage for task manipulation, including priority settings, tags, and undo support.
README
RTM MCP Server
A production-quality Model Context Protocol (MCP) server for Remember The Milk task management.
Enables Claude to manage your tasks through natural language conversation.
Features
- Full RTM API Coverage: 30+ tools covering tasks, lists, tags, notes, and more
- Smart Add Syntax: Natural language task creation (
"Call mom ^tomorrow !1 #family") - Undo Support: All write operations return transaction IDs for undo
- Async Performance: Built on httpx with connection pooling
- Type Safety: Full Pydantic models and type hints
Installation
Using uvx (Recommended)
uvx rtm-mcp
Using pip
pip install rtm-mcp
From Source
git clone https://github.com/ljadach/rtm-mcp.git
cd rtm-mcp
uv sync
Setup
1. Get RTM API Credentials
- Go to RTM API Keys
- Create a new API key
- Note your API Key and Shared Secret
2. Run Setup
rtm-setup
This will:
- Prompt for your API credentials
- Open your browser for authorization
- Save the auth token to
~/.config/rtm-mcp/config.json
3. Configure Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"rtm": {
"command": "uvx",
"args": ["rtm-mcp"]
}
}
}
Usage
Once configured, you can ask Claude to manage your tasks:
- "Show my tasks due today"
- "Add a task to buy groceries tomorrow, high priority"
- "Complete the grocery task"
- "What high priority tasks do I have?"
- "Move the meeting prep task to my Work list"
- "Add a note to the project task"
Smart Add Syntax
When adding tasks, use RTM's Smart Add syntax:
| Symbol | Meaning | Example |
|---|---|---|
^ |
Due date | ^tomorrow, ^next friday |
! |
Priority | !1 (high), !2 (medium), !3 (low) |
# |
Tag | #work, #urgent |
@ |
Location | @home, @office |
= |
Estimate | =30min, =2h |
* |
Repeat | *daily, *every monday |
Example: "Review report ^friday !1 #work =1h *weekly"
Available Tools
Tasks
list_tasks- List tasks with filtersadd_task- Create a new taskcomplete_task/uncomplete_task- Mark done or reopendelete_task- Remove a taskpostpone_task- Move due date by one daymove_task- Move to different listset_task_name- Rename taskset_task_due_date- Change due dateset_task_priority- Set priority levelset_task_recurrence- Set repeat patternset_task_start_date- Set start dateset_task_estimate- Set time estimateset_task_url- Attach URLadd_task_tags/remove_task_tags- Manage tags
Notes
add_note- Add note to taskedit_note- Edit existing notedelete_note- Remove noteget_task_notes- View all notes
Lists
get_lists- List all listsadd_list- Create new listrename_list- Rename listdelete_list- Delete listarchive_list/unarchive_list- Archive managementset_default_list- Set default list
Utilities
test_connection- Test API connectivitycheck_auth- Verify authenticationget_tags- List all tagsget_locations- List saved locationsget_settings- View user settingsget_contacts/get_groups- Contact managementparse_time- Parse natural language timeundo- Undo previous operation
Configuration
Environment Variables
RTM_API_KEY=your_api_key
RTM_SHARED_SECRET=your_shared_secret
RTM_AUTH_TOKEN=your_token
Config File
~/.config/rtm-mcp/config.json:
{
"api_key": "your_api_key",
"shared_secret": "your_shared_secret",
"token": "your_token"
}
Development
# Install dev dependencies
make dev
# Run linting
make lint
# Run tests
make test
# Run with coverage
make test/coverage
# Format code
make format
Docker
docker build -t rtm-mcp .
docker run -it --rm \
-e RTM_API_KEY \
-e RTM_SHARED_SECRET \
-e RTM_AUTH_TOKEN \
rtm-mcp
Claude Desktop config for Docker:
{
"mcpServers": {
"rtm": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-e", "RTM_API_KEY",
"-e", "RTM_SHARED_SECRET",
"-e", "RTM_AUTH_TOKEN",
"rtm-mcp"]
}
}
}
License
MIT License - see LICENSE for details.
Acknowledgments
- Remember The Milk for the excellent task management service
- FastMCP for the MCP framework
- Anthropic for Claude and the MCP specification
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.