todoist-v1-mcp-server
todoist-v1-mcp-server
Todoistのためのクリーンで信頼性の高いMCP(Model Context Protocol)サーバー — Todoist unified API v1に基づいて構築されています。
なぜこれが必要なのか
公式のTodoist web MCP (todoist-ai) には、Anthropic側で毎日再接続が必要になるという既知の永続的な切断バグがあります。コミュニティによる代替案は、非推奨のREST API v2に基づいて構築されているか、TodoistのAPIが進化して新しいフィールドが追加された際に失敗を引き起こすスキーマ検証のバグを抱えています。
このサーバーの特徴:
現在のTodoist API v1をターゲットにしています(非推奨のv2ではありません)
stdioトランスポートを使用 — クラウドへの依存や毎日の再接続は不要です
最新のMCP SDK
registerTool()APIを使用(非推奨のsetRequestHandlerパターンではありません)APIレスポンスに対して厳格な出力スキーマを強制しません — Todoistが新しいフィールドを追加しても、何も壊れることなく動作します
SDKラッパーへの依存ゼロ — axiosを介した直接的なHTTP呼び出しを行うため、APIから乖離する中間ライブラリが存在しません
ツール(合計20個)
タスク
ツール | 説明 |
| タスクの一覧表示/フィルタリング — |
| IDで単一のタスクを取得 |
| 自然言語の期限( |
| フィールドを更新。期限を削除するには |
| タスクを完了にする |
| 完了したタスクを再開する |
| タスクを完全に削除する |
プロジェクト
ツール | 説明 |
| すべてのプロジェクトを一覧表示 |
| IDで単一のプロジェクトを取得 |
| プロジェクトを作成(色、表示スタイル、親プロジェクトを指定可能) |
| プロジェクトを更新 |
| プロジェクトとそのすべてのタスクを完全に削除 |
セクション
ツール | 説明 |
| プロジェクト内のセクションを一覧表示 |
| セクションを作成 |
| セクション名を変更 |
| セクションを削除 |
ラベル
ツール | 説明 |
| すべての個人用ラベルを一覧表示 |
| ラベルを作成 |
| ラベルを更新 |
| ラベルを削除 |
セットアップ
1. Todoist APIトークンの取得
Todoist → 設定 → 連携機能 → 開発者 に移動し、APIトークンをコピーします。
2. インストールとビルド
git clone https://github.com/christulino/todoist-v1-mcp-server
cd todoist-v1-mcp-server
npm install
npm run build3. Claude Desktopの設定
~/Library/Application Support/Claude/claude_desktop_config.json を編集します:
{
"mcpServers": {
"todoist": {
"command": "node",
"args": ["/absolute/path/to/todoist-v1-mcp-server/dist/index.js"],
"env": {
"TODOIST_API_TOKEN": "your_api_token_here"
}
}
}
}Claude Desktopを再起動します。接続されたMCPサーバーに「todoist」が表示されるはずです。
4. Claude Codeの設定(オプション)
claude mcp add todoist -- node /absolute/path/to/todoist-v1-mcp-server/dist/index.js次に環境変数を設定します:
export TODOIST_API_TOKEN=your_api_token_hereまたは、シェルプロファイルに追加してください。
使用例
接続後、Claudeは以下のような自然言語を処理できます:
"今日の予定は?" →
filter: "today"を指定してtodoist_get_tasksを使用"来週の火曜日に歯医者に行くタスクを追加して" →
todoist_create_taskを使用"歯医者のタスクを完了にして" →
todoist_complete_taskを使用"期限切れのタスクをすべて見せて" →
filter: "overdue"を指定してtodoist_get_tasksを使用"Home Renovationというプロジェクトを作成して" →
todoist_create_projectを使用"どんなプロジェクトがある?" →
todoist_get_projectsを使用
Todoistフィルタ構文
todoist_get_tasks の filter パラメータは、Todoistの完全な自然言語フィルタ構文をサポートしています:
フィルタ | 意味 | ||
| 今日の期限 | ||
| 期限切れ | ||
| 今後7日以内の期限 | ||
| 緊急の優先度 | ||
| 特定のプロジェクト内のタスク | ||
| 特定のラベルが付いたタスク | ||
| 期限のないタスク | ||
`today | overdue` | 今日または期限切れ(` | ` で結合) |
| 今日かつ 'waiting' ラベルが付いたもの |
フィルタの完全なドキュメント: https://todoist.com/help/articles/introduction-to-filters
要件
Node.js 18以上
Todoistアカウント(無料プランでも動作します)
開発
npm run dev # tsx watch mode with auto-reload
npm run build # compile TypeScript
npm start # run compiled serverテスト
テストスイートは実際のTodoist APIにアクセスし、タスク、プロジェクト、セクション、ラベル全体で完全なCRUDサイクルを実行します。すべてのテストデータには [mcp-test] というプレフィックスが付き、自動的にクリーンアップされます。
TODOIST_API_TOKEN=your_token npm testAPIトークンは Todoist → 設定 → 連携機能 → 開発者 にあります。これは claude_desktop_config.json に入力したものと同じトークンです。
コントリビューション
プルリクエストを歓迎します。目標は、Todoist API v1の最新状態を維持する、最小限で正確な実装です。優先事項:
巧妙さよりも正確さ
寛容な出力処理(未知のAPIフィールドを拒否しない)
何が問題でどう修正すべきかを伝える役立つエラーメッセージ
ライセンス
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/christulino/todoist-v1-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server