mcpField
F
Funplay Cocos MCP

Funplay Cocos MCP

本地服务
github.com/FunplayAI开发工具3701 天前更新

关于 Funplay Cocos MCP

Funplay MCP for Cocos 是嵌入 Cocos Creator 编辑器的扩展,让 AI 助手检查和操作运行中的项目。它以 JavaScript 执行工具为主要交互方式,并提供客户端配置和可选的 stdio 桥接。

主要功能

  1. 01在场景或编辑器上下文执行 JavaScript
  2. 02检查项目并捕获截图
  3. 03面板一键配置 MCP 客户端
  4. 04按类别管理工具开放范围
  5. 05记录调用结果与脚本日志
  6. 06可选 stdio 到 HTTP 桥接

适用场景

  1. 01通过 AI 助手构建 Cocos UI 层级
  2. 02在活动场景中执行脚本并检查结果
  3. 03为支持的客户端配置编辑器连接
  4. 04将 HTTP MCP 端点接入 stdio 客户端

MCP 相关

扩展在 Cocos Creator 中嵌入 HTTP MCP 服务,向客户端提供 `execute_javascript` 等工具,以操作和检查运行中的项目。可选 npm 包将 stdio MCP 流量转发到该 HTTP 端点。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"funplayai-funplay-cocos": {
"command": "npx",
"args": [
"-y",
"funplay-cocos-mcp"
],
"env": {
"FUNPLAY_COCOS_MCP_URL": "<FUNPLAY_COCOS_MCP_URL>",
"FUNPLAY_COCOS_MCP_TIMEOUT_SECONDS": "<FUNPLAY_COCOS_MCP_TIMEOUT_SECONDS>"
}
}
}
}
启动命令npx -y funplay-cocos-mcp
需要配置的环境变量
FUNPLAY_COCOS_MCP_URLOptional local Cocos MCP HTTP endpoint. Defaults to http://127.0.0.1:8765/.
FUNPLAY_COCOS_MCP_TIMEOUT_SECONDSOptional HTTP timeout per request in seconds. Defaults to 120.

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

安装包
npmfunplay-cocos-mcp0.6.9

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Funplay MCP for Cocos

适用于 Cocos Creator 编辑器的内嵌式 MCP 服务

Cocos Creator 3.8+ 许可证:MIT 兼容 MCP 仅限编辑器 从 Cocos Store 安装

中文 | English

如果这个项目对你的 Cocos 工作流有所帮助,请考虑点个 Star。这能让更多开发者发现该项目,并支持项目持续开发。


Funplay MCP for Cocos 是一个采用 MIT 许可证的 Cocos Creator 扩展,可将 HTTP MCP 服务直接嵌入编辑器。它让 Claude Code、Cursor、Codex、VS Code Copilot、Trae、Kiro、Qoder、Kimi Code、OpenCode、CodeBuddy 和 DeepSeek Harness (DSH) 等 AI 助手能够检查并操作正在运行的 Cocos 项目。

该软件包遵循 Funplay MCP for Unity 的相同产品方向:保持默认工具集精简,提供一键式客户端配置窗口,并将一个灵活度极高的执行工具作为主要工作流。

对于 Cocos,主要工具是 execute_javascript:

  • context: "scene" 会在当前 Cocos 场景/运行时上下文中执行 JavaScript
  • context: "editor" 会在 Cocos 编辑器/浏览器上下文中执行 JavaScript

“创建一个登录页面 UI,包含账号/密码输入框和一个主登录按钮。”

AI 助手可以调用 execute_javascript,在当前 Canvas 下构建 UI 层级、附加 Cocos 组件、检查结果,并截取屏幕截图以供验证。

快速开始

如果你只想快速连接,请完成以下三项操作:

  • 将此仓库安装为 Cocos Creator 扩展
  • 打开 Funplay > MCP Server
  • 使用内置的一键式 MCP 客户端配置
1. 安装为 Cocos Creator 扩展

推荐的安装方式:使用官方 Cocos Store 页面,将扩展安装到目标 Cocos Creator 项目中。

对于本地开发或尚未发布的版本,请将此仓库克隆或复制到 Cocos 项目的扩展目录:

cd /path/to/your-cocos-project
mkdir -p extensions
git clone https://github.com/FunplayAI/funplay-cocos-mcp.git extensions/funplay-cocos-mcp

然后重启 Cocos Creator,或在编辑器中重新加载扩展。

若不使用 Git 安装,请从 GitHub Releases 页面下载 Funplay.CocosMcp.v<version>.zip,解压后将解压出的 funplay-cocos-mcp 文件夹移入项目的 extensions/ 目录。

为所有项目安装(推荐)

先在任意项目中安装并打开扩展。然后打开 Funplay > MCP Settings,并在 All Projects 部分中点击 Install for All Projects。扩展会下载最新的 GitHub Release,验证 SHA256SUMS.txt,并将其安装到当前 Cocos Creator 版本的托管全局扩展目录中:

  • macOS / Linux:~/.CocosCreator/builtin-extensions/<Creator version>/funplay-cocos-mcp
  • Windows:%USERPROFILE%\.CocosCreator\builtin-extensions\<Creator version>\funplay-cocos-mcp

Cocos Creator 会立即扫描并注册已安装的副本。之后,使用该 Creator 版本打开或创建的项目会自动加载此扩展,MCP 服务也会保持默认的自动启动行为。如果已运行的项目优先使用项目级副本,请重新打开该项目。不会将扩展文件复制到各个项目的 extensions/ 目录中。

全局扩展按 Cocos Creator 版本隔离。如果使用多个 Creator 版本,请在每个版本中分别运行一次 Install for All Projects。

安装程序不会删除当前项目中的副本,以保护开发工作区。如果两个副本都存在,MCP Settings 会显示重复安装警告。确认全局副本正常运行后,请移除或禁用项目级副本,以避免扩展冲突。

2. 启动 MCP 服务

打开编辑器菜单:

Funplay > MCP Server

新项目会获得一个根据项目生成的稳定端口,范围为 20000–29999。已保存的配置会保留其固定端口(包括 8765)。请使用 MCP Server 中显示的准确 URL;如果当前正在使用临时备用端口,请在配置客户端之前点击 Pin Current Port 或 Use Per-Project Port。

如果配置的端口已被占用,扩展会先检查现有监听器是否属于同一个 Cocos 项目。同一项目的监听器会安全地复用;无关的监听器则会触发自动回退,切换到下一个可用的本地端口。

面板有意保持精简:

  • 启用或禁用 MCP 服务
  • 打开专注于工具暴露、MCP 设置和项目技能的窗口
  • 自动将已安装版本与 GitHub 上的最新版本进行检查
  • 从面板打开发布页面,或安装经过验证的发布包
  • 只需安装一次到 Cocos Creator 全局扩展目录,现有和新建项目即可自动使用
  • 一键配置 AI 客户端并预览所选客户端配置
  • 将高级工具配置文件编辑、传输设置和安装管理留在主服务窗口之外
  • 自动跟随 Cocos Creator 界面语言,或在 MCP Settings 中为每个项目选择中文/英文
  • 在 Settings 中切换 Print MCP logs,静默 MCP 控制台消息,同时保留 Recent Activity 和内部诊断信息

所有管理页面均采用一致的标题、对齐的控件和轻量级分区。工具暴露页面按类别分组显示各个工具的开关;项目技能页面突出显示可用操作,并折叠文件路径和备份信息。Recent Activity 会将每次调用的摘要和实际结果显示为可展开的对象/数组树;对于脚本,执行日志和返回值会分别显示在不同分区中。输出分区和独立的日志查看面板已移除。简短的操作提示会保留成功/失败反馈,同时 MCP 工具和资源仍可获取诊断日志。

脚本工具会捕获每次调用的 console.log/info/warn/error/debug 输出,包括发生故障前的日志,不受 Print MCP logs 影响。捕获过程在并发和嵌套调用之间相互隔离,并在脚本执行完成后停止;不会收集全局/项目日志以及单独 require 的模块所产生的日志。请使用注入的 console(在 run/模块导出中也可通过 env.console 使用)。MCP 响应会保留现有的 data 结构,并添加可选的 execution 元数据,其中包含上下文、耗时、有界/脱敏后的日志以及省略条目数。Recent Activity 会保留结果层级和标量值;大型结果以及文件/脚本正文仍会受到限制或被省略,并显示截断提示。

扩展菜单和原生面板标题会跟随 Cocos Creator 界面语言。面板控件、工具说明、状态消息、提示词和空状态均支持英文和中文;打开 Funplay > MCP Settings,即可跟随 Creator 的语言,或设置项目专属的内容语言覆盖项。MCP 工具 ID 和架构保持英文,以确保客户端集成稳定。

3. 配置 AI 客户端

请先使用 Funplay > MCP Server 面板内置的 MCP Client Config 分区。

选择目标客户端,点击 One-Click Configure,扩展便会为你写入推荐的 MCP 配置项。

写入客户端的 MCP 服务名称为:

cocos-<project>-<hash>

如果你更愿意手动编辑配置文件,请将以下示例用作备用参考。请将示例中的旧版名称 funplay_cocos 和端口 8765 替换为面板中显示的名称和 URL。一键配置 Claude Code 时,会使用 ~/.claude.json 中的项目 Git 根目录作用域,而非下方的全局示例。请参阅项目设置和迁移。

Claude Code / Claude Desktop
{
  "mcpServers": {
    "funplay_cocos": {
      "type": "http",
      "url": "http://127.0.0.1:8765/"
    }
  }
}
Cursor
{
  "mcpServers": {
    "funplay_cocos": {
      "url": "http://127.0.0.1:8765/"
    }
  }
}
VS Code
{
  "servers": {
    "funplay_cocos": {
      "type": "http",
      "url": "http://127.0.0.1:8765/"
    }
  }
}
Trae
{
  "mcpServers": {
    "funplay_cocos": {
      "url": "http://127.0.0.1:8765/"
    }
  }
}
Kiro
{
  "mcpServers": {
    "funplay_cocos": {
      "type": "http",
      "url": "http://127.0.0.1:8765/"
    }
  }
}
Qoder

用户级配置写入 ~/.qoder/settings.json;如果设置了该环境变量,则写入 $QODER_CONFIG_DIR/settings.json。

{
  "mcpServers": {
    "funplay_cocos": {
      "type": "http",
      "url": "http://127.0.0.1:8765/"
    }
  }
}
Kimi Code

用户级配置写入 ~/.kimi-code/mcp.json;如果设置了该环境变量,则写入 $KIMI_CODE_HOME/mcp.json。

{
  "mcpServers": {
    "funplay_cocos": {
      "url": "http://127.0.0.1:8765/"
    }
  }
}
Codex
[mcp_servers.funplay_cocos]
url = "http://127.0.0.1:8765/"
OpenCode

全局配置位于 $XDG_CONFIG_HOME/opencode/opencode.json,或者在任何平台上位于 ~/.config/opencode/opencode.json(opencode.jsonc 也可使用)。

一键配置会优先使用现有的 opencode.jsonc。两种文件均支持注释和尾随逗号;配置会保留无关设置和注释,并且不会修改格式错误或存在歧义的配置。

{
  "mcp": {
    "funplay_cocos": {
      "type": "remote",
      "url": "http://127.0.0.1:8765/"
    }
  }
}
CodeBuddy(IDE 4.0+)

一键设置会写入 <Cocos project>/.mcp.json,这是 CodeBuddy IDE 4.0+ 支持的项目配置。它会保留其他服务、注释和尾随逗号。将此 Cocos 项目文件夹作为 CodeBuddy 工作区打开;如有需要,重新加载客户端,并在收到提示时启用或批准 MCP 服务。较旧的 IDE 版本和独立的 CodeBuddy 编辑器扩展使用不同的配置位置;此配置目标不会写入它们的全局设置或 CLI 的全局文件。

Configure + Skills 还会将缺失的内置 Skills 安装到 <Cocos project>/.codebuddy/skills,遵循官方 Skills 目录。现有 Skills 会保留;请在 Project Skills 中查看更新。

{
  "mcpServers": {
    "funplay_cocos": {
      "type": "http",
      "url": "http://127.0.0.1:8765/"
    }
  }
}
DeepSeek Harness (DSH)

在 MCP Server 面板中选择 DeepSeek Harness (DSH)。Configure 会生成 <Cocos project>/.dsh/funplay-cocos-mcp.patch.json,这是供官方 Cordis MCP 客户端使用的 JSON 格式 YAML 覆盖配置。它不会更改 $DSH_HOME、全局/配置文件 YAML、依赖项、凭据或审批设置。

此覆盖配置不会自动加载。 从 Cocos 项目目录使用面板中显示的确切命令启动 DSH,或者将其 --patch 参数添加到现有的 DSH 启动命令中。例如,安装了 dsh 时:

dsh web --patch '/absolute/path/to/cocos-project/.dsh/funplay-cocos-mcp.patch.json'

通过 npm 启动时,使用 npx @deepseek-ai/dsh web --patch <the same absolute path>。其他官方配置文件也可通过 --patch 使用相同的覆盖配置;第三方桌面启动器可能需要单独配置启动方式。请保持 Cocos 及其 MCP 服务运行。生成的覆盖配置使用项目实际的服务名称和 URL,而非旧版示例名称/端口。

Configure + Skills 还会将缺失的内置 Skills 安装到 <nearest Git root>/.dsh/skills;如果不存在 Git 根目录,则安装到 Cocos 项目中,并遵循 DSH 的文件系统 Skills 提供程序。现有副本会受到保护,可在 Project Skills 中查看。同一 Git 仓库中的多个 Cocos 项目会共用此 Skills 根目录,但各自拥有独立的 MCP 覆盖配置。

### 可选:npm stdio 包装器

如果你的 MCP 客户端更倾向于使用本地 stdio 命令,请先启动 Cocos 编辑器服务,再安装 npm 包装器:

npm install -g funplay-cocos-mcp

MCP 客户端配置示例:

{
  "mcpServers": {
    "funplay_cocos": {
      "command": "funplay-cocos-mcp",
      "env": {
        "FUNPLAY_COCOS_MCP_URL": "http://127.0.0.1:8765/"
      }
    }
  }
}

该包装器会将 stdio MCP 流量桥接到内嵌的 Cocos HTTP 端点。你也可以通过 npx funplay-cocos-mcp --url http://127.0.0.1:8765/ 运行它。

stdio 传输支持标准的、以换行符分隔的 UTF-8 JSON-RPC 消息(NDJSON)。包装器也接受现有的 Content-Length 分帧格式,并使用与传入消息相同的分帧格式写入响应。

4. 验证连接

打开你的 AI 客户端,先尝试一些安全的请求:

  • “调用 get_project_info 并总结当前的 Cocos 项目。”
  • “读取 cocos://project/context 并告知我编辑器状态。”
  • “使用 execute_javascript,并设置 context: \"scene\",返回当前场景名称。”
  • “使用 execute_javascript,并设置 context: \"editor\",返回项目路径。”

如果这些请求都能正常工作,说明 MCP 服务、资源、提示词和主要执行工具已正确连接。

如需调试本地传输,面板可以复制这些命令,你也可以直接运行:

curl http://127.0.0.1:8765/health
curl http://127.0.0.1:8765/tools
5. 开始构建

尝试在 AI 客户端中输入更高级的提示词:

在当前 Cocos 场景中创建一个登录页面 UI,包含账号/密码输入框、登录按钮和游客登录按钮。先使用 execute_javascript 检查层级结构,然后截取屏幕截图。

开始之前

  • 此扩展仅适用于编辑器。它旨在自动化操作 Cocos Creator,而不是为最终游戏构建添加运行时依赖项。
  • 新项目使用根据项目生成的端口。MCP 服务面板会显示准确的端点,并支持固定端口。
  • 如果配置的端口正被占用,服务会自动切换到下一个可用端口,面板和客户端配置会使用实际运行的端口。
  • GET /health 和 GET /tools 是只读调试端点,可在 MCP 客户端之外快速进行本地检查。
  • 默认的 core 配置集提供 39 个高价值工具。切换到 full 可使用全部 106 个工具,也可以使用 custom 纳入或排除工具类别和单个工具。
  • 面板会自动检查 GitHub 版本发布,也支持手动检查。
  • 一键更新会下载 GitHub Release zip,验证 SHA256SUMS.txt,备份当前扩展,替换软件包文件,并在 Cocos 软件包 API 支持时重新加载扩展。如果无法重新加载,请在安装后重启 Cocos Creator。Git 工作树和符号链接安装有意保留为手动执行 git pull 或替换软件包。
  • 为所有项目安装使用相同的版本发布和 SHA256 验证流程,目标是当前 Creator 版本的受管理全局目录,然后请求 Creator 扫描并注册软件包。它会保留活动项目中的副本,而不会在设置窗口打开时切换其下的软件包;如果当前没有活动的项目副本,全局副本会立即启用,否则会在下次打开项目时启用。
  • 项目技能可管理内置的 funplay-cocos-mcp-workflow 和 funplay-cocos-ui-composition 技能,以及适用于 Codex、Claude Code、Cursor、Qoder、Kimi Code、OpenCode、CodeBuddy 和 DSH 的自定义技能。内置的 v3 模板使用精简入口文件和按需加载的参考文件;版本检查、差异比较、备份和恢复都包含这些受管理的参考文件。现有的用户自有参考文件会受到保护。旧版 Codex 内置技能可迁移到 .agents/skills,而不会删除其原始文件。
  • Streamable HTTP 响应遵循 MCP 传输要求,涵盖 Accept、MCP-Protocol-Version、JSON-RPC 通知和响应,以及可选的 Mcp-Session-Id 会话。
  • 工具列表包含 MCP outputSchema 和 annotations;结构化工具结果使用包含 ok、tool、callId、summary、data 和后续 refs 的标准信封。
  • 默认启用 execute_javascript 安全检查。它会阻止明显有风险的文件系统和 Shell 模式,例如删除或截断调用、原始可写流、路径遍历、用户或系统绝对路径,以及 child_process。这只是安全防护措施,并非完整沙箱;如果已评估风险,可在调用中明确传入 safety_checks: false。
  • 所有已公开的 MCP 工具都会直接执行。Cocos 扩展中没有额外的审批开关。
  • 文件工具和 cocos://asset/path/... 资源仅限访问活动 Cocos 项目根目录。
  • 推荐的工作流是先使用 execute_javascript,再使用专门的辅助工具进行截图、诊断、资源和检查。
  • 如果在面板中更改服务端口或工具公开范围,扩展会保存配置,并在需要时重启服务。

为什么打造此项目

  • 以 execute_javascript 为首选 — 一个高灵活性的 JavaScript 工具即可编排场景/运行时工作和编辑器端自动化,无需让 AI 客户端承受过多细分工具调用
  • 内嵌 Cocos 扩展 — Cocos 侧插件无需单独的 Python 守护进程或外部桥接进程
  • 一键配置客户端 — 配置 Claude Code、Cursor、VS Code、Trae、Kiro、Qoder、Kimi Code、Codex、OpenCode 和 CodeBuddy(IDE 4.0+),或通过显式的 --patch 启动命令生成 DSH 覆盖层
  • 内置项目上下文 — 提供实时项目、场景、选择内容、脚本诊断、日志和交互历史资源
  • 默认精简,需要时全面开放 — core 可减少工具列表中的干扰;full 会开放所有可用工具;custom 配合已保存的配置文件,可按类别或工具调整并还原工具开放范围
  • 可视化验证 — 场景/编辑器/预览截图和输入模拟可帮助 AI 验证 UI 与游戏玩法的改动

亮点

  • 内置 106 个工具 — 场景层级、编辑器状态、选择工作流、预制体、资源、资源依赖、项目说明、UI 创建、组件、文件、日志、脚本诊断、截图、运行时控制、构建/预览辅助、编辑器偏好设置、事件绑定和输入模拟
  • 主要统一工具 — execute_javascript 同时支持 scene 和 editor 上下文
  • 资源与提示词 — 实时项目/日志资源,以及脚本修复、场景验证和可玩原型创建等可复用工作流
  • Cocos 面板 UI — 精简的 Funplay > MCP Server 控制面板,以及用于大型工作流的专用 Tool Exposure、MCP Settings 和 Project Skills 窗口
  • 截图与输入支持 — 捕获编辑器/场景/游戏/预览截图,并发送 Electron 级别的鼠标/键盘事件;鼠标点击/拖动可使用精确的 PNG 像素坐标,并配合新鲜截图的 captureId
  • 不依赖特定厂商 — 适用于任何支持通过 HTTP JSON-RPC 使用 MCP 的 AI 客户端

与 Funplay MCP for Unity 的关系

Funplay MCP for Cocos 遵循与 Funplay MCP for Unity 相同的设计原则,并针对 Cocos Creator 的 JavaScript/TypeScript 编辑器环境进行了适配。

领域Funplay MCP for CocosFunplay MCP for Unity
编辑器集成Cocos Creator 扩展Unity Editor 包
内嵌服务内置 HTTP MCP 服务内置 HTTP MCP 服务
主要执行工具execute_javascriptexecute_code
主要语言场景/编辑器上下文中的 JavaScriptUnity 编辑器/运行时上下文中的 C#
默认配置文件core,包含 39 个工具以核心工具为主的 core 配置文件
完整配置文件106 个工具,另含 custom 开放范围79 个工具
客户端设置一键配置面板一键配置窗口

MCP 能力

当前软件包公开了四层能力:

  • 工具 — core 中有 39 个工具,full 中有 106 个工具,另外还支持 custom 包含/排除规则和已保存的工具配置
  • 主要执行能力 — execute_javascript,用于场景/运行时以及编辑器/浏览器自动化
  • 提示词 — fix_script_errors、create_playable_prototype、scene_validation 和 auto_wire_scene,以及从 mcp-prompts/*.md 加载的参数化项目工作流。请参阅项目隔离、Skills 和工作流设置。
  • 资源 — 项目上下文、场景摘要、当前选择、脚本诊断、资源选择、日志和 MCP 交互历史

生成的工具参考文档包含类别、配置和读/修改提示,请参阅 docs/TOOLS.md。

默认的 core 集合刻意保持精简:execute_javascript、execute_scene_script、execute_editor_script、get_editor_state、get_tool_catalog、check_for_updates、get_selection、list_project_instructions、read_project_instruction、set_selection、get_project_info、get_build_status、get_preview_mode、create_scene、get_scene_info、get_hierarchy、list_scenes、open_scene、inspect_prefab、validate_prefab_references、inspect_prefab_instance、list_assets、inspect_asset、inspect_asset_dependencies、validate_asset_dependencies、open_asset、select_asset、run_script_diagnostics、get_recent_logs、search_project_logs、clear_logs、validate_scene、get_performance_snapshot、get_script_diagnostic_context、get_runtime_state、capture_editor_screenshot、capture_scene_screenshot、capture_preview_screenshot 和 list_editor_windows。

预览模式

Creator 3.8.x 预览自动化使用与内置预览工具栏相同的模式和编辑器 API:

模式行为
browser在系统浏览器中打开场景;如果可用,get_preview_mode 和 run_project_preview 会返回同主机和网络预览 URL。
gameView在 Cocos Creator 的 Game View 中启动场景。
simulator在原生模拟器中启动场景。

使用 get_preview_mode 检查当前活动模式,使用 set_preview_mode 切换模式,并使用 run_project_preview 启动预览。run_project_preview 仍接受 platform 作为已弃用的 mode 别名。

Game View 通过原生预览工具栏启动,因此手动暂停/恢复按钮仍可使用。重复启动时,已有预览会继续运行(包括其暂停状态)。pause_runtime 和 resume_runtime 控制同一个 Game View 预览,且具有幂等性;它们要求 Game View 正在运行,不控制浏览器/模拟器预览或编辑场景导演。切换离开 Game View 时,会先通过工具栏停止预览;如果操作被拒绝,则会报告错误,而不会声称操作成功。

请在 full 或自定义工具配置中启用这些控制工具。编写脚本时,优先使用这些工具,而不要直接调用 scene.editor-preview-set-play,因为直接调用会绕过工具栏同步。

get_runtime_state(validate_scene 也会使用)会报告 scope: "gameView"、实际的 running/paused 值、busy 和 toolbarSynchronized。它不再将编辑场景的帧数/时间缩放计数器作为预览状态呈现;这些数据仍保留在 get_performance_snapshot.runtime 中,其 scope 为 "editScene"。set_time_scale 仍只影响编辑场景。预览控制要求 Creator 主窗口工具栏兼容且就绪;如果工具栏不可用,会明确报告错误。

浏览器预览结果会区分同主机自动化与局域网访问:

字段含义
url / localUrl回环 URL,供与 Cocos Creator 在同一台计算机上运行的 MCP 客户端或浏览器使用。
networkUrl供同一网络中的其他设备使用的原始非回环 URL;当 Creator 报告的是回环或通配符主机时,此值为空。
reportedUrlCocos Creator 在规范化之前报告的确切 URL 字符串。
urlWarning仅当报告的值无法规范化为绝对 HTTP(S) URL 时,此值才非空。

内置资源

资源描述
cocos://project/context完整的项目和编辑器上下文
cocos://project/summary项目简要摘要
cocos://scene/active活动场景快照
cocos://scene/current当前场景的别名
cocos://selection/current当前编辑器选区
cocos://selection/asset当前选中的资源
cocos://errors/scripts脚本诊断信息
cocos://logs/editor最近的 MCP 运行时日志和工具交互记录
cocos://logs/project常见项目日志文件的最近内容
cocos://mcp/interactions最近的 MCP 交互历史

内置工具

Funplay MCP for Cocos 在 full 配置中目前提供 106 个工具函数:

类别工具
脚本执行execute_javascript、execute_scene_script、execute_editor_script
编辑器状态get_editor_state、get_tool_catalog、check_for_updates、get_selection、set_selection、get_editor_selection
项目说明list_project_instructions、read_project_instruction、write_project_instruction、create_project_skill、create_cocos_mcp_project_skill
项目与场景get_project_info、get_scene_info、get_hierarchy、find_nodes、inspect_node、list_scenes、open_scene、run_scene_asset
节点编辑create_node、delete_node、set_node_transform
资源与预制体list_assets、inspect_asset、inspect_asset_dependencies、validate_asset_dependencies、check_asset_ready、open_asset、select_asset、delete_asset、list_prefabs、inspect_prefab、validate_prefab_references、duplicate_prefab、edit_prefab_json、create_prefab_from_node、create_prefab_instance、inspect_prefab_instance、apply_prefab_instance、revert_prefab_instance、instantiate_prefab
组件list_components、inspect_component、add_component、remove_component、set_component_property、reset_component_property
UIcreate_canvas、create_label、create_button、create_sprite
摄像机list_cameras、create_camera、set_camera_properties
动画list_animations、add_animation_clip、play_animation、stop_animation
文件read_file、get_file_snippet、write_file、replace_in_file、search_files、list_directory、exists、refresh_assets
诊断与日志run_script_diagnostics、get_script_diagnostic_context、get_recent_logs、search_project_logs、clear_logs、validate_scene、get_performance_snapshot
构建与编辑器get_build_status、get_preview_mode、set_preview_mode、open_build_panel、run_project_preview、save_current_scene、get_editor_preference、set_editor_preference、broadcast_editor_message
运行时get_runtime_state、pause_runtime、resume_runtime、set_time_scale
交互与事件emit_node_event、simulate_button_click、list_button_click_events、bind_button_click_event、invoke_component_method、simulate_mouse_click、simulate_mouse_drag、simulate_key_press、simulate_key_combo、simulate_preview_input
截图与窗口capture_desktop_screenshot、capture_editor_screenshot、capture_scene_screenshot、capture_game_screenshot、capture_preview_screenshot、list_editor_windows

主要工具示例

场景上下文
{
  "context": "scene",
  "code": "return { sceneName: scene.name, rootCount: scene.children.length };",
  "args": {}
}
编辑器上下文
{
  "context": "editor",
  "code": "return { projectPath: context.projectPath, toolCount: helpers.listTools().length };",
  "args": {}
}

编辑器上下文脚本会接收 Editor、fs、path、os、require、context、args,以及 helpers.getStatus()、helpers.listTools()、helpers.readResource(uri)、helpers.callTool(name, args) 和 helpers.configureClient(targetId) 等辅助函数。

可选配置

将 funplay-cocos-mcp.config.json 放在 Cocos 项目根目录下:

{
  "host": "127.0.0.1",
  "port": 8765,
  "toolProfile": "core",
  "enabledToolCategories": [],
  "disabledToolCategories": [],
  "enabledTools": [],
  "disabledTools": [],
  "enableSessions": false,
  "enableConsoleLogging": true,
  "executeJavascriptSafetyChecks": true,
  "autostart": true,
  "maxInteractionLogEntries": 50,
  "activeToolProfileName": "",
  "savedToolProfiles": []
}

也支持使用环境变量:

  • COCOS_MCP_HOST
  • COCOS_MCP_PORT
  • COCOS_MCP_PROFILE

toolProfile: "custom" 会从 core 集合开始,然后添加 enabledToolCategories / enabledTools,并移除 disabledToolCategories / disabledTools。面板可以将这些暴露设置保存为命名的 savedToolProfiles,以便快速恢复或分享。默认情况下,enableSessions 处于关闭状态,因为此服务在常规编辑器自动化中不需要跨请求的客户端状态。

enableConsoleLogging 默认为 true。在 MCP Settings > Console Logs > Print MCP logs 中将其关闭,即可阻止扩展和 HTTP 服务向 Cocos 控制台输出 MCP 信息、警告和错误。此设置会立即生效,按项目保存,且不会重启 MCP、清除历史记录、屏蔽项目脚本日志或更改 stdio 协议输出。

架构

Cocos Creator Extension
    ├─ browser.js
    │   ├─ Embedded HTTP MCP Server
    │   ├─ Tool Registry
    │   ├─ Resource Provider
    │   ├─ Prompt Provider
    │   └─ One-Click Client Configuration
    ├─ scene.js
    │   └─ Scene/runtime execution bridge
    ├─ panel/index.js
    │   └─ Minimal MCP Server dashboard
    ├─ panel/tool-exposure.js, panel/settings.js, panel/project-skills.js
    │   └─ Focused maintenance windows
    └─ lib/
        ├─ assets, diagnostics, screenshots, input
        ├─ tool-profiles, javascript-safety
        ├─ tools/
        │   ├─ files
        │   ├─ assets-advanced
        │   ├─ cocos-project
        │   └─ scene-events
        └─ server, resources, prompts, tool registry

此服务使用 MCP 风格的 HTTP JSON-RPC 2.0,并支持工具、资源、资源模板、提示词、健康检查以及只读的 /tools 调试端点。

开发

发布更改前运行检查:

npm run check
npm test
npm run docs:check
npm run release:check
npm run pack:dry-run

更改 lib/tool-registry.js 后,重新生成工具参考文档:

npm run docs:generate

生成可用于 GitHub Release 的扩展包:

npm run release:package

软件包会写入 releases/<version>/,其中包含 zip、清单、生成的发行说明、校验和文件以及发行版 README。请上传全部五个文件,以便验证公开校验和。完整流程请参阅 RELEASE_WORKFLOW.md 和 RELEASE_CHECKLIST.md。

发布前验证 MCP Registry 元数据:

npm run registry:validate

许可证

MIT 许可证。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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