TickTick MCP Server
TickTick MCP Server -- Claude のための完全な TickTick 統合
28 ツール。完全な CRUD。スマートクエリ。複数条件フィルタ。バッチ操作。GTD 対応。Dida365 互換。
Claude を TickTick アカウントに接続し、自然な会話でタスクシステム全体を管理しましょう -- タスクの作成、プロジェクト横断の検索、期限切れの確認、一括作成、アプリを開かずに整理整頓を実現します。
「何が期限切れ?」--> すべてのプロジェクトにわたる期限超過タスクを即座に表示します。
なぜこれなのか?
機能 | このサーバー | TickTick 公式 MCP | jacepark12 |
ツール | 28 | 22 | ~20 |
複数条件フィルタ | 対応 (優先度 + タグ + 日付 + プロジェクト) | 対応 | 非対応 |
プロジェクト間のタスク移動 | 対応 | 対応 | 非対応 |
一括完了 | 対応 (最大 20) | 対応 (最大 20) | 非対応 |
一括更新 | 対応 | 対応 | 非対応 |
完了タスクの表示 | 対応 | 対応 | 非対応 |
プロジェクト横断検索 | 全文検索 | 対応 | 対応 |
サブタスク | 対応 | 非対応 | 非対応 |
GTD フォーカスビュー | 対応 (高優先度 + 期限 + 期限切れ) | 非対応 | 一部 |
Dida365 対応 | 対応 (ベース URL 設定可能) | 非対応 | 対応 |
非同期 (httpx) | 対応 | N/A | 非対応 (同期リクエスト) |
Pydantic バリデーション | 対応 (型付き入力) | N/A | 非対応 |
MCP アノテーション | 対応 (readOnly、破壊的ヒント) | N/A | 非対応 |
セルフホスト / オープンソース | 対応 | 非対応 (ホスト型サービス) | 対応 |
プライバシー | 100% ローカル、トークンのみ | TickTick サーバー経由 | 100% ローカル |
Related MCP server: TickTick MCP
クイックスタート
前提条件
TickTick アカウント
Python 3.10+
Claude Code または Claude Desktop
ステップ 1 -- クローンしてインストール
git clone https://github.com/Salen-Project/ticktick-mcp
cd ticktick-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txtステップ 2 -- TickTick 開発者アプリを登録
developer.ticktick.com にアクセス
New App をクリックし、任意の名前を入力
OAuth Redirect URL を
http://localhost:8080/callbackに設定Client ID と Client Secret をコピー
ステップ 3 -- 認証
TICKTICK_CLIENT_ID=your_id TICKTICK_CLIENT_SECRET=your_secret .venv/bin/python3 setup_auth.pyブラウザが開き、アプリの認証が求められます。Allow をクリック -- トークンは ~/.ticktick_mcp/tokens.json に保存され、自動的に更新されます。
ステップ 4 -- Claude Code に登録
claude mcp add ticktick \
-e TICKTICK_CLIENT_ID=your_id \
-e TICKTICK_CLIENT_SECRET=your_secret \
-- /path/to/ticktick-mcp/.venv/bin/python3 /path/to/ticktick-mcp/server.pyClaude Desktop の場合
claude_desktop_config.json に追加:
{
"mcpServers": {
"ticktick": {
"type": "stdio",
"command": "/path/to/ticktick-mcp/.venv/bin/python3",
"args": ["/path/to/ticktick-mcp/server.py"],
"env": {
"TICKTICK_CLIENT_ID": "your_id",
"TICKTICK_CLIENT_SECRET": "your_secret"
}
}
}
}ステップ 5 -- 生産性スキルを追加 (任意)
mkdir -p ~/.claude/skills/ticktick
cp skills/ticktick/SKILL.md ~/.claude/skills/ticktick/Dida365 対応
Dida365 (TickTick の中国版) を使用する場合は、以下の環境変数を設定します:
TICKTICK_BASE_URL=https://api.dida365.com/open/v1
TICKTICK_TOKEN_URL=https://dida365.com/oauth/token使用例
ユーザーの発言 | 動作 |
「金曜日に歯医者に電話するのをリマインドして」 | 期限付きでタスクを作成 |
「'Q1 レポートのレビュー' を Work に、高優先度で追加して」 | Work プロジェクトに優先度 5 のタスクを作成 |
「何が期限切れ?」 | 全プロジェクトの期限超過タスクを表示 |
「何に集中すべき?」 | GTD ビュー: 高優先度 + 本日期限 + 期限切れ |
「'予算' について何か検索して」 | 全プロジェクトを横断して全文検索 |
「高優先度のタスクをすべて表示して」 | 全プロジェクトで優先度=5 でフィルタ |
「今週の期限は?」 | 今後 7 日以内に期限のタスク |
「タスクを作成: 牛乳を買う、ジョンに電話、レポート提出」 | 3 つのタスクを一括作成 |
「'バケーション計画' というプロジェクトを作成して」 | 新しいプロジェクトを作成 |
「バケーションタスクの下にサブタスク '日焼け止めを買う' を追加して」 | サブタスクを作成 |
「歯医者のタスクを完了した」 | タスクを完了としてマーク |
「古い Sprint プロジェクトを削除して」 | プロジェクトと全タスクを削除 |
MCP ツールリファレンス
プロジェクト (5 ツール)
ツール | 説明 |
| ID、名前、色を含む全プロジェクトを一覧表示 |
| 特定のプロジェクトの詳細を取得 |
| プロジェクト詳細 + 未完了タスクを一度に取得 |
| 新しいプロジェクトを作成 (名前、色、ビューモード) |
| プロジェクトの名前、色、ビューモードを更新 |
| プロジェクトを完全に削除 |
タスク -- 基本 CRUD (7 ツール)
ツール | 説明 |
| 特定のプロジェクト内の全タスクを一覧表示 |
| タスクを作成 (タイトル、期限、優先度、プロジェクト、タグ) |
| 特定のタスクの完全な詳細を取得 |
| タイトル、内容、日付、優先度を更新 |
| タスクを完了としてマーク |
| タスクを完全に削除 |
| 親タスクの下にサブタスクを作成 |
タスク -- スマートクエリ (7 ツール)
ツール | 説明 |
| 全アクティブプロジェクトの全タスクを取得 |
| タイトル、内容、サブタスクを横断して全文検索 |
| 優先度でフィルタ (なし/低/中/高) |
| 全プロジェクトで本日期限のタスク |
| 全プロジェクトの期限超過タスク |
| 今後 7 日以内に期限のタスク |
| ちょうど N 日後に期限のタスク |
タスク -- バッチ & 生産性 (5 ツール)
ツール | 説明 |
| 複数のタスクを一度に作成 |
| 複数のタスクを一度に更新 |
| 最大 20 件のタスクを一度に完了としてマーク |
| タスクを別のプロジェクトに移動 |
| GTD フォーカスビュー: 高優先度 + 本日期限 + 期限切れ |
タスク -- 高度なフィルタ (2 ツール)
ツール | 説明 |
| 複数条件フィルタ: 優先度 + タグ + 日付範囲 + プロジェクト + ステータス |
| プロジェクト内の完了タスクを表示 |
ユーザー (1 ツール)
ツール | 説明 |
| ユーザー設定を取得 (タイムゾーン、週の開始日など) |
アーキテクチャ
ticktick_mcp/server.py # All MCP tools, async httpx, flat tool arguments
server.py # Thin entry point re-exporting the package
setup_auth.py # One-time OAuth 2.0 setup (browser-based)
~/.ticktick_mcp/ # Token storage (auto-refreshed)
skills/ticktick/ # Claude skill for natural task language設計上の選択:
すべて非同期 -- ノンブロッキング API 呼び出しのための
httpx.AsyncClientフラットなツール引数 -- 単一の
paramsオブジェクトではなく、引数ごとにAnnotated[T, Field(...)]: エージェントはフラットな引数を確実に生成し、ラッパーを頻繁に落とすためMCP アノテーション -- より安全なツール使用のための
readOnlyHint、destructiveHint自動トークン更新 -- 60 秒のバッファでトークンが透過的に更新
トラブルシューティング
「Given client ID does not match」 -- developer.ticktick.com で Client ID を再確認してください。
ポート 8080 が使用中 -- lsof -ti:8080 | xargs kill -9 を実行してから再試行してください。
トークンの期限切れ -- setup_auth.py を再実行して新しいトークンを取得してください。
Claude がツールを認識しない -- claude mcp list を実行して登録を確認してください。
コントリビューション
コントリビューション歓迎です! 変更したい内容について話し合うため、まず issue を開いてください。
git clone https://github.com/Salen-Project/ticktick-mcp
cd ticktick-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
# Make your changes to server.py
# Test: python3 -c "from server import mcp; print(len(mcp._tool_manager._tools), 'tools')"リンク
ライセンス
MIT (c) Salen-Project
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Manage your ClickUp workspace by creating, updating, and organizing tasks, lists, folders, and tag…
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for TickTick using the official OAuth 2.0 API. Create, list, update, complete, and delete tasks just by talking to Claude.73MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks through natural language, including creating, updating, completing, and deleting tasks, as well as managing projects.14MIT
- FlicenseNot gradedqualityDmaintenanceEnables interacting with TickTick tasks and projects through natural language via Claude and other MCP clients.
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks including listing, creating, updating, completing, and deleting tasks, as well as searching and filtering.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jawello/ticktick-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server