mcpField
D
Dida MCP Server

Dida MCP Server

ローカル
github.com/zhongwencool生産性1036 週間前に更新

Dida MCP Server について

Dida MCP Server は TickTick/Dida365 API を使い、AI アシスタントによるタスク、プロジェクト、タグの管理を支援します。GTD に基づくプロンプトを備え、タスクの一括操作にも対応します。

主な機能

  1. 01タスクの作成、参照、更新、削除
  2. 02プロジェクト管理とタスクの移動
  3. 03タスクの一括更新、削除、移動
  4. 04OAuth とユーザー名・パスワード認証
  5. 05GTD に基づく整理用プロンプト
  6. 06プロジェクトとタグのキャッシュ

活用シーン

  1. 01TickTick/Dida365 のタスクとプロジェクトの管理
  2. 02複数タスクの整理や一括移動
  3. 03GTD に沿った受信箱タスクの処理
  4. 04キャッシュ済みプロジェクトとタグの確認

MCP 対応

MCP サーバーとして、TickTick/Dida365 のタスク、プロジェクト、認証、キャッシュデータ用のツールを互換クライアントに公開し、GTD 関連のプロンプトも提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Dida MCP Server

TickTick/Dida365 タスク管理サービスと連携するための Model Context Protocol(MCP)サーバーです。このサーバーは TickTick API を通じて、タスク、プロジェクト、タグを管理するツールを提供します。

ライセンス: ISC

概要

Dida MCP Server は Model Context Protocol フレームワーク上に構築されており、AI アシスタントが TickTick/Dida365 アカウントと連携できるようにします。タスクやプロジェクトを管理するための包括的なツールセットを提供し、GTD(Getting Things Done)の原則に沿ってタスクを整理できるよう、AI アシスタントが支援します。

機能

  • 認証:TickTick/Dida365 API による OAuth ベースの認証
  • タスク管理:タスクの作成、読み取り、更新、削除、移動
  • プロジェクト管理:プロジェクトの作成、読み取り、更新、削除
  • 一括操作:複数のタスクを一度に効率よく管理
  • GTD アシスタント:GTD に基づくタスク整理のための組み込みシステムプロンプト
  • データのキャッシュ:プロジェクトとタグのデータを効率的にキャッシュ

前提条件

  • Node.js(v16 以降)
  • npm(v7 以降)
  • TickTick/Dida365 アカウント
  • Dida365 Developer Center で取得したクライアント ID とクライアントシークレット(OAuth 認証用)

インストール

オプション 1:npm からインストール(推奨)
# Install globally
npm install -g dida-mcp-server

# Or install locally in your project
npm install dida-mcp-server
オプション 2:ソースからインストール
# Clone the repository
git clone https://github.com/zhongwencool/dida-mcp-server.git
cd dida-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

認証

サーバーを使用する前に、TickTick/Dida365 で認証する必要があります。このサーバーは、次の 2 種類の認証方法をサポートしています。

  1. OAuth 認証(V1 API):OAuth トークンを使用して Dida365 Open API に接続します
  2. ユーザー名とパスワードによる認証(V2 API):セッショントークンを使用して内部 API に接続します
get-access-token の使用

get-access-token スクリプトは、両方の API バージョンの認証処理を行います。使用するには、次の手順に従います。

# If installed globally
dida-get-token

# If installed locally or from source
npm run get-token

スクリプトは次の処理を行います。

  1. TickTick/Dida365 のユーザー名とパスワードの入力を求めます(V2 API 用)
  2. クライアント ID とクライアントシークレット の入力を求めます([V1 API OAuth 用])
  3. OAuth コールバックを処理するため、ポート 3000 でローカルサーバーを起動します
  4. アプリケーションを認証するため、ブラウザーを開きます
  5. 認証コードをアクセストークンと交換します
  6. 両方のトークンを ~/.dida-mcp-config.json の設定ファイルに保存します
  7. トークン情報と MCP サーバーの設定を含む成功ページを表示します
OAuth 認証の前提条件

OAuth 認証を使用するには、次の作業が必要です。

  1. Dida365 Developer Center にアプリケーションを登録します
  2. リダイレクト URI を http://localhost:3000/oauth/callback に設定します
  3. クライアント ID とクライアントシークレットを取得します
設定ファイル

認証処理によって、次の構造の設定ファイルが ~/.dida-mcp-config.json に作成されます。

{
  "access_token": "your-v1-oauth-token",
  "refresh_token": "your-refresh-token",
  "expires_at": 1234567890000,
  "token_type": "bearer",
  "v2_access_token": "your-v2-session-token",
  "inboxId": "your-inbox-project-id"
}

このファイルはサーバーの起動時に自動的に検出され、使用されます。

使用方法

サーバーの起動
# If installed globally
dida-mcp-server

# If installed locally or from source
npm start

サーバーは保存済みのトークンを使用して自動的に認証を試み、認証状態を表示します。

MCP クライアントとの接続

MCP 互換のクライアントであれば、どれでもサーバーに接続できます。サーバーが提供する設定を、MCP クライアントの設定に追加できます。

{
  "mcpServers": {
    "dida": {
      "command": "dida-mcp-server"
    }
  }
}

ローカルにインストールした場合は、次のようにします。

{
  "mcpServers": {
    "dida": {
      "command": "node",
      "args": [
        "/path/to/node_modules/dida-mcp-server/dist/index.js"
      ]
    }
  }
}

利用可能なツール

認証ツール
  • check-auth-status:現在の認証状態を確認します
プロジェクト管理ツール
  • list-projects:すべてのプロジェクトを取得します
  • create-project:新しいプロジェクトを作成します
  • update-project:既存のプロジェクトを更新します
  • delete-project:プロジェクトを削除します
  • refresh-project-cache:プロジェクトのキャッシュを手動で更新します
タスク管理ツール
  • list-tasks:プロジェクトのタスクを取得します(デフォルトは受信トレイです)
  • create-task:新しいタスクを作成します
  • get-task:IDを指定して特定のタスクを取得します
  • update-task:タスクを更新します
  • batch-update-tasks:複数のタスクを一括で更新します
  • complete-task:タスクを完了としてマークします
  • delete-task:タスクを削除します
  • batch-delete-tasks:複数のタスクを一括で削除します
  • move-task:タスクを別のプロジェクトに移動します
  • batch-move-tasks:複数のタスクを別のプロジェクトに移動します
データクエリツール
  • list-cached-data:キャッシュされたプロジェクトとタグのデータを表示します

システムプロンプト

サーバーには、次の2つの組み込みプロンプトがあります。

  1. GTD アシスタントプロンプト:GTD の手法を実践するためのツールの使い方を案内するシステムプロンプトです
  2. 受信トレイ整理プロンプト:GTD の原則に従って受信トレイのタスクを整理するためのユーザーレベルのプロンプトです

開発

開発モードで実行する
npm run dev

これにより、サーバーが監視モードで起動し、変更が加えられると自動的に再コンパイルして再起動します。

テストの実行
npm test

または、監視モードでテストを実行するには、次のようにします。

npm run test:watch

プロジェクト構成

├── dist/              # Compiled JavaScript files
├── src/
│   ├── auth/           # Authentication-related code
│   ├── projects/       # Project management tools
│   ├── resources/      # Resource definitions (cached data)
│   ├── tasks/          # Task management tools
│   ├── types/          # TypeScript type definitions
│   ├── utils/          # Utility functions
│   ├── config.ts       # Configuration management
│   ├── get-access-token.ts  # Token acquisition script
│   ├── index.ts        # Main server entry point
│   └── systemPrompt.ts # GTD assistant system prompt
├── tests/              # Test files
├── package.json        # Project metadata and dependencies
├── LICENSE             # ISC License file
└── tsconfig.json      # TypeScript configuration

API ドキュメント

このプロジェクトでは Dida365 Open API を使用しています。詳細については、Dida365 Open API ドキュメントを参照してください。

ライセンス

ISC

NPM への公開

パッケージを NPM に公開するには、次の手順に従ってください。

# Login to npm (if not already logged in)
npm login

# Build the project
npm run build

# Test the package
npm test

# Publish to npm
npm publish

パッケージを更新するには:

  1. package.json のバージョンを更新します
  2. npm publish を実行します

コントリビューション

コントリビューションを歓迎します!お気軽に Pull Request を送信してください。

謝辞

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。