Todoist任务管理API

一个与Todoist API兼容的MCP服务器实现,提供任务和项目管理功能,适用于AI助手集成。

  • by kentaroh7777
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 kentaroh7777/mcp-todoist

使用说明

MCP待办事项

Todoist API兼容MCP服务器实施

技术栈

  • MCP服务器:Node.js+TypeScript
  • 协议:MCP(模型上下文协议)stdio传输
  • 外部API:Todoist REST API
  • 言语:TypeScript
  • 运行时间:tsx

体系结构

├── フロントエンド (Next.js 14)
│   ├── React Server Components
│   ├── Client Components
│   └── API Routes
├── MCP Server Layer
│   ├── Protocol Handler
│   ├── Todoist API Adapter
│   └── Tool Registry
├── バックエンド (Convex)
│   ├── Database Functions
│   ├── Mutations
│   ├── Queries
│   └── Actions
└── 外部API
    └── Todoist API

主要机能

已实施

  • [x] MCP协议处理程序(stdio传输)
  • [x] Todoist API客户机
  • [x] MCP工具实施
    • [x] todoist_get_tasks -任务列表检索
    • [x] todoist_create_task -创建任务
    • [x] todoist_update_task -任务更新
    • [x] todoist_close_task -任务完成
    • [x] todoist_get_projects -项目列表检索
    • [x] todoist_create_project -项目创建
    • [x] todoist_update_project -项目更新
    • [x] todoist_delete_project -删除项目
  • [x] 刀具可见性控制系统

工具可见性设置

根据安全性和用途,可以设置每个工具的公开和非公开。

当前设置:

  • 公共工具: todoist_get_tasks, todoist_create_task, todoist_update_task, todoist_close_task, todoist_get_projects, todoist_move_task
  • 私有工具: todoist_create_project, todoist_update_project, todoist_delete_project

📖 详细:有关工具可见性设置的详细信息 工具_可行性.md 来修改标记元素的显示属性。

快速启动

1.安装相关性

npm install

2. MCP构建服务器

cd packages/mcp-server
npm run build
cd ../..

3. MCP测试服务器

# タスクリスト取得のテスト
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"todoist_get_tasks","arguments":{}}}' | TODOIST_API_TOKEN=your-api-token npx tsx script/run-mcp-server.ts

🚀 Cursor AI 自动安装指南

前提条件

  • Node.js 18+ 已安装
  • npm 或yarn 已安装
  • Cursor AI 已安装
  • Todoist 有账户

Step 1: 项目设置

# リポジトリをクローン(または既存プロジェクトの場合はスキップ)
git clone <repository-url>
cd mcp-todoist

# 依存関係のインストール
npm install

# MCPサーバーのビルド
cd packages/mcp-server
npm run build
cd ../..

Step 2: Todoist API 获取标记

  1. Todoist应用程序控制台 访问
  2. 「Create a new app」来修改标记元素的显示属性
  3. 输入应用程序名称(例如“MCP Todoist Integration”)
  4. 「Create app」来修改标记元素的显示属性
  5. 已显示API token复制(例如:61dae250699e84eb85b9c2ab9461c0581873566d)

Step 3: 检查项目路径

# 現在のプロジェクトの絶対パスを取得
pwd

出力例: /Users/username/projects/mcp-todoist

Step 4: Cursor AI MCP自动设置设置

方法A: 自动配置脚本执行

执行以下命令Cursor AI自动生成设置:

# 現在のディレクトリパスを取得
CURRENT_DIR=$(pwd)

# Cursor AI設定ディレクトリを作成
mkdir -p ~/.cursor

# MCP設定ファイルを自動生成
cat > ~/.cursor/mcp.json << EOF
{
  "mcpServers": {
    "mcp-todoist": {
      "command": "tsx",
      "args": ["$CURRENT_DIR/script/run-mcp-server.ts"],
      "env": {
        "TODOIST_API_TOKEN": "YOUR_TODOIST_API_TOKEN_HERE"
      }
    }
  }
}
EOF

echo "✅ MCP設定ファイルを作成しました: ~/.cursor/mcp.json"
echo "⚠️  次のステップ: YOUR_TODOIST_API_TOKEN_HERE を実際のAPIトークンに置き換えてください"

方法B: 手动设定

  1. 确认配置文件的位置:
# macOS/Linux
ls -la ~/.cursor/
# Windowsの場合: %USERPROFILE%\.cursor\
  1. 创建/编辑配置文件:
# macOS/Linux
nano ~/.cursor/mcp.json
# または
code ~/.cursor/mcp.json
  1. 复制并粘贴以下内容:
{
  "mcpServers": {
    "mcp-todoist": {
      "command": "tsx",
      "args": ["/REPLACE_WITH_YOUR_PROJECT_PATH/script/run-mcp-server.ts"],
      "env": {
        "TODOIST_API_TOKEN": "REPLACE_WITH_YOUR_API_TOKEN"
      }
    }
  }
}
  1. 替换占位符:
    • /REPLACE_WITH_YOUR_PROJECT_PATH -实际项目路径
    • REPLACE_WITH_YOUR_API_TOKEN -实际Todoist API令牌

Step 5: 验证设置

# 設定ファイルの内容を確認
cat ~/.cursor/mcp.json

# MCPサーバーが正常に動作するかテスト
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | TODOIST_API_TOKEN=your-actual-token tsx script/run-mcp-server.ts

正常输出示例:

{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true},"resources":{"subscribe":true,"listChanged":true},"prompts":{"listChanged":true}},"serverInfo":{"name":"mcp-todoist","version":"1.0.0"}}}

Step 6: Cursor AI 确认

  1. Cursor AI 完全重新启动

  2. 设定确认:

    • ⌘+, (Mac) 或 Ctrl+, (Windows) 在中打开设置
    • "MCP" 查找
    • mcp-todoist 确认服务器已显示且绿色指示灯亮起
  3. 动作测试:

    • ⌘+L 打开聊天
    • 「Todoist从中获取任务列表“
    • MCP确保工具自动运行并显示任务列表

🔧 AI 助手自动设置步骤

AI我的助手README要阅读并执行自动设置,请执行以下操作:

  1. 环境确认:
node --version  # 18+ であることを確認
npm --version   # インストールされていることを確認
  1. 项目准备:
# プロジェクトディレクトリに移動していることを確認
pwd
# 依存関係インストール
npm install
# MCPサーバービルド
cd packages/mcp-server && npm run build && cd ../..
  1. 路径检索:
CURRENT_DIR=$(pwd)
echo "プロジェクトパス: $CURRENT_DIR"
  1. Cursor AI设定作成:
mkdir -p ~/.cursor
cat > ~/.cursor/mcp.json << EOF
{
  "mcpServers": {
    "mcp-todoist": {
      "command": "tsx",
      "args": ["$CURRENT_DIR/script/run-mcp-server.ts"],
      "env": {
        "TODOIST_API_TOKEN": "PLACEHOLDER_FOR_USER_TOKEN"
      }
    }
  }
}
EOF
  1. 指示用户:
✅ MCP設定ファイルを作成しました!
📝 次の手順を完了してください:

1. Todoist API トークンを取得: https://todoist.com/app_console
2. 以下のコマンドで設定ファイルを編集:
   
   nano ~/.cursor/mcp.json
   
3. "PLACEHOLDER_FOR_USER_TOKEN" を実際のAPIトークンに置き換え
4. Cursor AI を再起動
5. チャットで「Todoistからタスクリストを取得して」とテスト
  1. 设定検证:
echo "設定ファイルの内容:"
cat ~/.cursor/mcp.json
echo ""
echo "APIトークンを設定後、以下でテスト:"
echo 'echo \'{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"todoist_get_tasks","arguments":{}}}\' | TODOIST_API_TOKEN=your-token tsx script/run-mcp-server.ts'

可用的MCP工具

工具名称|说明|参数| |---------|------|-----------| | todoist_get_tasks 获取任务列表 project_id, filter, limit (全部可选) | todoist_create_task 创建任务 content (必须), description, project_id, priority, due_string, labels | | todoist_update_task 任务更新 task_id (必须), content, description, priority, due_string, labels | | todoist_close_task 任务完成 task_id (必须)| | todoist_get_projects 获取项目列表|无| | todoist_create_project 项目创建 name (必须), color, parent_id, is_favorite | | todoist_update_project 项目更新 project_id (必须), name, color, is_favorite | | todoist_delete_project 项目删除 project_id (必须)|

使用例

Cursor AI基本操作

「Todoistからタスクリストを取得して」
「新しいタスク『プロジェクト資料作成』を優先度2で作成して」
「プロジェクト一覧を表示して」
「タスクID 123456789 を完了にして」

直接测试命令行

# 初期化
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | TODOIST_API_TOKEN=your-token tsx script/run-mcp-server.ts

# ツール一覧
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | TODOIST_API_TOKEN=your-token tsx script/run-mcp-server.ts

# タスク作成
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"todoist_create_task","arguments":{"content":"テストタスク","priority":2}}}' | TODOIST_API_TOKEN=your-token tsx script/run-mcp-server.ts

故障排除

常见问题

  1. 「Module not found」错误

    • cd packages/mcp-server && npm run build 在中运行构建
  2. Cursor AI的MCP未检测到服务器

    • Cursor AI完全重新启动
    • ~/.cursor/mcp.json 确认路径是否正确
    • 环境变数 TODOIST_API_TOKEN 确认是否设置了
  3. Todoist API 错误

在其他环境中使用

这MCP服务器是Cursor AI而需要与环境混合的每条反射光线,进行环境采样

  • 克劳德桌面:配置文件 ~/.config/claude/claude_desktop_config.json
  • 其他MCP客户机: stdio transport支持的客户端

设置方法基本相同,只需适当指定命令和路径。

🌟 主要特征

  • 🤖 AI统合: Cursor AI、Claude Desktop等多个AI单击功能区上Todoist的作用相同
  • 🚀 轻松设置:3步完成部署
  • 📋 高级任务管理: AI我是助理GTD、简化任务组织和项目管理
  • 🔄 实时同步: Todoist API直接联系
  • 🛠️ 扩张可能:开放源代码自由定制
  • 💾 stdio传输:标准MCP遵守协议

📖 许可证

MIT License - 了解更多信息 许可证 浏览文件

🔗 链接

🤝 分发

欢迎您提出拉式请求、建议和功能!

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

🎯 AI革新任务管理!