Planka V2 について
Planka V2はPlanka v2.x向けのMCPサーバーで、AIエージェントが自然言語でプロジェクト、ボード、カード、タスクを管理できます。コメント、ラベル、メンバー割り当て、カードの時間記録にも対応し、セルフホスト版とクラウド版を利用できます。
主な機能
- 01プロジェクト、ボード、リストの管理
- 02カードの作成、移動、管理
- 03タスクリストとタスクの管理
- 04コメント、ラベル、メンバー割り当て
- 05カード時間の記録とサマリー生成
活用シーン
- 01プロジェクトとボードのワークフロー設定
- 02カードのチェックリスト作成とタスク一括追加
- 03期限超過カードの検索とリストへの移動
- 04プロジェクトまたはボードのサマリー確認
MCP 対応
このMCPサーバーは、Planka v2 APIのプロジェクト、ボード、カードなどの機能をツールとしてMCPクライアントに公開します。標準的なstdio MCPサーバーで、セルフホスト版またはクラウド版のPlankaに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| action | enum | はい | 実行するアクションget_projects | create_project | get_project | update_project | delete_project | get_boards | create_board | get_board | update_board | delete_board | get_board_summary | get_project_summary |
| id | string | いいえ | プロジェクトまたはボードの ID |
| projectId | string | いいえ | プロジェクトの ID |
| name | string | いいえ | プロジェクトまたはボードの名前 |
| description | string | いいえ | プロジェクトの説明 |
| position | number | いいえ | ボードの位置 |
| type | string | いいえ | プロジェクト(private/shared)またはボードの種類 |
| backgroundType | enum | いいえ | update_project の背景タイプgradient | image |
| backgroundGradient | string | いいえ | update_project の背景グラデーション |
| page | number | いいえ | ページネーションのページ番号(1 始まり) |
| perPage | number | いいえ | 1 ページあたりの項目数 |
| boardId | string | いいえ | 概要を取得するボードの ID |
| includeTaskDetails | boolean | いいえ | 各カードの詳細なタスク情報を含めるかどうか |
| includeComments | boolean | いいえ | 各カードのコメントを含めるかどうか |
詳細
Planka v2.x MCP
Claude、Cursor、Codex、その他の MCP クライアントを Planka v2.x のボードに直接接続できます。
Model Context Protocol(MCP)を通じて、AI エージェントにプロジェクト、ボード、カード、タスク、コメント、ラベル、ワークフローへの構造化された安全なアクセスを提供します。
重要
Planka v2.x 専用に構築されています。この MCP は Planka v1.x とは互換性がありません。
Planka MCP を選ぶ理由
Planka は人間のユーザー向けに優れたウェブインターフェースを提供します。一方、AI エージェントには、プロジェクト、ボード、カード、タスク、コメント、ワークフローへの構造化されたアクセスが必要です。
この MCP サーバーは、Model Context Protocol(MCP)を通じて Planka v2 API を公開し、Claude、Cursor、Codex、その他の AI エージェントが自然言語で Planka を操作できるようにします。
対応する Planka バージョン
| Planka バージョン | ステータス |
|---|---|
| 2.0.0-rc.2 | ✅ テスト済み |
| 2.1.1 | ✅ テスト済み |
| 2.2.1 | ✅ テスト済み |
| 新しい 2.x | ⚠️ 動作する見込み |
機能
- プロジェクトとボードの完全な管理
- カードのライフサイクル全体の管理
- タスクリストとタスクのサポート
- コメント、ラベル、割り当て
- カードの時間追跡
- プロジェクトとボードの概要
- MCP ネイティブのツールインターフェース
- 主要な MCP クライアントのサポート
- セルフホスト版およびクラウド版 Planka のサポート
会話の例
プロジェクトの設定
ユーザー
「Website Redesign」という名前のプロジェクトを作成し、「Backlog」、「In Progress」、「Done」というボードを作成してください。
アシスタント
✓ Created project "Website Redesign"
✓ Created board "Backlog"
✓ Created board "In Progress"
✓ Created board "Done"
Project setup completed successfully.
タスクの作成
ユーザー
Backlog ボードに「Implement authentication」というカードを作成し、次のタスクを追加してください。
- ログインフローを設計する
- JWT 認証を実装する
- パスワードリセットを追加する
- テストを作成する
アシスタント
✓ Created card "Implement authentication"
✓ Created task list
✓ Added 4 tasks
ワークフローの自動化
ユーザー
自分に割り当てられている期限超過のカードをすべて見つけて、「Blocked」に移動し、理由を説明するコメントを追加して、プロジェクトの概要を生成してください。
アシスタント
✓ Found 7 overdue cards
✓ Moved cards to "Blocked"
✓ Added explanatory comments
✓ Generated updated project summary
利用可能なツール
| ツール名 | アクション | 説明 | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | | `project_board_manager` | `get_projects` · `create_project` · `get_project` · `update_project` · `delete_project` · `get_boards` · `create_board` · `get_board` · `update_board` · `delete_board` · `get_board_summary` · `get_project_summary` | プロジェクトとボード、および集計サマリー | | `list_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | ボード内のカンバンリスト | | `card_manager` | `get_all` · `create` · `get_one` · `update` · `move` · `duplicate` · `delete` · `create_with_tasks` · `get_details` | カード、およびタスクリストを一度に作成する機能 | | `stopwatch` | `start` · `stop` · `get` · `reset` | カードの時間記録 | | `label_manager` | `get_all` · `create` · `update` · `delete` · `add_to_card` · `remove_from_card` | ボードのラベルとカードへの割り当て | | `task_list_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | カード内のタスクリスト(Planka v2.0 のエンティティ) | | `task_manager` | `get_all` · `create` · `batch_create` · `get_one` · `update` · `delete` · `complete_task` | 個々のタスク、および一括作成 | | `comment_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | カードのコメント | | `membership_manager` | `get_all` · `create` · `get_one` · `update` · `delete` | ボードレベルのメンバーシップとロール(`editor` / `viewer`) | | `card_membership_manager` | `get_all` · `get_users` · `create` · `delete` | **ID、メールアドレス、またはユーザー名**でカードメンバーを割り当て/削除 |card_manager の action: "get_details" には、読み取り専用のメタデータを含む attachments 配列が含まれます。メタデータには、添付ファイルとカードの ID、作成者のユーザー ID、名前、種類、MIME タイプ、サイズ、ダウンロードまたはリンクの URL、タイムスタンプが含まれます。添付ファイルの内容をダウンロードまたは返却することはありません。
クイックスタート
要件
- 実行中の Planka v2.x インスタンス
- AI エージェント専用の Planka ユーザーアカウント
- Node.js 18 以降(ローカルで実行する場合)
重要
MCP アカウントを作成した後、MCP サーバーを設定または起動する前に、そのアカウントで Planka のウェブインターフェースにログインし、 利用規約に同意してください。新しいアカウントごとに必要です。
MCP クライアントを設定する
すべての MCP 対応クライアントは同じ基本コマンドを使用します。異なるのは設定ファイルの場所(場合によっては JSON ラッパー)のみです。お使いのツールに応じた設定については、以下のクライアント設定例を参照してください。
基本の設定ブロックは常に次のとおりです。
{
"command": "npx",
"args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "[email protected]",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
代替手段:ローカルビルドから実行する
{
"command": "node",
"args": ["/absolute/path/to/planka-v2-mcp/dist/index.js"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "[email protected]",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
サーバー自体へのコントリビュートや、バージョンを固定したオフラインビルドが必要な場合に便利です。
ヒント
PLANKA_IGNORE_SSLは、信頼できるローカル環境で自己署名証明書を使用する場合にのみ"true"に設定してください。本番環境では設定しないでください。
接続を確認する
まず、エージェントに「Planka のプロジェクトを一覧表示して」のような読み取り専用の操作を依頼してください。実際の応答が返ってくれば、正しく接続されています。
クライアント設定の例
ほとんどの MCP クライアントでは、mcpServers の JSON 形式はまったく同じです。異なるのは設定ファイルの場所だけです。形式が異なるクライアント(Codex、Continue、Zed)については、以下に個別のブロックを記載しています。
標準の mcpServers を使用するクライアント - Claude Desktop、Claude Code、Cursor、Windsurf、Cline、Antigravity
{
"mcpServers": {
"planka-mcp": {
"command": "npx",
"args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "[email protected]",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
}
}
このブロックを該当する設定ファイルに追加します。
| クライアント | 設定ファイル |
|---|---|
| Claude Desktop | macOS:~/Library/Application Support/Claude/claude_desktop_config.json · Windows:%APPDATA%\Claude\claude_desktop_config.json |
| Claude Code (CLI) | プロジェクトのルートにある .mcp.json(または claude mcp add を使用。下記参照) |
| Cursor | ~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline(VS Code) | cline_mcp_settings.json。Cline → MCP Servers → Configure MCP Servers から設定します(サーバーエントリに "disabled": false, "autoApprove": [] を追加してください) |
| Antigravity | Settings → MCP Servers → Add Server から追加するか、設定ファイルを直接編集します |
メモ
Claude Code では、JSON を手動で編集する代わりに、1 行のコマンドでサーバーを追加することもできます。
claude mcp add planka-mcp \ --env PLANKA_BASE_URL=https://your-planka-instance.com \ --env [email protected] \ --env PLANKA_AGENT_PASSWORD=your-secure-password \ --env PLANKA_IGNORE_SSL=true \ -- npx -y @goldpulpy/planka-v2-mcp@latest
保存後、クライアントを再起動してください。
Codex CLI
~/.codex/config.toml を編集します。
[mcp_servers.planka-mcp]
command = "npx"
args = ["-y", "@goldpulpy/planka-v2-mcp@latest"]
[mcp_servers.planka-mcp.env]
PLANKA_BASE_URL = "https://your-planka-instance.com"
PLANKA_AGENT_EMAIL = "[email protected]"
PLANKA_AGENT_PASSWORD = "your-secure-password"
PLANKA_IGNORE_SSL = "true"
または、1 行で追加します。
codex mcp add planka-mcp -- npx -y @goldpulpy/planka-v2-mcp@latest
その後、生成された [mcp_servers.planka-mcp.env] ブロックに PLANKA_* 変数を設定します。
Continue(VS Code / JetBrains 拡張機能)
~/.continue/config.yaml に追加します。
mcpServers:
- name: planka-mcp
command: npx
args:
- -y
- "@goldpulpy/planka-v2-mcp@latest"
env:
PLANKA_BASE_URL: https://your-planka-instance.com
PLANKA_AGENT_EMAIL: [email protected]
PLANKA_AGENT_PASSWORD: your-secure-password
PLANKA_IGNORE_SSL: "true"
Zed
~/.config/zed/settings.json(macOS/Linux)または %APPDATA%\Zed\settings.json(Windows)を編集するか、Cmd+Shift+P → "zed: open settings" から開きます。
{
"context_servers": {
"planka-mcp": {
"source": "custom",
"command": "npx",
"args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "[email protected]",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
}
}
"source": "custom" は、手動で追加したサーバー(Zed 拡張機能からインストールしたサーバーとは異なります)に必要です。Zed は保存後にサーバーを自動で再読み込みするため、エディターを再起動する必要はありません。
その他の MCP 対応クライアント
このサーバーは標準的な stdio MCP サーバーです。command / args / env 形式に対応するクライアントであれば、どれでも使用できます。以下を指定してください。
npx -y @goldpulpy/planka-v2-mcp@latest
上記のとおり、4 つの PLANKA_* 環境変数を設定してください。
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
PLANKA_BASE_URL | ✅ | - | Planka インスタンスの完全な URL |
PLANKA_AGENT_EMAIL | ✅ | - | 専用エージェントユーザーのログイン用メールアドレス |
PLANKA_AGENT_PASSWORD | ✅ | - | エージェントユーザーのパスワード |
PLANKA_IGNORE_SSL | ❌ | false | SSL 検証をスキップします。自己署名証明書/ローカル証明書の場合のみ使用してください |
セキュリティ
- 認証には専用の Planka ユーザーアカウントを使用します。
- 認証情報は環境変数のみを通じて渡されます。
- MCP サーバーは、実行中のプロセス外にボードデータを保存しません。
- SSL 証明書の検証はデフォルトで有効です。
PLANKA_IGNORE_SSL=trueは、信頼できるローカル環境またはセルフホスト環境でのみ使用してください。
トラブルシューティング
クライアントにツールが表示されない/接続が失敗しても何も表示されない
PLANKA_BASE_URLの末尾にスラッシュがなく、MCP サーバーを実行しているマシンからアクセスできることを確認してください(ブラウザーからだけアクセスできる場合は不十分です)。- エージェントユーザーが Planka の通常の Web UI から正確な認証情報でログインでき、利用規約に同意していることを確認してください。
SSL/証明書エラー
- インスタンスが自己署名証明書を使用している場合は、
"PLANKA_IGNORE_SSL": "true"を設定してください。本番環境では使用せず、代わりに有効な証明書を使用してください。
カードは作成されるが、チェックリスト/サブタスクが表示されない
- カードの種類が
"project"(デフォルト)であることを確認してください。"story"タイプとして作成されたカードでは、タスクリストの表示方法が異なります。
開発
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Start the bundled Planka development instance
npm run planka:up
# Build the project
npm run build
# Run @modelcontextprotocol/inspector
npm run inspector
開発用インスタンスには Docker Compose が必要です。http://localhost:3000 で利用できます(ログイン:[email protected] / admin)。ローカルで使用するには、.env の URL とログイン情報を更新してください。新しく作成した MCP アカウントと同様に、MCP サーバーでアカウントを使用する前に、ブラウザーからサインインして利用規約に同意してください。データを保持したままインスタンスを停止するには npm run planka:down を実行します。インスタンスを停止してボリュームを削除するには npm run planka:clear を実行します。
デモボードのシード
開発専用のシードコマンドを使うと、ローカルでのテストやデモに適したボードを作成できます。実行前にプロジェクトの依存関係をインストールし、アクセス可能な Planka v2 インスタンスと有効な PLANKA_BASE_URL、PLANKA_AGENT_EMAIL、PLANKA_AGENT_PASSWORD の値を .env に設定してください。
# Reuse or create the private "Demo Project", then create "Demo Board"
npm run seed
# Seed an existing project
npm run seed -- --project-id <project-id>
# Choose a different board name
npm run seed -- --project-id <project-id> --board-name "My Demo Board"
# Show all options
npm run seed -- --help
ボードには、デフォルトのワークリストにまたがるカード、説明、相対的な期限、タグとして使われる Planka ラベル、タスクリスト、完了済みおよび未完了のタスク、コメントが含まれます。コマンドが成功すると、プロジェクト ID、ボード ID、ボード名、リソース数が表示されます。
シードコマンドは、指定した名前と完全に一致するボードがすでに含まれているプロジェクトの変更を拒否します。別の名前を選ぶには --board-name を使用してください。ボード作成後にエラーが発生した場合、コマンドは失敗した段階とボード ID を報告し、途中まで作成されたボードを確認できる状態で残します。同じ名前で再試行する前に、そのボードを Planka で削除してください。
シードのソースと、別途コンパイルされる .seed-dist/ 出力は開発専用であり、MCP サーバーのビルドや公開パッケージには含まれません。
コントリビューション
コントリビューションを歓迎します。詳細は CONTRIBUTING.md をご覧ください。
謝辞
このプロジェクトは Navya-Tecnologia/planka-v2-mcp のフォークであり、同プロジェクトは bradrisse/kanban-mcp を基盤としています。このコードベースの基盤を築いてくださった @virapa と @bradrisse に感謝します。
ライセンス
MIT License の下でライセンスされています。詳細は LICENSE をご覧ください。
このプロジェクトは MCP インターフェースのみに特化しています。Planka サーバー自体のセットアップについては、Planka の公式ドキュメントをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。