AI連携(MCP)
G Kanbanは読み取り専用のMCP(Model Context Protocol)エンドポイントを提供しています。お使いのAIエージェントから接続して、同期済みのボードを読み取ることができます。ボードの内容を変更することは一切できません。また、G Kanban側でAIを実行しているわけではないため、ボードの内容が当社運用のモデルを通過することもありません。
以下の両方が必要です。
MCPは同期済みのボードを読み取ります。無料アカウントやローカル保存のみのアカウントではクラウド上に読み取るデータが存在しないため、エンドポイントは空の一覧ではなく、Proが必要である旨のエラーを返します。
トークンを作成する
Section titled “トークンを作成する”トークンはG Kanbanの設定から管理します。
- **設定 → AI連携(MCP)**を開きます。
- 後で見分けられるようにトークン名を入力します(例:「Claude Desktop」や「Claude Code」)。
- トークンを作成をクリックします。
- 生成されたトークンをすぐにコピーします。トークンは
gk_ro_で始まり、同期済みの全ボードへの読み取り権限を持ちます。パスワードと同じように慎重に扱ってください。
ダイアログには、実際のエンドポイントURLがあらかじめ入力された設定スニペットや claude mcp add コマンドも表示されます。
クライアントに接続する
Section titled “クライアントに接続する”以下の例ではプレースホルダー(<project-ref>、gk_ro_<your-token>)を使っています。アプリからコピーするスニペットやコマンドには実際のエンドポイントURLとトークンが入力済みなので、そちらをコピーするのが確実です。
Claude Code
Section titled “Claude Code”ターミナルで claude mcp add コマンドを実行します。
claude mcp add g-kanban "https://<project-ref>.supabase.co/functions/v1/mcp" \ --transport http --header "Authorization: Bearer gk_ro_<your-token>"実行後、Claude Codeのセッション内で /mcp を実行し、g-kanban が接続済みとして表示されていることを確認します。
Claude Desktop / Cursor
Section titled “Claude Desktop / Cursor”Claude DesktopとCursorは npx mcp-remote を使用して接続します(Node.jsのインストールが必要です)。以下のJSONスニペットをクライアントのMCP設定ファイル(Claude Desktopの場合は claude_desktop_config.json)に貼り付けてください。
{ "mcpServers": { "g-kanban": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<project-ref>.supabase.co/functions/v1/mcp", "--header", "Authorization: Bearer gk_ro_<your-token>" ] } }}設定を保存後、クライアントを再起動してください。
どのような質問ができるか
Section titled “どのような質問ができるか”接続が完了すると、AIエージェントは5つの読み取り専用ツール(list_boards、get_board、get_card、search_cards、board_stats)を使ってボードに問い合わせを行えます。以下は質問例です。
| プロンプト | ツール | 返される内容 |
|---|---|---|
| 「どんなボードがある?」 | list_boards | ボードのタイトル、カード数および列数 |
| 「バックログに何がある?重大な優先度のカードを教えて」 | get_board | 指定した列のカード一覧(最優先カードを特定) |
| 「<ボード名>で停滞しているものは?」 | board_stats + get_board | 停滞中のWIP件数、最も古いカードの経過日数、各カードの鮮度(fresh、aging、stale) |
| 「先週は何枚のカードを完了した?」 | board_stats | 7日間のスループット(throughput7d) |
| 「『請求書』に触れているカードをすべて探して」 | search_cards | ボード全体を横断した、タイトルおよび説明文の部分一致検索結果 |
| 「『<カード名>』の説明とチェックリストを全部見せて」 | get_card | 完全な説明文、チェックリストの項目、および列の移動履歴 |
| 「期限切れのカードは?」 | get_board | dueDate フィールドに基づいてエージェントが判定した期限切れカード |
発生する可能性のあるエラー
Section titled “発生する可能性のあるエラー”接続時やMCPエンドポイントへの問い合わせ時に問題が発生した場合、エラー応答の意味は以下の通りです。
| 状況 | レスポンス |
|---|---|
| 有効なProトークン | 200、データを含むJSON-RPC result |
| トークンの未指定・誤り・無効化済み | HTTP 401、error.code -32002(設計上、3つのケースすべてで同じ応答になります) |
| 非Proアカウント | HTTP 403、error.code -32003(“requires Pro with cloud sync”) |
| 不明なツール名 | JSON-RPC error -32602 |
| リクエスト頻度制限(スロットリング)への到達 | HTTP 429、error.code -32029(1分あたりの制限値は十分な余裕を持って設定されています) |
トークンの無効化と再生成(ローテーション)
Section titled “トークンの無効化と再生成(ローテーション)”- トークンの無効化: G Kanbanで設定 → AI連携(MCP)を開き、該当するトークンの横にある無効化をクリックします。無効化は即座に反映され、そのトークンによる次回以降のリクエストはHTTP
401を返します。 - トークンの再生成(ローテーション): 設定で新しいトークンを作成し、クライアント側の設定を新しいトークンで更新してから、古いトークンを無効化します。
- 使用状況の確認: 設定の各トークン行にある最終使用の日時を確認することで、不要になったトークンを特定しやすくなります。
- 読み取り専用(書き込みは未対応): MCPエンドポイントは完全に読み取り専用です。AIエージェントはボード、列、カードの情報を読み取ることはできますが、カードの作成・移動・編集・削除や、ボード設定の変更を行うことはできません。
- カードの説明文:
get_boardでは、レスポンスのペイロードを抑えてAIクライアントのトークン消費を節約するため、意図的にカードの説明文を除外しています。カードの完全な説明文、チェックリスト、履歴を取得するには、エージェント側でget_cardを呼び出します。