
最近在 Cocos Creator 社区里逛得勤的朋友应该已经注意到cocos-mcp这个词出现的频率越来越高了。字面上拆开就是 Cocos MCPMCP 全称 Model Context Protocol翻译过来叫模型上下文协议。大白话讲cocos-mcp能让 AI 助手直接读写 Cocos Creator 编辑器里的场景、节点、组件和资源而不是像以前那样只能对着代码文件“盲猜”。我用这个方案跑了两三个小游戏项目最大的感受是AI 从一个只能帮你写代码的“外包”变成了一个能直接上手改编辑器的“同事”。它会自己看场景里有哪些节点自己新建物体自己挂组件改完属性还会告诉你下一步建议。这篇文章不聊虚的把它的原理、搭建步骤、实际干活场景以及我踩过的坑都摊开来说清楚适合所有在用 CocosCreator 做游戏、又想让 AI 真正参与进日常开发流程的人。1. 先从最原始的问题说起AI 写代码为什么还是救不了你的开发效率1.1 传统 AI 编程模式的“缺口”过去一两年大家用 Claude、ChatGPT、Kimi 这类工具辅助游戏开发已经很普遍了。我自己也试过让 AI 写转场逻辑、生成背包系统、写疼痛反馈组件代码质量确实能打。但真正放到 CocosCreator 项目里跑起来之后问题立刻浮出水面AI 看不到场景。你丢给 AI 一个GameManager.ts让它生成“血量变化时更新 HUD 文本”的代码它能给你写而且写得挺像样。可问题是这个脚本最终要挂到哪个节点上HUD节点下的血量文本组件叫hpText还是BloodLabelUI 坐标是设计分辨率下的绝对坐标还是相对父节点的锚点偏移这些信息 AI 完全不知道它只能靠猜。猜对了皆大欢喜猜错了就是一个下午的联调时间。结果就是一个很尴尬的局面AI 确实把写代码的时间缩短了但把“代码接到场景里”的时间拉长了。效率一加一减往往没有想象中那么香。1.2 CocosCreator 开发工作流里哪些环节最耗时我复盘过自己做小游戏的日常真正吃掉时间的大头其实不是写逻辑而是几个极其重复的手动环节场景搭建创建一堆节点、改名字、改层级、调坐标、设锚点。一个并不复杂的战斗结算界面我可能要手动拖二三十个节点。组件配置给节点挂Label、Sprite、UITransform再一个一个填属性。这个过程没有编程难度但它极度繁琐而且特别容易点错。资源路径调整美术把图片、图集、音频扔进assets/resources之后你需要改资源引用、改 prefab 里的属性、跑一遍加载路径。构建前检查排查空引用、场景里有没有节点漏挂组件、资源有没有被误删。很多时候是发布前才发现问题返工成本非常高。这些事情单看都不难但它们像沙子一样一把一把撒进你的时间预算里几天下来就发现正事没干多少全在编辑器里“点点点”。1.3 “能看懂编辑器”和“能操作编辑器”是两回事传统 AI 代码辅助之所以搞不定以上问题是因为它的输入只有文本输出也只有文本。你可以把场景文件导出成 JSON 丢给 AI 分析让它“看懂”编辑器状态但看懂之后它还是动不了手。想让它新建节点、挂组件、调属性你必须自己去编辑器里操作。cocos-mcp的出现就是在补这个缺口它不只是让 AI “看懂”编辑器而是给 AI 接上了一条能“操作”编辑器的通路。你可以理解为以前我们给 AI 的是一张 X 光片它能看清楚骨骼结构但没法拿起手术刀。现在cocos-mcp把手术刀递到了 AI 手里还教它怎么用。2. cocos-mcp 到底是什么MCP 协议在游戏开发里的落地2.1 一句话讲清楚 MCPModel Context ProtocolMCP 这名字听着唬人其实类比一下很简单。它本质上是给 AI 助手配的“USB 接口”。你的电脑只有一个 USB 口但你可以插 U 盘、插键鼠、插采集卡只要有对应的驱动设备就能和电脑通信。MCP 就是那个标准接口AI 就是电脑各种本地工具、软件、数据源就是外设。cocos-mcp则是一根专门连接 CocosCreator 编辑器的“数据线”。在技术实现上AI 助手通过 MCP 客户端连接到一个本地运行的 MCP Server。这个 Server 暴露了一系列工具函数AI 在对话中会主动发起工具调用请求比如“获取当前场景结构”“创建节点”“设置坐标”。MCP Server 收到请求后再通过 CocosCreator 编辑器扩展的本地服务去执行真正的操作最后把结果返回给 AI。整个链路跑在本地不需要把项目上传到任何云平台。这套机制最大的价值在于AI 不仅能像以前那样“说”现在还能“做”。它问你场景里有什么节点你可以让它自己去看看完直接改改完再检查。整个过程不需要你来回切换窗口。2.2 cocos-mcp 的核心能力与开放接口具体到cocos-mcp它把 CocosCreator 编辑器里常用的操作封装成了一个个可被 AI 调用的工具。以我实际用过的版本为例核心能力大概集中在下面这些方向能力分类工具函数示例实际作用场景读取get_scene_hierarchy返回当前场景的节点树、组件列表AI 能“看到”项目结构节点操作create_node/delete_node在指定父节点下创建或删除节点属性修改set_property修改坐标、旋转、缩放、锚点、透明度、文本内容等组件管理attach_component/remove_component给节点挂载组件或移除指定组件资源操作query_assets/import_asset搜索资源库导入新资源到自己目录项目控制open_scene/save_scene/run_preview打开指定场景、保存当前场景、启动预览日志反馈get_console_log拉取编辑器控制台输出让 AI 自己看报错需要说明的是不同版本的cocos-mcp在工具命名和覆盖范围上会有差异具体以项目文档为准。但整体能力模型基本一致AI 能以“读场景—改属性—挂组件—查报错”这样的闭环来参与开发而不是单次生成一段代码就完事。2.3 它和 Cocos Creator 编辑器扩展有什么区别很多人会问CocosCreator 本来就支持编辑器扩展我也能写插件为什么还要用cocos-mcp我的理解是两者不在一个抽象层级。官方编辑器扩展需要你用 TypeScript 或 JavaScript 写界面、注册消息、处理事件。本质上是在做一个独立的工具软件开发成本不低。而cocos-mcp是把这个扩展能力封装成了标准化的 MCP 工具你不需要再自己写界面只要用自然语言提出需求AI 会自己决定调用哪个工具、按什么顺序调用。换句话说编辑器扩展是把“能力”做给你自己用cocos-mcp是把“能力”用标准协议包装好交给 AI 去调度。如果你愿意甚至可以同时写自己的编辑器扩展再把自定义能力也暴露成 MCP 工具让 AI 能调动团队内部的专属脚本。这种组合之后潜力更大。3. 实操准备把 cocos-mcp 接入你的 AI 助手3.1 准备工作版本、依赖与基本环境在动手之前先确认环境满足基本要求这是我反复折腾之后总结的最小清单一个可用的 CocosCreator 编辑器推荐 3.6 及以上版本。旧版本很可能因为编辑器扩展接口不同导致服务起不来。系统里装了 Node.js 18 或更高版本因为 MCP Server 本质是一个 Node 程序。一个支持 MCP 客户端的 AI 助手。常见的包括 Claude Desktop、Cursor以及国内一些支持自定义 MCP 的客户端。如果你更喜欢本地模型也可以通过 Ollama 等工具跑一个支持工具调用的模型cocos-mcp本身不挑剔模型。记得先把 CocosCreator 项目用版本管理工具初始化好后面 AI 乱改场景时你还能一键回滚。准备阶段最容易踩的坑是 CocosCreator 的安装路径。很多人的 macOS 上应用路径带着中文名或者空格这会导致 MCP Server 找不到编辑器可执行文件。我的建议是安装 CocosCreator 时用英文路径整个项目路径也保持英文、无空格、无特殊字符省得后面排查三天。3.2 安装与配置 MCP Servercocos-mcp的安装方式很简单核心就是跑一个本地服务。常见的做法是用npx直接调用也可以在全局安装一遍方便复用。下面是我在项目里实际使用的启动方式先不要纠结细节照着配就行# 方式一直接通过 npx 运行 npx cocos-mcplatest # 方式二全局安装后运行 npm install -g cocos-mcp cocos-mcp但真正关键的并不是“运行”这一步而是怎么告诉 MCP Server 你的 CocosCreator 装在哪、项目在哪。不同客户端配置位置不同但逻辑上都是在某个 JSON 配置文件里写入 MCP Server 的启动命令和环境变量。以 Claude Desktop 为例你需要在配置文件里加入类似下面的内容{ mcpServers: { cocos-mcp: { command: npx, args: [cocos-mcplatest], env: { COCOS_CREATOR_PATH: /Applications/CocosCreator/Creator/3.8.2/CocosCreator.app/Contents/MacOS/CocosCreator, COCOS_PROJECT_PATH: /Users/me/Projects/MyGame } } } }这里有两个环境变量COCOS_CREATOR_PATH指向 CocosCreator 可执行文件有些版本还需要指向编辑器应用目录COCOS_PROJECT_PATH指向你要操作的游戏项目目录。填完后重启客户端MCP Server 就会被自动拉起。3.3 把 MCP 配置进不同客户端注意生效设置如果你用的是 Cursor通常是在项目的.cursor/mcp.json里写配置结构一样只是文件位置不同。如果你用的是本地模型比如通过 Ollama 跑一个 Qwen 或别的模型那么还需要一个支持 MCP 的代理层。现在很多人提“AI 代理助手加本地模型”就是干这个事的cocos-mcp可以接到这类代理上本地模型就能获得操作编辑器的新能力。配置完成后有一个很容易忽略的细节改完配置文件一定要完全退出客户端再重新打开光是刷新对话窗口往往不会重新加载 MCP Server。我在这个坑上浪费过二十分钟每次都以为工具没装对结果只是没重启。3.4 验证连接让 AI 先读一下你的场景配置完先别急着让它干活第一步先做连接验证。在对话里输入这样一句“请查看我当前 CocosCreator 项目的场景结构并告诉我有哪些场景文件。”如果一切正常AI 会调用 MCP 工具然后返回类似“检测到项目 scenes/Main.scene、scenes/Battle.scene 等文件”的结果。看到这种回复就说明 MCP Server、CocosCreator 扩展、AI 客户端之间的链路全部打通了。我建议每个项目第一句话都从这个开始。因为它既验证了连接又让 AI 提前了解了项目结构后面你再下指令时它就不是两眼一抹黑了。这就像新同事入职第一天先带着他转一圈公司认认门后面工作配合起来明显顺畅。4. 用它干活的正确姿势5 个能立刻提效的实操场景4.1 场景节点批量创建原来要拖 10 分钟现在一句话我最近在做一个模拟经营小游戏需要一个装备强化界面。以前的做法是创建一个根节点改名字再手动创建一排图标节点复制粘贴改坐标逐个调整锚点再添加背景和文字……一套下来至少十分钟。用cocos-mcp之后我给 AI 的指令是“在 Canvas 下创建一个名为 EquipEnhance 的节点UITransform 大小 750x400挂在屏幕中央。在这个节点下按水平间距 120 创建 5 个按钮每个按钮尺寸 100x100露出 ‘1、2、3、4、5’ 的文本标签。”AI 会自己拆解成多次工具调用先建父节点设置setProperty改大小和位置再循环调用创建与挂载组件。整个流程大约十几秒中间我只需要看结果。生成完之后我不会再手工调每一颗按钮的位置而是让 AI 一次性把整个容器稍微左移 20 像素。这种批量调整如果靠手点误差还大AI 做反而更稳定。4.2 组件挂载与属性调整别手滑交给 AICocos 开发中给节点挂组件是高频操作尤其是有 UI 和预制体的时候。以前手动挂组件容易犯一个低级错误在检查器里右键点添加组件然后搜名字结果搜出一堆自定义组件选中错误的那一个游戏运行时各种找不到脚本报错。用 MCP 之后组件操作变成了纯粹的自然语言指令“给 Player 节点挂载 CharacterController 脚本组件并把 moveSpeed 设置为 4.5jumpHeight 设置为 8。”AI 会先查一下Player节点是否已经存在该组件如果已经有了它会先移除再重新挂载或者直接改属性。更让我放心的是AI 操作完会调用get_console_log拉一下控制台如果报错它会自己再改一次直到控制台干净为止。这个自动反馈循环是纯代码生成工具做不到的。4.3 脚本生成与场景联动从“写代码”到“改场景”单纯的脚本生成其实已经是 AI 的常规操作但cocos-mcp把这件事往前推进了一步它生成完脚本后能直接帮你挂载到正确节点并且把初始属性填好。实际操作里我会先说“在 assets/scripts/Player 下创建 PlayerController.ts实现 WASD 控制角色上下左右移动用moveSpeed作为速度参数。创建完脚本后挂载到场景里的 Player 节点上并把速度设置成 6。”AI 会先查场景确认 Player 节点确实存在然后生成代码文件再调用工具把组件挂上去设置属性。这个过程里最爽的部分是AI 不会再把脚本挂着但忘了赋初始值也不会把脚本挂到同名但不同类型的节点上因为它每次操作前都会先读一下场景层级。4.4 用自然语言做 UI 布局与资源管理UI 布局是最适合交给 AI 的场景之一因为 UI 属性的描述非常口语化。你可以说“把标题往右移一点”“让图标和文字垂直居中于容器”“背包弹窗从屏幕底部弹出初始锚点朝下”。这些描述如果写成代码要自己算坐标、锚点、对齐策略但用自然语言AI 会结合当前的场景信息自己算出合适结果。资源管理方面cocos-mcp的资源查询能力也很实用。我项目里资源目录结构经常变美术把ui/icon/icon_sword.png挪到了ui/equipment/icon_sword.png代码里所有引用路径就得跟着改。以前是全局搜索替换容易漏。现在我会让 AI “检查所有场景里对 icon_sword 的引用并把路径更新为新的资源目录”它能自己遍历资源引用和场景节点给出修改报告。4.5 构建前检查让 AI 帮你“体检”项目发布前检查是个苦力活cocos-mcp能分担一大部分。我会在准备出包前下达一个检查任务“遍历当前场景所有节点找出以下几类问题没有 UITransform 的 UI 节点、引用了空资源的 Sprite、脚本组件指向的脚本文件不存在、节点坐标为 NaN 的情况。把问题列表列出来。”AI 会挨个调用工具把场景节点信息拉出来逐项比对判断。遇到问题它会给出具体的节点路径和属性值我再决定是让 AI 直接修还是手动处理。每次都相当于多了一道自动化测试而且它对整个场景的遍历速度比人用眼睛扫快得多。5. 实际踩坑记录这些问题你大概率也会遇到5.1 高频问题与排查速查表这套方案用久了我整理了一份自己反复翻阅的速查表基本覆盖了新手最容易撞上的几个问题问题现象可能原因解决办法AI 说“没有可用工具”MCP Server 没启动或客户端没重启加载配置检查 MCP Server 进程完全退出客户端重启工具报“无法连接编辑器”CocosCreator 没打开或编辑器扩展没加载先用 CocosCreator 打开项目等编辑器扩展启动后再发指令找不到编辑器可执行文件COCOS_CREATOR_PATH配置错误到应用目录确认真实路径特别注意.app/Contents/MacOS层级工具能调用但场景没变化编辑器和 MCP Server 状态不同步手动在编辑器里保存一次场景再让 AI 重新读取AI 修改属性越权改了不该改的没有在提示词里限定操作范围告诉 AI 只操作指定节点层级其他节点只读本地模型响应很慢或结果断掉场景树信息太多超出模型上下文限制节点层级深度或让 AI 只读取部分节点路径5.2 三个容易忽略的配置细节第一场景节点命名一定要规范。MCP 是高度依赖场景节点名的AI 靠名字来定位要操作的目标。如果项目里全是Node_123、unnamedAI 每次都要先读一遍场景才能确认你要操作的是哪个效率会直线下降。我后来新项目从第一天开始就强制用“类型_用途”的命名规范比如Btn_Start、Lbl_Score、Panel_SettingAI 的准确率明显提升。第二保存场景的时机要留意。AI 通过 MCP 修改编辑器后最好让它调用一次保存场景的工具或者你手动在编辑器里按CmdS。因为有些编辑器扩展不会主动触发场景保存如果这时候关掉 CocosCreator修改可能丢了。第三如果你用本地模型请关注模型是否真的支持工具调用。不是所有模型都能正确处理 MCP 返回的 JSON 工具结果有些模型会“想当然”地按自己理解继续操作。我在实测中就遇到过本地小模型把setProperty的数值类型理解成字符串导致报错。建议选择支持 tool use 且上下文窗口足够大的模型至少要 16K复杂项目 32K 会更从容。5.3 提示词模板把 AI 从“萌新”调教成“老手”用cocos-mcp能不能干好活一大半取决于你会不会提示词。我总结了一套非常好使的规则你可以直接粘进项目说明里或者每次对话开头先发给 AI你是 Cocos Creator 开发专家工作在以下项目环境中。操作编辑器前先使用get_scene_hierarchy查看场景结构定位目标节点时优先根据节点名称精确匹配修改任何属性前先确认目标节点存在修改后必须调用get_console_log检查错误如果工具执行失败根据错误信息重新尝试一次仍然失败则如实报告不要擅自修改与当前任务无关的节点。这段话看着简单但它规定了 AI 的行动顺序和边界。实际用下来AI 的操作错误率能从三成降到一成左右。尤其是“先看场景再动手”和“改完查日志”这两条直接改变了 AI 的工作方式让它从“蒙头干”变成“有复盘地干”。最后再分享一个我这段时间最深的体会。cocos-mcp确实把 AI 从“代码生成器”变成了“编辑器操作员”但它并不能帮你把一个混乱的项目整理好。项目里如果连节点命名都不规范、资源路径一团乱麻、场景树层次不清AI 会和你一样被折腾得晕头转向。工具本身不创造秩序它只是在秩序之上放大了效率。所以我现在的习惯是每次让 AI 干活之前先花十分钟把场景命名和层级理顺。这一步省下来的时间往往比 AI 节省的还多。