Integrations
Allows for fetching the server from GitHub via git repository URL.
Enables installation of the MCP server directly from its GitHub repository.
Provides comprehensive access to TickTick task management functionalities, including creating, updating, and deleting tasks, managing subtasks, filtering tasks by various criteria, and working with projects and tags.
TickTick MCP サーバー
このMCPサーバーでTickTickワークフローを強化しましょう。ticktick ticktick-py
ライブラリをベースに構築されたこのサーバーは、フィルタリング機能を大幅に強化し、AIアシスタントやMCP対応アプリケーション(Claude Desktop、VS Code Agent Mode、 mcp-use
など)が、より正確かつ強力にタスクを操作できるようになります。
✨ 特徴
このサーバーは、次のように分類される MCP ツールを介して TickTick 機能への包括的なアクセスを提供します。
- タスク管理: タスクの作成、更新 (TickTick の日付形式への変換を含む)、削除、完了、移動。
- **サブタスク管理:**既存のタスクをリンクしてサブタスクを作成します。
- タスクの取得:
- 未完了のタスクをすべて取得します。
- ID または特定のフィールドでタスクを取得します。
- 日付範囲内で完了したタスクを取得します。
- 特定のプロジェクトからタスクを取得します。
- さまざまな基準 (優先度、プロジェクト、タグなど) に基づいてタスクをフィルタリングします。
- **プロジェクト/タグ管理:**すべてのプロジェクト、タグ、プロジェクト フォルダーを取得します。
- **ヘルパー ツール:**日時文字列を必要な TickTick 形式に変換します。
詳細な仕様については、 src/ticktick_mcp/tools/
ディレクトリ内のツール定義を参照してください。
🚀 はじめに
このサーバーは、非公式のticktick-py
ライブラリを使用して TickTick API と対話します。
前提条件
- Python >= 3.10
- TickTick および API 資格情報へのアクセス (下記参照)。
設定
- **TickTickアプリケーションの登録:**サーバーを使用する前に、TickTickにアプリケーションを登録してAPI認証情報を取得する必要があります。ticktick
ticktick-py
ドキュメントに基づいて、以下の手順に従ってください。- TickTick OpenAPI ドキュメントにアクセスし、TickTick アカウントでログインします。
- 右上隅の
Manage Apps
をクリックします。 +App Name
ボタンをクリックして新しいアプリを登録します。アプリケーションの名前(例:「MCP Server」)を入力してください。- 作成後、アプリの詳細を編集します。生成された
Client ID
とClient Secret
を書き留めてください。 OAuth Redirect URL
には、アプリケーションの承認後にリダイレクトするURLを入力します。実際のURLである必要はありません。- ローカル開発では
http://localhost:8080/redirect
またはhttp://127.0.0.1:8080/
が一般的な選択肢です。 - この正確な URL が環境変数に保存されていることを確認してください。
- ローカル開発では
- **環境変数:**サーバーは、先ほど取得したTickTick API認証情報とTickTickのログイン情報を必要とします。デフォルトでは、
~/.config/ticktick-mcp/.env
にある.env
ファイルを検索します。~/.config/ticktick-mcp/
ディレクトリが存在しない場合はサーバーによって作成される可能性がありますが、手動で作成する方が安全です。- そのディレクトリ内に**
.env
ファイルを手動で作成する必要があります**。 - あるいは、Python経由でサーバーを直接実行する場合のみ、
--dotenv-dir
コマンドライン引数を使用して別のディレクトリを指定することもできます(下記の「サーバーの実行」を参照)。..env
ファイルには以下を含める必要があります。
- **認証 (初回実行):**初回実行時 (直接または MCP クライアント経由)、基盤となる
ticktick-py
ライブラリが OAuth2 認証フローを開始します。- Web ブラウザ ウィンドウが自動的に開くか、コンソール/ログ出力に URL が印刷されます。
- この URL にアクセスし、必要に応じて TickTick にログインし、アプリケーションを承認する必要があります (読み取りおよび書き込み権限を付与します)。
- 承認後、指定した
TICKTICK_REDIRECT_URI
にリダイレクトされます。- コンソールでは**、リダイレクトされた完全な URL** (
code=
パラメータを含む) をターミナルに貼り付けるように求められます。
- コンソールでは**、リダイレクトされた完全な URL** (
- 検証が成功すると、
.env
ファイルと同じディレクトリに.token-oauth
ファイルが作成されます。 - このファイルは認証トークンをキャッシュするため、通常はこの手動認証手順を約 6 か月ごとに 1 回、またはトークンが無効になった場合にのみ実行する必要があります。
サーバーの実行
サーバーは主に 2 つの方法で実行できます。
1. MCP クライアント経由 (AI アシスタント統合に推奨):
MCPクライアント(Claude Desktop、VS Code Agent Modeなど)をサーバーに接続できるように設定します。設定例:
🔧 ツール
このサーバーは、TickTick タスク管理サービスと対話するための次のツールを提供します。
タスク管理
ticktick_create_task
- TickTickで新しいタスクを作成します
- 入力:
title
(文字列): タスクのタイトル。必須。projectId
(文字列、オプション): タスクを追加するプロジェクトの ID。content
(文字列、オプション): タスクの追加の詳細またはメモ。desc
(文字列、オプション): タスクの説明。allDay
(ブール値、オプション): タスクが 1 日中にわたる場合は True に設定します。startDate
(文字列、オプション): ISO 8601 形式の開始日時。dueDate
(文字列、オプション): ISO 8601 形式の期日/時刻。timeZone
(文字列、オプション): IANA タイムゾーン名 (例: 'Asia/Seoul')。reminders
(文字列の配列、オプション): RFC 5545 形式のリマインダートリガーのリスト。repeat
(文字列、オプション): RFC 5545 形式の繰り返しルール。priority
(整数、オプション):タスクの優先度(0=なし、1=低、3=中、5=高)。sortOrder
(整数、オプション): カスタムの並べ替え順序の値。items
(オブジェクトの配列、オプション): サブタスク辞書のリスト。
ticktick_update_task
- 既存のタスクを更新します
- 入力:
task_object
(オブジェクト): タスクid
を含む、更新するタスク プロパティを含む辞書。
ticktick_delete_tasks
- 1つ以上のタスクを削除します
- 入力:
task_ids
(文字列または文字列の配列): 削除する単一のタスク ID またはタスク ID のリスト。
ticktick_complete_task
- タスクを完了としてマークします
- 入力:
task_id
(文字列): 完了としてマークするタスクの ID。
ticktick_move_task
- タスクを別のプロジェクトに移動する
- 入力:
task_id
(文字列): 移動するタスクの ID。new_project_id
(文字列): 宛先プロジェクトの ID。
ticktick_make_subtask
- あるタスクを別のタスクのサブタスクにする
- 入力:
parent_task_id
(文字列): 親となるタスクの ID。child_task_id
(文字列): サブタスクとなるタスクの ID。
タスクの取得
ticktick_get_by_id
- IDで特定のオブジェクト(タスク、プロジェクトなど)を取得します
- 入力:
obj_id
(文字列): 取得するオブジェクトの一意の ID。
ticktick_get_all
- 指定されたタイプのすべてのオブジェクトを取得します
- 入力:
search
(文字列): 取得するオブジェクトのタイプ (例: 'tasks'、'projects'、'tags')。
ticktick_get_tasks_from_project
- 特定のプロジェクトから未完了のタスクをすべて取得します
- 入力:
project_id
(文字列): プロジェクトの ID。
ticktick_filter_tasks
- さまざまな基準に基づいてタスクをフィルタリングします
- 入力:
filter_criteria
(オブジェクト): 次のようなフィルタリングパラメータを持つ辞書:status
(文字列): タスクのステータス ('uncompleted' または 'completed')。project_id
(文字列、オプション): タスクをフィルタリングするプロジェクト ID。tag_label
(文字列、オプション): タスクをフィルタリングするタグ名。priority
(整数、オプション):優先度。due_start_date
(文字列、オプション): 期日フィルターの ISO 形式の開始日。due_end_date
(文字列、オプション): 期日フィルターの ISO 形式の終了日。completion_start_date
(文字列、オプション): 完了日フィルターの開始日。completion_end_date
(文字列、オプション): 完了日フィルターの終了日。sort_by_priority
(ブール値、オプション): 結果を優先度で並べ替えます。tz
(文字列、オプション): 日付を解釈するためのタイムゾーン。
ヘルパーツール
ticktick_convert_datetime_to_ticktick_format
- ISO 8601 の日付/時刻文字列を TickTick API 形式に変換します
- 入力:
datetime_iso_string
(文字列): ISO 8601 形式の日付/時刻文字列。tz
(文字列): 日付/時刻を解釈するための IANA タイムゾーン名。
🤖 エージェントプロンプトのサンプル
🤝 貢献する
貢献を歓迎します!お気軽に問題を報告したり、プルリクエストを送信してください。
📜 ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
🔗 参照
- モデル コンテキスト プロトコル サーバー: さまざまなツールおよびプラットフォーム用の MCP サーバーのリファレンス実装の中央リポジトリ。
- modelcontextprotocol.io : モデルコンテキストプロトコルの公式ドキュメント。
- pietrozullo/mcp-use : MCP サーバーと対話するクライアント/エージェントを構築するための人気の Python ライブラリ。
- lazeroffmichael/ticktick-py : このプロジェクトで認証と API のやり取りを処理するために使用する非公式の TickTick API ライブラリ。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
フィルタリング機能が改善された包括的なタスク管理ツールを提供することで TickTick ワークフローを強化し、AI アシスタントや MCP 対応アプリケーションが TickTick タスクとより正確に対話できるようにする MCP サーバーです。
Related MCP Servers
- -securityFlicense-qualityA MCP server for TickTick that enables interacting with your TickTick task management system directly through Claude and other MCP clients.Last updated -31Python
- -securityFlicense-qualityAn MCP server that allows AI assistants to programmatically manage Unleash feature flags through natural language, enabling operations like creating, updating, and retrieving feature flags across projects.Last updated -52TypeScript
- -security-license-qualityAn MCP server that allows AI assistants to utilize human capabilities by sending requests to humans and receiving their responses through a Streamlit UI.Last updated -23PythonMIT License
- AsecurityAlicenseAqualityA streamlined MCP server that enables AI assistants to send real-time notifications to your devices through the ntfy service, allowing you to receive alerts when tasks complete or important events occur.Last updated -16674JavaScriptGPL 3.0