ticktick-mcp-server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Securely stores authentication tokens in a local .env file as part of the OAuth flow, handling token storage and automatic refreshing.

  • Provides source code hosting for the MCP server, allowing users to clone the repository to install the server.

  • Allows full interaction with a TickTick task management system, including viewing projects and tasks, creating new projects and tasks, updating task details, marking tasks as complete, and deleting tasks and projects.

TickTick MCP サーバー

TickTick 用のモデル コンテキスト プロトコル (MCP)サーバー。Claude やその他の MCP クライアントを通じて TickTick タスク管理システムと直接対話できるようになります。

特徴

  • 📋 TickTickのプロジェクトとタスクをすべて表示
  • ✏️ 自然言語で新しいプロジェクトやタスクを作成する
  • 🔄既存のタスクの詳細(タイトル、内容、日付、優先度)を更新する
  • ✅ タスクを完了としてマークする
  • 🗑️ タスクとプロジェクトを削除する
  • 🔄TickTickのオープンAPIとの完全な統合
  • 🔌 Claude や他の MCP クライアントとのシームレスな統合

前提条件

  • Python 3.10以上
  • uv - 高速な Python パッケージインストーラーとリゾルバー
  • APIアクセス可能なTickTickアカウント
  • TickTick API 資格情報 (クライアント ID、クライアント シークレット、アクセス トークン)

インストール

  1. このリポジトリをクローンします:
    git clone https://github.com/parkjs814/ticktick-mcp.git cd ticktick-mcp
  2. uv でインストール:
    # Install uv if you don't have it already curl -LsSf https://astral.sh/uv/install.sh | sh # Create a virtual environment uv venv # Activate the virtual environment # On macOS/Linux: source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install the package uv pip install -e .
  3. TickTickで認証する:
    # Run the authentication flow uv run -m ticktick_mcp.cli auth
    これにより、次のようになります。
    • TickTickクライアントIDとクライアントシークレットを尋ねます
    • TickTickにログインするためのブラウザウィンドウを開きます
    • アクセストークンを.envファイルに自動的に保存します
  4. 設定をテストします:
    uv run test_server.py
    これにより、TickTick の資格情報が正しく機能していることが確認されます。

TickTickによる認証

このサーバーはTickTickの認証にOAuth2を使用します。設定手順は簡単です。

  1. TickTick開発者センターでアプリケーションを登録する
    • リダイレクトURIをhttp://localhost:8000/callbackに設定する
    • クライアントIDとクライアントシークレットをメモしてください
  2. 認証コマンドを実行します。
    uv run -m ticktick_mcp.cli auth
  3. 指示に従ってクライアントIDとクライアントシークレットを入力してください
  4. TickTickアカウントでアプリケーションを承認するためのブラウザウィンドウが開きます
  5. 承認後、アプリケーションにリダイレクトされ、アクセストークンは自動的に.envファイルに保存されます。

サーバーはトークンの更新を自動的に処理するため、アクセスを取り消したり.envファイルを削除したりしない限り、再認証する必要はありません。

Claude for Desktop での使用

  1. デスクトップ版Claudeをインストールする
  2. Claude for Desktop 構成ファイルを編集します。macOS :
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
    ウィンドウズ:
    notepad %APPDATA%\Claude\claude_desktop_config.json
  3. 絶対パスを使用して、TickTick MCP サーバー構成を追加します。
    { "mcpServers": { "ticktick": { "command": "<absolute path to uv>", "args": ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"] } } }
  4. デスクトップ版のClaudeを再起動する

接続すると、Claude で利用可能な TickTick MCP サーバー ツールが 🔨 (ツール) アイコンで表示されます。

利用可能なMCPツール

道具説明パラメータ
get_projectsTickTickプロジェクトをすべて一覧表示するなし
get_project特定のプロジェクトの詳細を取得するproject_id
get_project_tasksプロジェクト内のすべてのタスクを一覧表示するproject_id
get_task特定のタスクの詳細を取得するproject_idtask_id
create_task新しいタスクを作成するtitleproject_idcontent (オプション)、 start_date (オプション)、 due_date (オプション)、 priority (オプション)
update_task既存のタスクを更新するtask_idproject_idtitle (オプション)、 content (オプション)、 start_date (オプション)、 due_date (オプション)、 priority (オプション)
complete_taskタスクを完了としてマークするproject_idtask_id
delete_taskタスクを削除するproject_idtask_id
create_project新しいプロジェクトを作成するnamecolor (オプション)、 view_mode (オプション)
delete_projectプロジェクトを削除するproject_id

クロードの例題

TickTick MCP サーバーに接続した後、Claude で使用するプロンプトの例を次に示します。

  • 「TickTickプロジェクトをすべて表示」
  • 「私の作業プロジェクトに「MCPサーバーのドキュメントを完成させる」という新しいタスクを高優先度で作成する」
  • 「個人プロジェクト内のすべてのタスクを一覧表示する」
  • 「「食料品を買う」というタスクを完了としてマークする」
  • 「『休暇計画』という新しいプロジェクトを青色で作成します」
  • 「TickTick の次の締め切りはいつですか?」

発達

プロジェクト構造

ticktick-mcp/ ├── .env.template # Template for environment variables ├── README.md # Project documentation ├── requirements.txt # Project dependencies ├── setup.py # Package setup file ├── test_server.py # Test script for server configuration └── ticktick_mcp/ # Main package ├── __init__.py # Package initialization ├── authenticate.py # OAuth authentication utility ├── cli.py # Command-line interface └── src/ # Source code ├── __init__.py # Module initialization ├── auth.py # OAuth authentication implementation ├── server.py # MCP server implementation └── ticktick_client.py # TickTick API client

認証フロー

このプロジェクトは、TickTick の完全な OAuth 2.0 フローを実装します。

  1. 初期設定: ユーザーはTickTick APIクライアントIDとシークレットを提供します
  2. ブラウザ認証: ユーザーはアクセスを許可するためにTickTickにリダイレクトされます
  3. トークン受信: ローカルサーバーは認可コードを含むOAuthコールバックを受信する
  4. トークン交換: コードはアクセストークンとリフレッシュトークンと交換されます
  5. トークンの保存: トークンはローカルの.envファイルに安全に保存されます。
  6. トークンの更新: アクセストークンの有効期限が切れると、クライアントは自動的に更新します。

これにより、OAuth フローの全体がプログラムで処理され、ユーザー エクスペリエンスが簡素化されます。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

TickTick 用の MCP サーバー。Claude やその他の MCP クライアントを通じて TickTick タスク管理システムと直接対話できるようになります。

  1. Features
    1. Prerequisites
      1. Installation
        1. Authentication with TickTick
          1. Usage with Claude for Desktop
            1. Available MCP Tools
              1. Example Prompts for Claude
                1. Development
                  1. Project Structure
                  2. Authentication Flow
                  3. Contributing
                2. License
                  ID: x6aytcdmvc