用 Claude Code 写 Cocos 游戏有阵子了,一直膈应一件事:它能帮我写代码,但对编辑器一抹黑。我让它把某个按钮往右挪挪,它看不到节点;改完 prefab,又得我自己回编辑器刷新、开浏览器、截图,再把图贴回去问它对不对。一圈下来它真正干的只有"写代码"那一小段,剩下全是我在两头跑腿、当人肉传话筒。
更头疼的是 .prefab 。那东西是个 JSON 数组,内部全靠数组下标当指针互相引用——手一抖改错一个地方,整个引用关系就崩,Cocos 一打开直接报错。我被它坑过不止一次,改个 Label 文字都得屏着呼吸。
所以我攒了 cc-3-8-x-mcp,就为治这两个病:让 AI 能直接把手伸进编辑器,也让改 prefab 安全到闭着眼睛都不会崩。
下面直接铺开——它到底能帮 AI 干哪些事。整套分三块: 在线 tool (编辑器在跑时,AI 直接操作运行中的编辑器)、 离线 CLI (不开编辑器也能安全改 prefab)、 可视化面板 (给你自己用的快捷入口)。
一、在线 tool —— AI 直接操作运行中的编辑器
- scene 域 (7 个):查整棵场景节点树、查单节点完整 dump(所有组件属性)、改节点/组件属性、打开/保存/软重载场景、调用节点上的组件方法。AI 要"看见"场景里有什么、改运行时状态,全靠它。
-
asset-db 域 (10 个):按 glob 检索资源(
db://assets/**/*.prefab)、UUID ↔ URL ↔ 路径互查、刷新/重导入、创建/保存/删除/移动资源。AI 在 prefab 里只看得到 UUID,反查路径、改完通知编辑器重载,都在这。 - preview 域 (6 个):查预览 URL(端口动态分配,必须查不能猜)、打开/刷新浏览器预览、截图返回路径、向预览页 注入 JS 读状态或触发 debug、一键"刷资源+重载场景+刷预览"。AI 改完布局自己截图确认,不用你人肉传图。
-
local 域 (4 个):查编辑器状态(git 分支 / HEAD / 预览端口 / PID)、列同机 worktree、开/清
.dev目录。
二、离线 prefab CLI —— 我自己用得最多的一块,不开编辑器安全改 .prefab
26 个声明式 op,原子落盘、改错整体回滚,不怕 JSON 引用错位崩溃。对节点的操作非常细——
- 节点 :增 / 删 / 克隆 / 改名 / 显隐 / 位置 / 尺寸 / 锚点 / 颜色 / 子节点排序
- 组件 :挂载 / 移除 / 任意字段改写 / 启停;Label / Sprite / RichText / Button / EditBox / Layout 等引擎组件一键改(换图、改文字字号、调布局间距)
-
引用绑定 :给脚本
@property挂节点/组件引用,自动处理嵌套 prefab 的TargetOverride协议(手拼极易错) -
批量 :按组件类型 / 节点名筛选批改、跨多个 prefab
glob一把梭 -
整文件级 :从零建 prefab(可挂 Spine)、抽取子节点成独立 prefab、压缩清理
null槽、两个 prefab 字段级diff、.anim动画文件同套机制批改
三、可视化面板 —— 给人用的快捷入口
server 运行状态 / 端点 / 请求数、编辑器 git 状态、一键刷新 / 截图 / 清理、自定义 Debug JS 按钮(配 .dev/cc-mcp-panel.json )、同机 worktree 列表、最近 30 条命令日志。
接入
claude mcp add cocos -- node /path/to/cc-3-8-x-mcp/router/bin.js
已实测接入: Claude Code / Cursor / codex(OpenAI)/ kimicode(Kimi)/ GitHub Copilot ——凡支持 stdio 的 MCP 客户端都能接(GPT 等依赖 SSE 的暂不支持)。
现在让 Claude 改 Cocos,我基本不用切回编辑器盯着了——它自己查节点、改 prefab、刷新截图,改完什么样直接告诉我。当初那股"人肉传话筒"的烦躁,总算是治好了。
Apache-2.0 开源,欢迎试: https://github.com/HappyLifeOk/cc-3-8-x-mcp


没人注意到大佬github的名字吗,HappyLifeOk,如此乐观积极的生活态度