Skip to main content
Glama

TickTick MCPサーバー -- Claudeのための完全なTickTick統合

License: MIT Version Python Tools Glama

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, destructiveヒント)

N/A

なし

セルフホスト / オープンソース

あり

なし (ホスト型サービス)

あり

プライバシー

100%ローカル、トークンのみ

TickTickサーバーを経由

100%ローカル


Related MCP server: mcp-server-asana

クイックスタート

前提条件

ステップ 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開発者アプリの登録

  1. developer.ticktick.com にアクセスします

  2. New App をクリックし、任意の名前を入力します

  3. OAuth Redirect URLhttp://localhost:8080/callback に設定します

  4. Client IDClient 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.py

Claude 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ツール)

ツール

説明

ticktick_list_projects

ID、名前、色を含む全プロジェクトを一覧表示

ticktick_get_project

特定のプロジェクトの詳細を取得

ticktick_get_project_with_tasks

プロジェクト詳細と未完了タスクを一度に取得

ticktick_create_project

新しいプロジェクトを作成 (名前、色、表示モード)

ticktick_update_project

プロジェクトの名前、色、表示モードを更新

ticktick_delete_project

プロジェクトを完全に削除

タスク -- 基本CRUD (7ツール)

ツール

説明

ticktick_list_tasks

特定プロジェクトの全タスクを一覧表示

ticktick_create_task

タスクを作成 (タイトル、期限、優先度、プロジェクト、タグ)

ticktick_get_task

特定タスクの詳細を取得

ticktick_update_task

タイトル、内容、日付、優先度を更新

ticktick_complete_task

タスクを完了済みにマーク

ticktick_delete_task

タスクを完全に削除

ticktick_create_subtask

親タスクの下にサブタスクを作成

タスク -- スマートクエリ (7ツール)

ツール

説明

ticktick_get_all_tasks

すべてのアクティブなプロジェクトから全タスクを取得

ticktick_search_tasks

タイトル、内容、サブタスクを対象に全文検索

ticktick_get_tasks_by_priority

優先度でフィルタリング (なし/低/中/高)

ticktick_get_tasks_due_today

全プロジェクトの今日が期限のタスク

ticktick_get_overdue_tasks

全プロジェクトの期限切れタスク

ticktick_get_tasks_due_this_week

今後7日以内に期限が来るタスク

ticktick_get_tasks_due_in_days

指定した日数後に期限が来るタスク

タスク -- バッチ & 生産性 (5ツール)

ツール

説明

ticktick_batch_create_tasks

複数のタスクを一度に作成

ticktick_batch_update_tasks

複数のタスクを一度に更新

ticktick_complete_tasks_bulk

最大20件のタスクを一度に完了済みにマーク

ticktick_move_task

タスクを別のプロジェクトへ移動

ticktick_get_focus_tasks

GTDフォーカスビュー:高優先度 + 今日の期限 + 期限切れ

タスク -- 高度なフィルター (2ツール)

ツール

説明

ticktick_filter_tasks

複数条件フィルター:優先度 + タグ + 日付範囲 + プロジェクト + ステータス

ticktick_get_completed_tasks

プロジェクト内の完了済みタスクを表示

ユーザー (1ツール)

ツール

説明

ticktick_get_user_preferences

ユーザー設定を取得 (タイムゾーン、週の開始日など)


アーキテクチャ

server.py              # 20 MCP tools, async httpx, Pydantic validation
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 を使用

  • Pydantic入力モデル -- 明確なエラーメッセージを備えた型安全で検証済みの入力

  • MCPアノテーション -- より安全なツール使用のための readOnlyHintdestructiveHint

  • 自動トークン更新 -- 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

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/abdulhamid-n/ticktick-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server