Back to MCP directory
publicPublicdnsLocal runtime

rtm-mcp

一个用于Remember The Milk任务管理的生产级MCP服务器,通过自然语言对话让Claude管理任务,支持完整的RTM API操作、智能添加语法和撤销功能。

article

README

🚀 RTM MCP 服务器

RTM MCP 服务器是一个具备生产质量的 模型上下文协议(MCP)服务器,专为 Remember The Milk 任务管理系统打造。它能让 Claude 通过自然语言对话来管理你的任务,极大提升任务管理的便捷性和效率。

🚀 快速开始

在使用 RTM MCP 服务器之前,你需要完成安装、设置和配置等步骤。完成这些步骤后,你就可以让 Claude 帮你管理任务啦。

✨ 主要特性

  • 全面覆盖 RTM API:提供 30 多种工具,涵盖任务、列表、标签、笔记等多个方面。
  • 智能添加语法:支持使用自然语言创建任务,例如 "Call mom ^tomorrow !1 #family"
  • 支持撤销操作:所有写操作都会返回事务 ID,方便你撤销之前的操作。
  • 异步高性能:基于 httpx 构建,采用连接池技术,提升性能。
  • 类型安全:使用完整的 Pydantic 模型和类型提示,确保代码的安全性和可维护性。

📦 安装指南

使用 uvx(推荐)

uvx rtm-mcp

使用 pip

pip install rtm-mcp

从源代码安装

git clone https://github.com/ljadach/rtm-mcp.git
cd rtm-mcp
uv sync

📚 详细文档

设置步骤

1. 获取 RTM API 凭证

RTM API 密钥需要通过单独的开发者门户获取(不是在你的账户设置中):

  1. 访问 RTM API 密钥注册页面,你可能需要先登录。
  2. 点击 "申请 API 密钥"
  3. 填写表单,应用名称(例如 "Claude MCP")、描述等信息可随意填写。
  4. 提交表单后,你会看到 API 密钥共享密钥,请妥善保存。

2. 运行设置命令

rtm-setup

此命令会:

  • 提示你输入 API 凭证。
  • 打开浏览器进行授权。
  • 将授权令牌保存到 ~/.config/rtm-mcp/config.json 文件中。

3. 配置 Claude 桌面应用

~/.config/claude/claude_desktop_config.json 文件中添加以下内容:

{
  "mcpServers": {
    "rtm": {
      "command": "uvx",
      "args": ["rtm-mcp"]
    }
  }
}

使用方法

配置完成后,你可以向 Claude 发出以下指令来管理任务:

  • "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"(为项目任务添加一条笔记)

智能添加语法

在添加任务时,可以使用 RTM 的智能添加语法: | 符号 | 含义 | 示例 | | ---- | ---- | ---- | | ^ | 截止日期 | ^tomorrow(明天), ^next friday(下周五) | | ! | 优先级 | !1(高), !2(中), !3(低) | | # | 标签 | #work(工作), #urgent(紧急) | | @ | 位置 | @home(家), @office(办公室) | | = | 预估时间 | =30min(30 分钟), =2h(2 小时) | | * | 重复周期 | *daily(每天), *every monday(每周一) |

示例:"Review report ^friday !1 #work =1h *weekly"(周五审查报告,高优先级,工作标签,预计 1 小时,每周重复)

可用工具

任务管理

  • list_tasks - 按条件列出任务
  • add_task - 创建新任务
  • complete_task / uncomplete_task - 标记任务为已完成或重新打开
  • delete_task - 删除任务
  • postpone_task - 将截止日期推迟一天
  • move_task - 将任务移动到不同的列表
  • set_task_name - 重命名任务
  • set_task_due_date - 修改截止日期
  • set_task_priority - 设置优先级
  • set_task_recurrence - 设置重复模式
  • set_task_start_date - 设置开始日期
  • set_task_estimate - 设置预估时间
  • set_task_url - 附加 URL
  • add_task_tags / remove_task_tags - 管理任务标签

笔记管理

  • add_note - 为任务添加笔记
  • edit_note - 编辑现有笔记
  • delete_note - 删除笔记
  • get_task_notes - 查看所有笔记

列表管理

  • get_lists - 列出所有列表
  • add_list - 创建新列表
  • rename_list - 重命名列表
  • delete_list - 删除列表
  • archive_list / unarchive_list - 归档管理
  • set_default_list - 设置默认列表

实用工具

  • test_connection - 测试 API 连接性
  • check_auth - 验证身份验证
  • get_tags - 列出所有标签
  • get_locations - 列出保存的位置
  • get_settings - 查看用户设置
  • get_contacts / get_groups - 联系人管理
  • parse_time - 解析自然语言时间
  • undo - 撤销上一步操作

配置说明

环境变量

RTM_API_KEY=your_api_key
RTM_SHARED_SECRET=your_shared_secret
RTM_AUTH_TOKEN=your_token

配置文件

~/.config/rtm-mcp/config.json 文件内容如下:

{
  "api_key": "your_api_key",
  "shared_secret": "your_shared_secret",
  "token": "your_token"
}

开发相关

# 安装开发依赖
make dev

# 运行代码检查
make lint

# 运行测试
make test

# 运行测试并生成覆盖率报告
make test/coverage

# 格式化代码
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 桌面应用的 Docker 配置如下:

{
  "mcpServers": {
    "rtm": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
        "-e", "RTM_API_KEY",
        "-e", "RTM_SHARED_SECRET",
        "-e", "RTM_AUTH_TOKEN",
        "rtm-mcp"]
    }
  }
}

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

🙏 致谢

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client