TickTick MCP Server について
TickTick MCP Serverは、TickTickのタスク管理機能をMCPクライアントに公開し、タスクやプロジェクトの取得、作成、更新、削除、完了に対応します。タイムゾーン補正機能があり、OAuthまたはユーザー名とパスワードで認証できます。
主な機能
- 01タスクとプロジェクトの一覧取得
- 02タスクの作成・更新・削除
- 03タスクの完了と詳細取得
- 04今日のタスクと期限超過タスクの取得
- 05OAuthとユーザー名・パスワード認証
- 06タイムゾーン差と日付の補正
活用シーン
- 01MCPクライアントでTickTickのタスクを確認
- 02ツール経由でタスクやプロジェクトを管理
- 03タイムゾーンに応じた今日・期限超過タスクの抽出
MCP 対応
タスクの取得、作成、更新、削除、完了など、TickTickのタスクとプロジェクトを管理するツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
TickTick MCP サーバー
TickTick タスク管理サービスとの連携を提供する Model Context Protocol(MCP)サーバーです。
機能
- タスクとプロジェクトを一覧表示します(優先度を人間が読みやすい形式で表示)
- タスクを作成、更新、削除します
- タスクを完了としてマークします
- 特定のタスクの詳細を取得します
- 正確な期日計算のため、手動で D+1 調整を行うタイムゾーン処理に対応します
- 設定可能なタイムゾーンオフセットを使用して、期限切れのタスクを取得します
- 適切なタイムゾーン補正を行って、今日のタスクを取得します
- OAuth とユーザー名/パスワードによる認証に対応します
- 適切なエラー処理を備えた TypeScript の完全なサポート
セットアップ
- 依存関係をインストールします:
npm install
- 環境設定を作成します:
cp .env.example .env
.envで認証を設定します:
オプション A:OAuth(推奨)
TICKTICK_ACCESS_TOKEN=your_oauth_access_token
TICKTICK_REFRESH_TOKEN=your_refresh_token
TICKTICK_CLIENT_ID=your_client_id
TICKTICK_CLIENT_SECRET=your_client_secret
オプション B:ユーザー名/パスワード
TICKTICK_USERNAME=your_ticktick_username
TICKTICK_PASSWORD=your_ticktick_password
OAuth の設定については、OAUTH_SETUP.md を参照するか、ヘルパーを使用してください:
node oauth-helper.js
- プロジェクトをビルドします:
npm run build
使用方法
開発
npm run dev
本番環境
npm start
利用可能なツール
get_tasks- すべてのタスク、または特定のプロジェクトのタスクを取得します(表示を拡張)get_overdue_tasks- タイムゾーン補正を行って期限切れのタスクを取得します(オフセットを設定可能。デフォルトは UTC+8 です。タイムゾーンに合わせて調整してください)get_todays_tasks- D+1 タイムゾーン調整を行って、今日が期日のタスクを取得しますget_projects- TickTick のすべてのプロジェクトを取得しますcreate_task- 優先度、タグ、期日を指定して新しいタスクを作成しますupdate_task- 既存のタスクを更新しますdelete_task- タスクを削除しますcomplete_task- タスクを完了としてマークしますget_task- ID を指定して特定のタスクを取得します
タイムゾーン処理
このサーバーには、TickTick のタイムゾーンの不整合に対応するための手動のタイムゾーン回避策が含まれています:
- D+1 調整:タイムゾーンの違いを補正するため、期日を自動的に 1 日追加して調整します
- 設定可能なオフセット:
get_overdue_tasksはtimezoneOffsetHoursパラメーターを受け付けます- デフォルト:8(UTC+8)— タイムゾーンに合わせて変更してください!
- 例:
- EST(UTC-5)の場合は
timezoneOffsetHours: -5 - UTC の場合は
timezoneOffsetHours: 0 - JST(UTC+9)の場合は
timezoneOffsetHours: 9 - CET(UTC+1)の場合は
timezoneOffsetHours: 1
- EST(UTC-5)の場合は
- 終日のタスクと時刻指定のタスク:終日のタスクと特定の時刻を指定したタスクでは、異なる方法で処理します
- 表示の拡張:タスクには人間が読みやすい優先度テキスト(
None、Low、Medium、High)が含まれます
重要:デフォルトのタイムゾーンオフセットは UTC+8 に設定されています。お使いの地域で正確な結果を得るには、get_overdue_tasks の呼び出し時に正しいタイムゾーンオフセットを指定してください。
MCP 連携
Claude Desktop(Claude Desktop アプリを使用)
このサーバーを MCP クライアントの設定ファイルに追加します:
場所: ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)
{
"mcpServers": {
"ticktick": {
"command": "node",
"args": ["/path/to/ticktick-mcp-server/dist/index.js"],
"env": {
"TICKTICK_ACCESS_TOKEN": "your_oauth_token",
"TICKTICK_REFRESH_TOKEN": "your_refresh_token",
"TICKTICK_CLIENT_ID": "your_client_id",
"TICKTICK_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Cursor IDE
このサーバーを Cursor の MCP 設定に追加します:
場所: MCP サーバーの .cursorrules または Cursor の設定を作成/編集します
{
"mcp": {
"servers": {
"ticktick": {
"command": "node",
"args": ["/path/to/ticktick-mcp-server/dist/index.js"],
"env": {
"TICKTICK_ACCESS_TOKEN": "your_oauth_token",
"TICKTICK_REFRESH_TOKEN": "your_refresh_token",
"TICKTICK_CLIENT_ID": "your_client_id",
"TICKTICK_CLIENT_SECRET": "your_client_secret"
}
}
}
}
}
ユーザー名/パスワードを使用する方法
{
"env": {
"TICKTICK_USERNAME": "your_username",
"TICKTICK_PASSWORD": "your_password"
}
}
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。