debuff について
debuffは、2Dウェブゲームを開発するコーディングエージェント向けのMCPサーバーです。ゲーム操作に加え、実状態やフレーム情報、説明付きエラー、再現可能なシナリオを使ってデバッグや調整を行えます。
主な機能
- 01依存関係とアセットの確認
- 02型チェック、ビルド、テストの実行
- 03ライブまたはヘッドレスでのゲーム操作
- 04ファジングと再現シナリオの作成
- 05フレーム性能、エラー、状態の確認
- 06パラメーター調整と画面キャプチャ
活用シーン
- 01ビルド、型チェック、ロジックテストの失敗調査
- 02ファジングで見つかったクラッシュや停止の再現
- 03フレーム情報を使ったカクつきの調査
- 04記録された状態に基づく操作感のデバッグ
MCP 対応
MCPクライアントに、プロジェクト確認、ビルドとテスト、ゲーム操作、状態取得、パラメーター調整のツールを提供します。起動中のゲームへの接続と、再現可能なヘッドレス実行に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
21掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| root | string | いいえ | プロジェクトのルート。絶対パス、またはサーバーのルートからの相対パスです。デフォルト:サーバーのルート。 |
詳細
@debuffjp/mcp
AI エージェントが debuff ゲームの状態を調べ、構築し、テストし、プレイできる MCP サーバーです。人が確認したいのと同じ証拠を使用します。実際の状態、実際のフレーム、実際のテスト結果です。
セットアップ
npm create debuff で新しいプロジェクトを作成すると .mcp.json が含まれるため、Claude Code など、これを読み込む MCP クライアントはサーバーを自動的に検出します。それ以外のクライアントの場合:
claude mcp add debuff -- npx -y @debuffjp/mcp # Claude Code
{
"mcpServers": {
"debuff": { "command": "npx", "args": ["-y", "@debuffjp/mcp"] }
}
}
ゲームのフォルダーから実行するか、--root <dir> を渡してください(または DEBUFF_ROOT を設定してください)。
Claude Code プラグインとして使用すると、Claude にワークフローを教えるスキルも追加されます:
/plugin marketplace add debuffjp/debuff
/plugin install debuff@debuff
Codex プラグインとして使用するには、codex plugin marketplace add debuffjp/debuff を実行してから、codex plugin add debuff@debuff を実行します。
Claude Desktop では、mcpb/manifest.json にゲームのフォルダーを尋ねるデスクトップ拡張機能の設定が記述されています。そのフォルダーから npx @anthropic-ai/mcpb pack を実行してパッケージ化してください。
ツール
| ツール | 機能 |
|---|---|
inspect_project | 依存関係、プラグインとその機能への寄与、アセット、直近のビルドサイズ |
list_assets | すべてのアセットとその種類、サイズ、インポーターに加え、警告や未使用の可能性がある ID |
typecheck | プロジェクト独自の tsc で型チェックします。ブラウザーは不要です。Vite は型チェックを行わないため、編集後に実行してください |
build | 本番ビルドとサイズレポートを作成します。leaks は空である必要があります |
run_tests | tests/ のロジックテストを実行します(keiko)。ブラウザーを使わず、Node で実際のゲームを動かします。失敗時には tick、シーン、状態が示されます |
run_scenarios | scenarios/*.json をヘッドレスで実行します。ステップごとの結果、エラー、キャプチャが得られます |
fuzz | ランダムな入力でプレイします。クラッシュ、停止状態、行き来するループには、説明付きのエラーと再現用シナリオがそれぞれ付属します |
game_start | 実行中のゲームに接続するか、一時停止状態で非公開のヘッドレスコピーを開きます(下記参照)。ヘッドレスでは viewport: [w, h] を指定できます。reducedMotion を指定するとオンまたはオフに固定されます |
game_step | 固定シミュレーションステップを進めます(先に一時停止してください)。状態を返します(quiet を指定すると inspect() データは省略されます) |
game_pause | 実行中のゲームを一時停止または再開します |
game_frames | 直近のフレームの内訳を表示します。update/render の ms、追いつくためのステップ数、クアッド、描画コール、長時間タスクが含まれます。summary ではパーセンタイルと、最も遅い 3 件が表示されます |
game_notes | オーバーレイで人が記録した時点と、その tick の状態を表示します |
game_rewind | ライブモード:人のゲームを一時停止状態で指定の tick まで戻す(または進める)と、その時点の正確な状態を表示します |
game_replay | ライブセッションを指定の tick まで(たとえばメモの時点まで).debuff/replays/ のシナリオとして保存し、再現できるようにします |
game_input | press / release キー、tap、pointer_down、pointer_move、pointer_up |
game_state | シーン、tick、論理幅/高さ、レンダラー、フレーム統計、reducedMotion、inspect() データ |
game_command | ゲームが devTools({ commands }) で登録したコマンドを JSON 引数で実行します |
game_params / game_set_param | 型付きパラメーターを読み取り、調整します(検証済み) |
game_capture | 現在のフレームを PNG 画像として取得します。path を指定するとプロジェクト内にも保存されます(サムネイル、ストア画像など) |
game_errors | 実行時エラーを説明付きで表示します。問題の原因(コード、拒否された呼び出し、debuff のバグ)、ソースの行、ヒントが含まれます |
game_stop | ゲームを終了します |
プロンプト
クライアントがスラッシュコマンドとして提供できるワークフロー:playtest、fix-errors、tune-feel、add-mechanic、explain-stutter。
ライブモードとヘッドレスモード
debuff dev でゲームを開いている場合、game_start はそのタブに接続します(モードは live)。オーバーレイにはエージェントバッジが表示され、エージェントが行った一時停止、ステップ実行、パラメーター変更はすべてアクティビティログに表示され、元に戻すことができます。オーバーレイにメモ(「ここではジャンプがふわふわしすぎる」など)を入力して、その瞬間に目印を付けることができます。エージェントは game_notes を通じて、メモとそのティック時点のゲーム状態を読み取ります。game_stop を実行すると、ゲームが再開され、接続が切断されます。
それ以外の場合、または mode: "headless" を指定した場合、エージェントはヘッドレスブラウザー内の専用コピーを使います。時間が進むのは game_step を実行したときだけなので、エージェントが見る内容は再現可能であり、シナリオでまったく同じように再生できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。