clickup-mcp-server: A ClickUp MCP Server について
clickup-mcp-serverは、AIシステムをClickUpに接続し、ワークスペースの整理やタスク管理を行うMCPサーバーです。タスク、サブタスク、コメント、カスタムフィールドのほか、スペースやリストも扱えます。
主な機能
- 01タスクの作成・更新・削除・移動
- 02サブタスク・コメント・添付ファイルの管理
- 03スペース・フォルダー・リストの参照と整理
- 04ステータスによるタスクの絞り込み
- 05カスタムフィールド値の設定と削除
- 06タスクの一括更新と削除
活用シーン
- 01AIワークフローからタスクを作成・更新
- 02ClickUpのスペースやリストを整理
- 03ステータスで絞り込み、担当者を変更
- 04タスクのワークフローでカスタムフィールドを更新
MCP 対応
ClickUpのワークスペースやタスク操作をツールとしてMCPクライアントに提供し、タスク、階層、カスタムフィールドを管理します。利用にはAPIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
clickup-mcp-server:ClickUp MCP サーバー
概要
ClickUp API との連携と自動化のための Model Context Protocol サーバーです。このサーバーは、AI システムが ClickUp のタスク、リスト、スペースを読み取り、作成、更新するためのツールを提供します。
この MCP サーバーにより、Claude などの AI ツールが ClickUp ワークスペースを操作できるようになり、タスク管理、プロジェクト計画、その他のワークフローの自動化に役立ちます。
機能
この MCP サーバーは ClickUp との包括的な連携を提供し、次の機能を備えています。
タスク管理
- タスクの作成、更新、削除
- リストやボード間でのタスクの移動と複製
- 期限、優先度、タグなどのタスクプロパティの設定
- サブタスクの作成、表示、管理
- タスクへのコメントや添付ファイルの追加
- 単一タスクと一括タスクの両方の操作に対応
- ステータスによるタスクのグループ化とフィルタリング
ワークスペースの整理
- ワークスペース、スペース、フォルダー、リストの移動と管理
- スペースとフォルダーの作成、更新、削除
- スペースやフォルダー内でのリストの整理
- ワークスペース階層全体の表示
- パス表記を使ったワークスペース内の効率的な移動
- スペース内またはフォルダー内でのリストの作成
書式設定と表示
- タスクの説明とコメントでの完全な Markdown サポート
- ClickUp で適切に表示するための HTML 変換
- タスクの詳細、リスト、階層の書式付き表示
- 複雑なプロジェクト構造の見やすい表示
開発者向け機能
- 包括的なエラー処理と検証
- 明確で一貫性のある API レスポンス
- すべてのツールの詳細なドキュメント
- Claude やその他の AI システムとの簡単な連携
ツール
このサーバーは、ClickUp と連携するために次のツールを提供します。
ワークスペース/チームのツール
-
get_workspaces- すべてのワークスペース/チームを取得します
- 入力:なし
- 戻り値:ID と名前を含むワークスペースのリスト
-
navigate_workspace- パス表記を使ってワークスペース階層内を移動します
- 入力:
path(string):ワークスペース階層内のパス(team_id/space_name/folder_name/list_name)
- 戻り値:対象エンティティの詳細と完全なパス
スペースのツール
-
get_spaces- ワークスペース内のすべてのスペースを取得します
- 入力:
workspace_id(string):ワークスペース/チームの ID
- 戻り値:ID と名前を含むスペースのリスト
-
create_space- ワークスペース内に新しいスペースを作成します
- 入力:
workspace_id(string):ワークスペース/チームの IDname(string):新しいスペースの名前
- 戻り値:作成したスペースの詳細
-
get_space_hierarchy- フォルダーとリストを含むスペースの完全な階層を取得します
- 入力:
space_id(string):スペースの ID
- 戻り値:スペースの完全な階層構造
フォルダーのツール
-
get_folders- スペース内のすべてのフォルダーを取得します
- 入力:
space_id(string):スペースの ID
- 戻り値:ID と名前を含むフォルダーのリスト
-
create_folder- スペース内に新しいフォルダーを作成します
- 入力:
space_id(string):スペースの IDname(string):新しいフォルダーの名前
- 戻り値:作成したフォルダーの詳細
-
update_folder- フォルダーの名前を更新します
- 入力:
folder_id(string):更新するフォルダーの IDname(string):フォルダーの新しい名前
- 戻り値:更新後のフォルダーの詳細
-
delete_folder- フォルダーを削除します
- 入力:
folder_id(string):削除するフォルダーの ID
- 戻り値:削除の確認
リスト/ボードツール
-
get_lists- スペース内のすべてのリスト/ボードを取得します
- 入力:
space_id(string):スペースの ID
- 戻り値:ID と名前を含むリスト/ボードの一覧
-
create_list- スペースまたはフォルダーに新しいリスト/ボードを作成します
- 入力:
space_id(string):スペースの IDname(string):新しいリスト/ボードの名前folder_id(string, optional):フォルダーの ID(フォルダー内にリストを作成する場合)
- 戻り値:作成したリスト/ボードの詳細
-
organize_lists- リストを場所(スペース内またはフォルダー内)ごとに整理します
- 入力:
space_id(string):スペースの IDfolder_id(string, optional):特定のフォルダーの ID
- 戻り値:格納先のフォルダーごとに整理されたリスト
タスクツール
get_tasks
- リスト/ボード内のすべてのタスクを取得します
- 入力:
list_id(string):リスト/ボードの ID
- 戻り値:ID、名前、その他の詳細を含むタスクの一覧
-
get_tasks_by_status- リスト/ボード内で指定したステータスのタスクを取得します
- 入力:
list_id(string):リスト/ボードの IDstatus(string):タスクの絞り込みに使用するステータス
- 戻り値:指定したステータスのタスク一覧
-
create_task- リスト/ボードに新しいタスクを作成します
- 入力:
list_id(string):リスト/ボードの IDname(string):タスクの名前description(string, optional):タスクの説明priority(number, optional):タスクの優先度(1-4)due_date(number, optional):ミリ秒単位のタスクの期限tags(string[], optional):タスクに追加するタグ名の一覧
- 戻り値:作成したタスクの詳細
-
get_task- 特定のタスクの詳細を取得します
- 入力:
task_id(string):タスクの ID
- 戻り値:説明やステータスなどを含むタスクのすべての詳細
-
update_task- タスクのプロパティを更新します
- 入力:
task_id(string):タスクの IDname(string, optional):新しいタスク名description(string, optional):新しいタスクの説明priority(number, optional):新しいタスクの優先度(1-4)due_date(number, optional):ミリ秒単位の新しい期限tags(string[], optional):新しいタグ名の一覧
- 戻り値:更新されたタスクの詳細
-
update_task_status- タスクのステータスを更新します
- 入力:
task_id(string):タスクの IDstatus(string):タスクの新しいステータス
- 戻り値:更新されたタスクの詳細
-
assign_task- タスクにユーザーを割り当てます
- 入力:
task_id(string):タスクの IDassignee_ids(string[]):タスクに割り当てるユーザー ID の一覧
- 戻り値:割り当ての確認
-
get_task_subtasks- タスクのサブタスクを取得します
- 入力:
task_id(string):タスクの ID
- 戻り値:詳細を含むサブタスクの一覧
-
delete_task- タスクを削除します
- 入力:
task_id(string):削除するタスクの ID
- 戻り値:削除の確認
-
move_task- タスクを別のリスト/ボードに移動します
- 入力:
task_id(string):移動するタスクの IDlist_id(string):移動先のリスト/ボードの ID
- 戻り値:更新されたタスクの詳細
-
duplicate_task- タスクを複製します。別のリスト/ボードへの複製も指定できます
- 入力:
task_id(string):複製するタスクの IDlist_id(string, optional):移動先のリスト/ボードの ID
- 戻り値:複製したタスクの詳細
-
create_subtask- 親タスクのサブタスクを作成します
- 入力:
parent_task_id(string):親タスクの IDname(string):サブタスクの名前description(string、任意):サブタスクの説明priority(number、任意):サブタスクの優先度(1~4)due_date(number、任意):サブタスクの期限(ミリ秒)tags(string[]、任意):サブタスクのタグ名の一覧
- 戻り値:作成したサブタスクの詳細
-
add_comment- タスクにコメントを追加します
- 入力:
task_id(string):タスクの IDcomment_text(string):コメントのテキスト内容
- 戻り値:追加したコメントの詳細
-
add_attachment- URL を指定してタスクに添付ファイルを追加します
- 入力:
task_id(string):タスクの IDattachment_url(string):追加する添付ファイルの URL
- 戻り値:追加した添付ファイルの詳細
-
bulk_update_tasks- リスト内の複数のタスクを一括で更新します
- 入力:
list_id(string):タスクを含むリスト/ボードの IDtask_ids(string[]):更新するタスク ID の一覧name(string、任意):すべてのタスクに設定する新しい名前description(string、任意):すべてのタスクに設定する新しい説明status(string、任意):すべてのタスクに設定する新しいステータスpriority(number、任意):すべてのタスクに設定する新しい優先度(1~4)due_date(number、任意):すべてのタスクに設定する新しい期限(ミリ秒)tags(string[]、任意):すべてのタスクに設定する新しいタグ名の一覧
- 戻り値:一括更新の確認
-
bulk_delete_tasks- 複数のタスクを一括で削除します
- 入力:
task_ids(string[]):削除するタスク ID の一覧
- 戻り値:一括削除の確認
カスタムフィールドツール
-
get_custom_fields- リスト/ボードのすべてのカスタムフィールドを取得します
- 入力:
list_id(string):リスト/ボードの ID
- 戻り値:ID、名前、種類、設定を含むカスタムフィールドの一覧
-
set_custom_field_value- フィールド ID を使用して、タスクのカスタムフィールド値を設定します
- 入力:
task_id(string):タスクの IDfield_id(string):カスタムフィールドの IDvalue(any):カスタムフィールドに設定する値
- 戻り値:カスタムフィールドの更新確認
-
set_custom_field_value_by_name- フィールド名を使用して、タスクのカスタムフィールド値を設定します
- 入力:
task_id(string):タスクの IDlist_id(string):リストの ID(名前でカスタムフィールドを検索するために必要)field_name(string):カスタムフィールドの名前value(any):カスタムフィールドに設定する値
- 戻り値:カスタムフィールドの更新確認
-
remove_custom_field_value- タスクからカスタムフィールド値を削除します
- 入力:
task_id(string):タスクの IDfield_id(string):カスタムフィールドの ID
- 戻り値:カスタムフィールドの削除確認
インストール
前提条件
- Python 3.10 以降
- API キーを持つ ClickUp アカウント
uv を使用する(推奨)
uv を使用する場合、特別なインストールは必要ありません。uvx を使用して、clickup-mcp-server を直接実行します。
uv --directory "/path/to/clickup-mcp-server" run clickup-mcp-server --api-key YOUR_API_KEY
または、.env ファイルを使用してください(「設定」セクションを参照)。
PIP を使用する
別の方法として、pip 経由で clickup-mcp-server をインストールできます。
pip install clickup-mcp-server
インストール後、次のようにスクリプトとして実行できます。
python -m clickup_mcp_server --api-key YOUR_API_KEY
設定
API キー
このサーバーを使用するには ClickUp API キーが必要です。ClickUp API Settings から取得できます。
API キーは次の 2 つの方法で指定できます。
- コマンドライン引数:
--api-key YOUR_API_KEY .envファイル内の環境変数:CLICKUP_API_KEY=your_api_key_here
Claude Desktop での使用方法
以下を claude_desktop_config.json に追加します。
uvx を使用する場合
"mcpServers": {
"clickup": {
"command": "uvx",
"args": ["clickup-mcp-server", "--api-key", "YOUR_API_KEY"]
}
}
docker を使用する場合
"mcpServers": {
"clickup": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "CLICKUP_API_KEY=YOUR_API_KEY", "mcp/clickup"]
}
}
pip でインストールする場合
"mcpServers": {
"clickup": {
"command": "python",
"args": ["-m", "clickup_mcp_server", "--api-key", "YOUR_API_KEY"]
}
}
VS Code での使用方法
手動でインストールする場合は、以下の JSON ブロックを VS Code のユーザー設定(JSON)ファイルに追加します。Ctrl + Shift + P を押して Preferences: Open Settings (JSON) と入力すると設定できます。
必要に応じて、ワークスペース内の .vscode/mcp.json というファイルに追加することもできます。これにより、設定を他のユーザーと共有できます。
.vscode/mcp.jsonファイルではmcpキーは不要です。
{
"mcp": {
"servers": {
"clickup": {
"command": "uvx",
"args": ["clickup-mcp-server"],
"env": {
"CLICKUP_API_KEY": "YOUR_API_KEY"
}
}
}
}
}
Docker でインストールする場合:
{
"mcp": {
"servers": {
"clickup": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CLICKUP_API_KEY=YOUR_API_KEY",
"mcp/clickup"
]
}
}
}
}
Zed での使用方法
Zed の settings.json に追加します。
uvx を使用する場合
"context_servers": [
"mcp-server-clickup": {
"command": {
"path": "uvx",
"args": ["clickup-mcp-server"]
},
"env": {
"CLICKUP_API_KEY": "YOUR_API_KEY"
}
}
],
pip でインストールする場合
"context_servers": {
"mcp-server-clickup": {
"command": {
"path": "python",
"args": ["-m", "clickup_mcp_server"]
},
"env": {
"CLICKUP_API_KEY": "YOUR_API_KEY"
}
}
},
使用例
Claude によるタスク管理
Claude は ClickUp のタスク管理を支援できます。
-
タスク計画の作成: ClickUp の特定のタスクに基づいて計画を作成するよう Claude に依頼します。Claude は以下を行います。
- 名前または ID でタスクを検索する
- 説明とサブタスクを分析する
- タスクを完了するための構造化された計画を作成する
-
タスクの自動化: コード関連の指示が含まれるタスクの場合、Claude は以下を行えます。
- ClickUp からタスクの詳細を取得する
- タスクのステータスを「In Progress」に更新する
- タスクの要件に従ってコードを実装する
- 完了したサブタスクにチェックを付ける
- 完了時にステータスを「Ready for Review」に更新する
-
タスクのレポート作成: 特定のステータスのタスクの要約を作成するよう Claude に依頼します。
- 「In Progress」とマークされたすべてのタスクを取得する
- 完了見込みを含むステータスレポートを作成する
- ブロッカーや依存関係に関する新しいタスクを作成する
-
カスタムフィールドの管理: Claude はカスタムフィールドを活用して、ワークフローを改善できます。
- プロジェクト内のすべてのカスタムフィールドを一覧表示し、利用可能なメタデータを確認する
- PR の作成時に「GitHub Pull Request URL」などのカスタムフィールドの値を設定する
- 「Sprint」、「Story Points」、「Priority」などのプロジェクト追跡フィールドを更新する
- 例:「このブランチの PR を作成し、関連する ClickUp タスクの『GitHub Pull Request URL』カスタムフィールドに GitHub URL を追加する」
デバッグ
詳細なログを出力するには、-v または -vv フラグを指定してサーバーを実行します。
uvx clickup-mcp-server -vv
MCP インスペクターを使用してサーバーをデバッグできます。
npx @modelcontextprotocol/inspector uvx clickup-mcp-server
開発
開発環境のセットアップ
-
リポジトリをクローンします。
git clone https://github.com/yourusername/clickup-mcp-server.git cd clickup-mcp-server -
開発用の依存関係をインストールします。
uv pip install -e ".[dev]" -
テストを実行します。
pytest
Docker ビルド
Docker イメージをビルドします。
docker build -t mcp/clickup .
実装状況
この MCP サーバーでは、ClickUp の主要な機能の大部分を実装しています。以下に、実装済みの機能と今後実装予定の機能を詳しく示します。
タスク管理 ✅
主要なタスク管理機能はすべて実装済みです。
| 機能 | 状況 | 説明 |
|---|---|---|
| タスクの作成 | ✅ | 任意のリストまたはボードに新しいタスクを作成 |
| タスクの更新 | ✅ | 名前、説明など、タスクのプロパティを変更 |
| タスクの削除 | ✅ | ClickUp からタスクを削除 |
| タスクの移動 | ✅ | 異なるリストやボード間でタスクを移動 |
| タスクの複製 | ✅ | 必要に応じて別の場所にタスクのコピーを作成 |
| 日付の設定 | ✅ | タスクの開始日と期限を設定 |
| サブタスクの表示 | ✅ | 任意の親タスクのサブタスクを取得 |
| サブタスクの作成 | ✅ | 既存のタスクにサブタスクを追加 |
| サブタスクの管理 | ✅ | サブタスクを更新および削除 |
| コメントの追加 | ✅ | Markdown に対応したコメントをタスクに追加 |
| 添付ファイルの追加 | ✅ | URL 経由でファイルをタスクに添付 |
| 単一操作 | ✅ | 個々のタスクに対して操作を実行 |
| 一括操作 | ✅ | 複数のタスクに対して同時に操作を実行 |
ワークスペースの整理 ✅
ワークスペースの整理に関するすべての機能が実装されています。
| 機能 | 状況 | 説明 |
|---|---|---|
| スペースへの移動 | ✅ | ワークスペース内のスペースを参照して選択します |
| フォルダーへの移動 | ✅ | スペース内のフォルダーを参照して選択します |
| リストへの移動 | ✅ | スペースまたはフォルダー内のリストを参照して選択します |
| スペースの作成 | ✅ | ワークスペースに新しいスペースを作成します |
| リストの作成 | ✅ | スペースまたはフォルダーに新しいリストを作成します |
| フォルダーの作成 | ✅ | スペース内に新しいフォルダーを作成します |
| リストの整理 | ✅ | 場所ごとにリストをグループ化して整理します |
| フォルダー内のリスト | ✅ | フォルダー内にリストを作成して管理します |
| 階層の表示 | ✅ | ワークスペースの構造全体を確認できます |
| パスによる移動 | ✅ | パス表記を使って効率よく移動できます |
その他の機能 🔧
一部の高度な機能は実装済みで、その他の機能は今後のリリースでの提供を予定しています。
| 機能 | 状況 | 説明 |
|---|---|---|
| グローバル検索 | 🔄 | ワークスペース全体から名前または ID で項目を検索します (予定) |
| 大文字と小文字を区別しない検索 | 🔄 | 大文字と小文字を区別せずに名前を照合します (予定) |
| 基本的な Markdown | ✅ | 説明で基本的な Markdown をサポートします |
| 拡張 Markdown | ✅ | ClickUp で適切に表示される高度な Markdown をサポートします |
| レート制限 | 🔄 | API のレート制限を組み込みで処理します (予定) |
| エラー処理 | ✅ | エラーを包括的に検出して報告します |
| 入力の検証 | ✅ | API に送信する前にすべての入力を検証します |
| API のカバレッジ | 🔄 | ClickUp API の追加機能をサポートします (進行中) |
凡例:
- ✅ 実装済み
- 🔄 予定または進行中
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。つまり、MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。