コンテンツにスキップ

AI連携(MCP)

G Kanbanは読み取り専用のMCP(Model Context Protocol)エンドポイントを提供しています。お使いのAIエージェントから接続して、同期済みのボードを読み取ることができます。ボードの内容を変更することは一切できません。また、G Kanban側でAIを実行しているわけではないため、ボードの内容が当社運用のモデルを通過することもありません。

以下の両方が必要です。

MCPは同期済みのボードを読み取ります。無料アカウントやローカル保存のみのアカウントではクラウド上に読み取るデータが存在しないため、エンドポイントは空の一覧ではなく、Proが必要である旨のエラーを返します。

トークンはG Kanbanの設定から管理します。

  1. **設定 → AI連携(MCP)**を開きます。
  2. 後で見分けられるようにトークン名を入力します(例:「Claude Desktop」や「Claude Code」)。
  3. トークンを作成をクリックします。
  4. 生成されたトークンをすぐにコピーします。トークンは gk_ro_ で始まり、同期済みの全ボードへの読み取り権限を持ちます。パスワードと同じように慎重に扱ってください。

ダイアログには、実際のエンドポイントURLがあらかじめ入力された設定スニペットや claude mcp add コマンドも表示されます。

以下の例ではプレースホルダー(<project-ref>、gk_ro_<your-token>)を使っています。アプリからコピーするスニペットやコマンドには実際のエンドポイントURLとトークンが入力済みなので、そちらをコピーするのが確実です。

ターミナルで claude mcp add コマンドを実行します。

Terminal window
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は 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>"
]
}
}
}

設定を保存後、クライアントを再起動してください。

接続が完了すると、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_stats7日間のスループット(throughput7d)
「『請求書』に触れているカードをすべて探して」search_cardsボード全体を横断した、タイトルおよび説明文の部分一致検索結果
「『<カード名>』の説明とチェックリストを全部見せて」get_card完全な説明文、チェックリストの項目、および列の移動履歴
「期限切れのカードは?」get_boarddueDate フィールドに基づいてエージェントが判定した期限切れカード

接続時や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 を呼び出します。