任务管理协议服务器

一个模型上下文协议(MCP)服务器,允许客户端通过自然语言与Todoist交互,实现任务创建、检索和管理功能。

  • by Johnxjp
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Johnxjp/todoist-mcp-python

使用说明

Todoist MCP服务器

一个模型上下文协议(MCP)服务器,允许像Claude这样的客户端与Todoist交互,通过自然语言实现任务管理功能。服务器充当客户端和Todoist API之间的中介,处理身份验证、数据转换和命令处理。这是Python版本

特性

  • 任务创建:创建具有必需内容和可选属性的新任务
  • 任务检索:按ID获取任务或列出具有筛选选项的任务
  • 任务管理:更新任务属性,将任务标记为已完成,删除任务

先决条件

  • Python 3.12
  • 紫外线
  • Todoist帐户和API令牌

如何获取Todoist API代币

  1. 登录您的Todoist帐户
  2. 转到用户设置->集成->开发人员
  3. 复制API令牌

使用Claude Desktop

通过UVX运行(无克隆)

您可以使用UVX直接从GitHub运行服务器:

uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist

然后将此配置添加到您的Claude设置中:

{
  "mcpServers": {
    "todoist-server": {
      "command": "uvx",
      "args": [
        "--from", 
        "https://github.com/Johnxjp/todoist-mcp-python.git", 
        "mcp-server-todoist"
      ],
      "env": {
        "TODOIST_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

从克隆的存储库运行

如果您更喜欢克隆存储库,请使用以下命令:

git clone git@github.com:Johnxjp/todoist-mcp-python.git

然后添加到您的Claude配置文件中:

{
  "mcpServers": {
    "todoist-server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "todoist_api_python",
        "mcp",
        "run",
        "/full/path/to/todoist_server.py"
      ],
      "env": {
        "TODOIST_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

可用工具

服务器为Claude提供了以下工具:

  1. 创建任务:在Todoist中创建新任务

    • 必填:内容(任务标题)
    • 可选:
      • 描述,
      • due_date,
      • 优先,
      • project_id,
      • section_id,
      • 标签
  2. get_tasks:使用各种过滤器从Todoist获取任务和ID列表

    • 可选:
      • project_id,
      • 项目名称,
      • 任务名称,
      • 优先,
      • 标签,
      • 这是过度的,
      • 限制
  3. update_task:通过按名称搜索现有任务来更新它

    • 必填项:task_id
    • 可选:
      • 内容,
      • 描述,
      • 标签,
      • 优先,
      • due_date(YYYY-MM-DD),
      • 截止日期(YYYY-MM-DD)
  4. 删除任务:通过按名称搜索任务来删除任务

    • 必填项:task_id
  5. 完成任务:按名称搜索任务,将其标记为已完成

    • 必填项:task_id

交互示例

以下是Claude如何通过此MCP服务器与Todoist交互的一些示例:

  • “添加购买杂货的任务”
  • “显示我所有的紧急任务”
  • “今天有什么任务要交?”
  • “将洗衣任务标记为已完成”
  • “将牙医预约的优先级更改为紧急”

安全考虑

  • 服务器通过环境变量安全地处理Todoist API令牌
  • 永远不要分享你的 .env 文件或公开您的API令牌
  • 服务器在本地运行,仅与Todoist API通信

许可证

MIT许可证

致谢