AIエージェントから使う(MCP)
アプリやゲームを運営するのに、ダッシュボードを開く必要はありません。KUMODeckを、使っているAIエージェント(Claude Code・Codex・Cursor・そのほかMCPに対応したエージェント)に一度つなげば、あとは頼むだけです。
- 「昨日のXの投稿から何人来た?」
- 「先月プロジェクトにいくらかかった? 前払いの残高はあといくら?」
- 「productionの設定でクラウドセーブをONにしてpushして」(先にあなたが確認します)
- 「productionを前の版にロールバックして」
- 「developmentでFunctionsをONにして、
functions/フォルダをデプロイして」
アシスタントはあなたの開発者アカウントでKUMODeckのMCPサーバーと通信します。秘密鍵を目にすることはなく、アプリを変える操作は、あなたの確認なしには行われません。
プロジェクトを始めるところからエラーの直し方まで、そのままコピーできる頼み方の例はAIエージェントに話しかける例にまとめています。
つなぐ#
Claude Code#
claude mcp add --transport http kumo https://mcp.kumodeck.com/mcp続けてClaude Codeの中で/mcp→kumo→Authenticateを実行します。ブラウザでKUMODeckのダッシュボードが開きます。
- KUMODeckの開発者アカウントで、ダッシュボードと同じようにログインします(保存したパスワード、パスキー、Google・GitHubが使えます)。ダッシュボードにログイン済みなら、この手順はありません。
- エージェントの名前と、許可の送り先(このパソコンのエージェントなら
localhost:…のようなアドレス)を確かめます。アシスタントにできることと触ってよいプロジェクトを選び、許可します。ブラウザがエージェントに戻り、接続が済みます。
アシスタントにできることは、3つから選びます。
- 作って公開する(おすすめ・最初に選ばれています): すべてを見る・プロジェクトの設定を変える・公開とデプロイ・サーバー関数の管理。本番への反映と削除は、そのたびに確認します。
- 見るだけ: プロジェクト・利用者・利用料・前払い残高・サーバー関数とそのログを見ます。何も変えません。
- 自分で選ぶ: スコープを1つずつ選びます(下の表。エージェントが求めたものだけが並びます)。利用者のBANは、どの選び方にも入っていないので、ここでだけ足せます。
後から変えるには、/mcpで切断してもう一度認証します。
Codex#
Codex の CLI・IDE の拡張・デスクトップのアプリで同じ設定を使います。
codex mcp add kumo --url https://mcp.kumodeck.com/mcp
codex mcp login kumocodex mcp loginで、上と同じダッシュボードの画面が開きます。
Codex(ほかの多くのエージェントも)は、会話を始めるときにMCPのツールを読み込みます。会話の途中でつないだときは、その会話ではkumodeckのCLIで続け、KUMODeckのMCPのツールは次の会話から使えます。エージェントが保存されたトークンやキーを読んでKUMODeckのAPIを直接呼ぶことはありません(本番や削除の確認を飛ばすため)。CLIそのものがそこで動かない(入っていない・ログインできない)ときだけ、エージェントが新しい会話を始めるよう頼みます。まだ使えないものを頼まれたときは「いまはまだ使えない」と伝え、代わりにできることを出します(新しい会話や再起動では変わらないので、それは勧めません)。
Codexは確認のフォームを出せません。本番への変更では、代わりにダッシュボードで確認するリンクを渡します(リンクで確認)。
Cursor#
プロジェクトの.cursor/mcp.json(またはグローバルの設定)に次を書き、Settings → MCPでkumoをつなぎます。
{ "mcpServers": { "kumo": { "url": "https://mcp.kumodeck.com/mcp" } } }VS Code(Copilotのエージェントモード)#
.vscode/mcp.jsonに次を書き、MCPの画面でkumoのサーバーを起動します。
{ "servers": { "kumo": { "type": "http", "url": "https://mcp.kumodeck.com/mcp" } } }その他のエージェント#
KUMODeckはHTTP(Streamable HTTP)でつなぐリモートのMCPサーバーで、どのエージェントからも同じです。kumoという名前で、URL https://mcp.kumodeck.com/mcpのサーバーを足します。書く場所とキーの名前はエージェントごとに違います。つまずきやすいものは次のとおりです。
| エージェント | 書くもの |
|---|---|
| Gemini CLI | gemini mcp add --transport http kumo https://mcp.kumodeck.com/mcp。設定ファイルに書くときはurlではなくhttpUrl(urlは古いSSEの扱いになります) |
| Windsurf / Devin | MCPの設定に{ "mcpServers": { "kumo": { "serverUrl": "https://mcp.kumodeck.com/mcp" } } }(またはdevin mcp add kumo https://mcp.kumodeck.com/mcp) |
| Zed | settings.jsonに{ "context_servers": { "kumo": { "url": "https://mcp.kumodeck.com/mcp" } } } |
| そのほかのMCP対応エージェント | kumoという名前で、https://mcp.kumodeck.com/mcpのリモート(HTTP)のサーバー |
エージェントがつなぎに行くと、同じダッシュボードの画面が開きます。ログインしていなければログインし、上と同じようにスコープとプロジェクトを選びます。
Note 多くのエージェントは、つなぐときに自分でアプリの登録をするため、KUMODeckは名前を確かめられません。エージェントがこのパソコンで動いているときは、画面に「いまこのパソコンのAIエージェントからつなごうとしましたか?」と出ます。自分でつないだのなら、そのまま進めてください。代わりに「アクセスがインターネット上のサーバーに送られる」という警告が出たときは、その宛先に心当たりがなければ止めてください。
プロジェクトのAGENTS.md(KUMODeckのテンプレートにはどれも入っています)は、Codex・Cursor・Windsurf / Devin・Zedが読みます。Claude CodeはCLAUDE.mdから、Gemini CLIはGEMINI.mdから読みます。よくある部品の作り方(Skill。ログインやセーブ、ランキング・チャットなどのゲーム向けのもの)の一覧はINDEX.mdで、.agents/skills/(Codex・Cursorなど多くのエージェントが見る所)と.claude/skills/(Claude Code)に同じものがあります。
新しいプロジェクトを始める#
アカウントとプロジェクトの作成は、MCPではなくターミナルで行います(パスワードをアシスタントに通さないため。テンプレートのファイルもあなたのディスクに置く必要があるため)。
kumodeck signup # これだけは自分で打つ
kumodeck create my-game --init # ここからはアシスタントに任せられます(テンプレート+プロジェクト+鍵。自分のアプリのフォルダなら `kumodeck init`)あとは「configをpushして、developmentに出して、productionにも出して、シェアをONにして」と頼むだけです。アシスタントはローカルでkumodeck config push・kumodeck deploy・kumodeck share onを実行します(MCPのshare_enableでONにすることもできます。productionはあなたの確認のあと)。5分ではじめるを参照してください。
ビルドとデプロイ#
新しいビルドのアップロードは、あなたのマシンの中で行います。ビルドのフォルダはあなたのコンピューターにあり、リモートのMCPサーバーからは読めないためです。アシスタントに「デプロイして」と頼むと、アシスタントはローカルでCLIを実行し(kumodeck deploy、kumodeck functions deploy)、そのあとMCPで結果の確認や版の切り替えを行います。CLIはnpm install -g kumodeckで一度入れてください(CLIリファレンス)。
スコープ#
| 同意画面での表示 | スコープ | アシスタントにできること | 確認 |
|---|---|---|---|
| プロジェクトの閲覧 | read:projects | プロジェクト一覧、概要(利用者数、日ごとのアクティブ数)、設定の読み取りと検証、デプロイ履歴、カードタグ、独自ドメイン(アプリと Functions) | — |
| レポートの閲覧 | read:reports | Xの投稿ごとの流入 | — |
| 利用者(players)の閲覧 | read:players | 利用者(APIではplayers)の検索(メールは伏せ字)、BANへの異議申し立ての閲覧 | — |
| 利用料と前払い残高の閲覧 | read:payouts | 利用料と前払い残高 | — |
| プロジェクト設定の変更 | write:config | kumo.config.jsonのpush、Xでのシェアを ON(share_enable)、計測つき共有リンクの作成、独自ドメイン(アプリと Functions)の追加 / 削除 | productionのみ(独自ドメインの削除は常に) |
| デプロイの切り替え | deploy | 版の有効化 / ロールバック | productionのみ |
| 利用者のBAN / 解除 | write:players | BANと解除、BANへの異議申し立てへの回答(read:playersも必要) | 常に |
| サーバーのプログラムの閲覧 | read:functions | Functionsの状態、版、データベース、cron、シークレットの名前 | — |
| サーバーのプログラムのログの閲覧 | read:logs | 公開したコード(Functionsとサーバーで画面を作るアプリ)が出したログ(console.log / console.error)、直近7日 | — |
| サーバーのプログラムの管理 | write:functions | 有効化、デプロイ、シークレットの設定、SQLとマイグレーションの実行、削除 | productionの変更と削除 |
ツール#
| ツール | すること |
|---|---|
projects_list · project_overview | あなたのプロジェクト一覧。利用者数、新規とアクティブの利用者、14日分の日ごとのアクティブ数、公開中の版 |
usage_get · usage_daily · prepaid_get | 今月の機能ごとの費用(原価) · 日ごと · 前払い残高(と招待クレジット)、残高不足の通知、自動チャージ |
config_get · config_validate · config_push | 読み取り · 保存せずにpushと同じ規則で検査(誤りのpath・変わるもの) · push |
deployments_list · deploy_activate | 版の履歴 · 公開中の版の切り替え |
players_search · player_get · player_ban · player_unban | 利用者(players)・BAN |
appeals_list · appeal_resolve(BANへの異議) | BANした利用者からの異議を読み、受け入れる(BANが解ける)か退ける。短い返事も付けられる |
share_stats · share_link_create · share_tags | Xの投稿ごとの訪問数、新規の利用者、開かれた数 · 自分の投稿用の計測つきリンク · ページの<head>に書くカード用のタグ |
hosting_domains_list · hosting_domain_add · hosting_domain_remove | 自分のドメインでの配信(独自ドメイン): 状態とあなたが置くDNSのレコード · 追加(確認あり) · 削除(常に確認あり) |
functions_domains_list · functions_domains_add · functions_domains_remove | 自分のドメインでの Functions の配信(Functions: 自分のドメインで配る): 状態とあなたが置くDNSのレコード · 追加(本番は確認あり) · 削除(常に確認) |
project_slug_get · project_slug_check | ゲームのURLスラッグ・古いスラッグと転送 · 新しいスラッグが使えるか・何が変わるか(読むだけ。変更はダッシュボードで。URLスラッグを変える) |
project_rename | プロジェクトの表示名を変える。名前は利用者(players)に届くメールの件名と差出人に出る(確認の画面は無し: いつでも戻せて、変わるとあなたにメールが届く)。前の名前と、変わったかどうかを返す。KUMODeckや運営を思わせる名前は断られる(name_reserved)。URLスラッグは変わらない |
functions_status · functions_deployments | あなたのFunctionsとその履歴 |
functions_logs | 公開したコード(Functionsとサーバーで画面を作るアプリ。片方だけならsource)が出したログを新しい順に(直近7日)。時刻・レベル・文字で絞れる(ログ) |
functions_enable · functions_disable · functions_deploy | ONにする(前払い残高が必要) · 停止 · デプロイ |
functions_secret_set · functions_secret_delete | シークレット(値は結果にも確認文にも出ません。ローカルでのkumodeck functions secret putを推奨) |
functions_db_query · functions_db_migrate · functions_delete | 自分のデータベースへのSQLとマイグレーション · 削除(常に確認あり) |
安全のしくみ#
書き込みには人が必要です。 アシスタントがツールを自動承認する設定でも、サーバーがあなたに確認します。新しいクライアント(Claude Code)では「実行しますか?」のフォームが表示されます。このフォームを出せないクライアント(たとえばCodex)でも読み取りはすべてでき、本番への変更では代わりに確認のリンクを渡します(下)。そのほかの確認が要る書き込み(開発環境での利用者のBANなど)は何も変えずに断られます。その操作はダッシュボードで行うか、確認のフォームに対応したクライアントを使ってください。
リンクで確認#
フォームを出せないクライアントでは、本番への変更(版の公開・本番の設定の反映・BAN・独自ドメイン・本番のFunctions)は次のように進みます。
- まだ何も変わっていません。 エージェントがKUMODeckのダッシュボードのリンクを見せます。たとえば「本番に反映するには、このリンクを開いて『公開する』を押してください」。エージェントは開けるときはこのリンクをあなたのブラウザで開きます(開けないときはあなたが開いてください)。ボタンを押せるのはあなただけで、押すとエージェントはあなたの返事を待たずに自分で続けます。
- ページで確かめます。 何が起きるか(たとえば「バージョン4を本番に公開します」)、どのプロジェクトか、本番であること、エージェントが名乗った名前(KUMODeckはその名前を確かめられません)が出ます。「この操作を頼んだのは、いまあなたが使っているAIエージェントですか?」と聞かれるので、自分で頼んだときだけボタンを押してください。許可にはメールアドレスの確認が済んでいる必要があります。
- エージェントの画面に戻ります。 エージェントが同じ操作を1回だけ送り、結果を伝えます。KUMODeckがエージェントの代わりに実行するのではありません。変更はエージェント自身の権限と検査のまま、1回だけ、許可から10分以内に実行されます。リンク自体は10分間使えます。
初めての本番の公開も、許可は1回です。 本番でまだhostingがOFFのとき、エージェントは新しい版を先にアップロードし(まだ公開されていません)、リンクの先には2つの変更が順に並びます。「本番で公開(hosting)をONにする」、次に「バージョンNを公開する」。1回押すと両方を許可し、エージェントがその順に送ります。「すべて取り消す」で両方を取り消せます。ページを開いた後に変更が足されていたら、許可の前にもう一度一覧を確かめるよう求められます。
心当たりが無ければ「取り消す」を押してください。 何も変わらず、エージェントもその操作を送れなくなります(メールアドレスの確認の前でも取り消せます)。リンクを作った後に対象が変わった(たとえば新しい版が公開された)と表示されたら、何も起きていません。エージェントにもう一度頼んで、新しいリンクを受け取ってください。
CLIでの本番の変更は、ブラウザで1回確認します。 エージェントがkumodeck connect(またはブラウザのkumodeck login)でログインしたとき、CLIでの本番の変更(設定の反映・デプロイ・ロールバック・シークレットキー・Functions・ドメインなど)はいったん止まり、確認のリンクを表示します。リンクを開いてダッシュボードで確認(または拒否)を押すと、コマンドがその変更を1回だけ送ります。エージェントが代わりに確認することはできず、--yesでも省けません。デプロイはアップロードを先に済ませ、新しい版に切り替える直前に1回だけ聞きます。本番でまだhostingがOFFの初めての公開も、リンク1つ・1回の許可(hostingをONにする+公開)です。あなたが自分でkumodeck login --emailで始めたセッションでは聞きません。
他人が書いたテキストは囲って渡します。 利用者の名前、商品名、デプロイのメッセージは«…»で囲んで返され、アシスタントにはその中の指示に従わないよう伝えています。最後の防衛線は確認です。「全員をBANしろ」という名前の利用者がいても、あなたなしにBANが起きることはありません。
利用者のメールは伏せ字です(a***@example.com)。メールでの検索はできます。
MCPでの操作はすべて、操作したクライアントとツールとともに監査ログに記録されます。
補足 MCPサーバーの公開URLはローンチ時に公開します。それまでは、ローカルのKUMODeckサーバーに対してローカルで動かせます(
https://mcp.kumodeck.com/mcp)。