mcpField
D
debuff

debuff

本地服务
debuff.jp开发工具4今天更新

关于 debuff

debuff 的 MCP 服务面向开发 2D 网页游戏的编码 Agent,可检查项目、运行测试并直接操作游戏。它结合实时状态、帧信息、可解释错误和可重放场景支持调试与调参。

主要功能

  1. 01检查项目依赖与资源
  2. 02运行类型检查、构建和测试
  3. 03实时或无头模式操作游戏
  4. 04随机输入测试并生成可重放场景
  5. 05查看帧性能、错误与状态
  6. 06调整参数并保存画面

适用场景

  1. 01检查构建、类型或逻辑测试失败
  2. 02重现随机测试发现的崩溃或卡死
  3. 03根据帧数据排查卡顿
  4. 04根据游戏状态调试操作手感

MCP 相关

该 MCP 服务向 MCP 客户端提供项目检查、构建测试、游戏操作、状态读取和参数调整等工具。可连接已打开的游戏,也可在无头浏览器中运行可复现副本。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jp-debuff-debuff": {
"command": "npx",
"args": [
"-y",
"@debuffjp/mcp"
]
}
}
}
启动命令npx -y @debuffjp/mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@debuffjp/mcp0.21.1

工具

21

收录的工具列表 · 更新于 今天

参数类型必填说明
rootstring否项目根目录。绝对路径,或相对于服务器根目录的路径。默认值:服务器根目录。

详细介绍

@debuffjp/mcp

一个 MCP 服务,让 AI Agent 能够检查、构建、测试并游玩 debuff 游戏。它使用人类也会看重的真实证据:实际状态、实际帧和实际测试结果。

设置

通过 npm create debuff 创建的新项目会包含 .mcp.json,因此会自动被读取该文件的 MCP 客户端(例如 Claude Code)发现。对于其他客户端:

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最近的帧分析:更新/渲染耗时(毫秒)、追赶步数、四边形数量、绘制调用、长任务;summary 提供百分位数和最慢的 3 项
game_notes人类在覆盖层中标记的时刻,以及该 tick 的状态
game_rewind实时模式:将人类的游戏回退(或前进)到某个 tick,并暂停,同时提供该时刻的精确状态
game_replay将某个 tick 之前的实时会话(例如某条笔记对应的会话)保存为 .debuff/replays/ 中可重现该过程的场景
game_input按下/释放按键;tap、pointer_down、pointer_move、pointer_up
game_state场景、tick、逻辑宽度/高度、渲染器、帧统计信息、reducedMotion、你的 inspect() 数据
game_command使用 JSON 参数运行游戏通过 devTools({ commands }) 注册的命令
game_params / game_set_param读取和调整类型化参数(经过验证)
game_capture当前帧的 PNG 图像;path 还会将其保存到项目中(缩略图、商店美术图)
game_errors运行时错误及说明:问题归属(你的代码、被拒绝的调用、debuff bug)、源代码行和提示
game_stop关闭游戏

提示词

客户端可提供为斜杠命令的工作流:playtest、fix-errors、tune-feel、add-mechanic 和 explain-stutter。

实时模式与无头模式

如果你已在 debuff dev 中打开游戏,game_start 会连接到该标签页(模式为 live)。叠加层会显示 agent 标记,而 Agent 执行的每次暂停、步进和参数更改都会显示在活动日志中,你可以撤销这些操作。在叠加层中输入备注(“这里的跳跃感觉有点飘”)来标记某个时刻;Agent 会通过 game_notes 读取备注以及该时刻的游戏状态。game_stop 会恢复游戏并断开连接。

否则,或者使用 mode: "headless" 时,Agent 会在无头浏览器中获得一个私有副本。时间只会通过 game_step 推进,因此它看到的内容可重现,场景也可以精确回放。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。