Newcontext-mode—Save 98% of your AI coding agent's context windowLearn more
MCP Directory
ServersClientsBlog

context-mode

Save 98% of your AI coding agent's context window. Works with Claude Code, Cursor, Copilot, Codex, and more.

Try context-mode
MCP Directory

Model Context Protocol Directory

MKSF LTD
Suite 8805 5 Brayford Square
London, E1 0SG

MCP Directory

  • About
  • Blog
  • Documentation
  • Contact

Menu

  • Servers
  • Clients

© 2026 model-context-protocol.com

The Model Context Protocol (MCP) is an open standard for AI model communication.
Powered by Mert KoseogluSoftware Forge
  1. Home
  2. Servers
  3. cocos2x-mcp

cocos2x-mcp

GitHub

Open-source MCP Server for Cocos Creator 2.x - AI-driven game development with 15 tools and 80+ operations

0
0

Cocos Creator 2.x MCP Server

开源、免费、零依赖的 MCP (Model Context Protocol) 服务器,为 Cocos Creator 2.x 编辑器提供 AI 驱动的游戏开发能力。

支持 Claude Desktop、Cursor、Windsurf、Gemini CLI 等任何兼容 MCP 协议的 AI 客户端。


特性

  • 15 个 MCP 工具,80+ 操作 — 覆盖场景、节点、组件、UI、动画、资源、预制体、构建全流程
  • 零外部依赖 — 纯 Node.js 内置模块,无需 npm install
  • 即装即用 — 复制到项目 packages/ 目录,打开编辑器即可
  • 可视化设置面板 — 在编辑器内直接修改端口、开关服务
  • AI 组件知识库 — 内置 16 个组件的完整属性定义和使用提示
  • 自然语言意图分发 — 描述你想做的事,自动匹配对应工具

安装

将 cocos2x-mcp/ 文件夹复制到 Cocos Creator 2.x 项目的 packages/ 目录:

your-project/
  assets/
  packages/
    cocos2x-mcp/     <-- 复制到这里

打开编辑器,扩展自动加载,控制台输出:

[Cocos2x MCP] MCP Server running on http://localhost:3000/mcp

配置 AI 客户端

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "cocos-2x": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

Cursor (项目根目录 .cursor/mcp.json):

{
  "mcpServers": {
    "cocos-2x": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

修改端口

编辑器菜单 Cocos MCP Server > Settings 打开设置面板,可直接修改端口。

也可以手动编辑扩展目录下的 config.json:

{
  "port": 3000,
  "autoStart": true,
  "debugLog": false
}

修改后点击 Reload Config 或重启编辑器生效。


使用

在 AI 客户端中直接用自然语言描述你想做的事:

  • "查看当前场景的节点树结构"
  • "在 Canvas 下创建一个按钮,文字是'开始游戏'"
  • "找到所有 Label 节点"
  • "把 PlayerNode 的 x 改成 200"
  • "帮我检查场景有没有缺失引用的问题"
  • "cc.Widget 组件有哪些属性?怎么用?"

工具清单

场景与节点

工具操作数功能
cocos_scene3获取当前场景信息、查询节点层级树、列出项目所有场景
cocos_node11创建/删除/查找/修改节点,批量修改,重设父节点,挂载/移除脚本
cocos_component6添加/移除/查询/修改组件属性,列出节点组件,查看可用组件类型

UI 创建

工具操作数功能
cocos_composite8一键创建 Button、ScrollView、Toggle、ProgressBar、EditBox、Panel,批量创建节点,配置 Widget
cocos_label5创建文本节点,修改文字内容/字号/颜色/对齐方式
cocos_sprite3创建图片节点,设置尺寸模式和渲染类型

资源与预制体

工具操作数功能
cocos_asset5按模式/类型查询资源,UUID / URL / 文件路径互转
cocos_prefab3列出所有预制体,获取预制体信息,实例化预制体到场景

动画与视口

工具操作数功能
cocos_animation6播放/暂停/恢复/停止动画,获取动画片段列表和播放状态
cocos_view3聚焦到指定节点,重置视口,获取设计分辨率

编辑器控制

工具操作数功能
cocos_editor4保存/打开场景,获取项目信息,刷新资源数据库
cocos_builder3打开构建面板,启动浏览器预览,查询可用构建平台

校验与智能

工具操作数功能
cocos_validate4场景综合校验,检查缺失引用,检查布局问题,按组件类型搜索节点
cocos_knowledge516 个组件的完整属性/枚举值/使用提示,常用 UI 模式,关键词搜索
cocos_do1自然语言意图分发器,50+ 匹配规则,自动推荐应调用的工具

详细操作说明

cocos_scene

操作参数说明
get_info--返回当前场景的名称、UUID、子节点列表
get_hierarchymaxDepth?返回完整的节点树结构
list_scenes--查询项目中所有 .fire 场景文件

cocos_node

操作参数说明
createname, parent?, x?, y?, width?, height?, scaleX?, scaleY?, rotation?, anchorX?, anchorY?, opacity?, color?, active?, zIndex?创建新节点,默认挂载到 Canvas 下
deleteuuid / path / name删除指定节点
get_infouuid / path / name返回节点完整属性和组件列表
find_by_namename按名称搜索节点
find_by_pathpath按路径定位节点(如 "Canvas/Panel/Button")
set_propertyuuid/path/name, property, value修改属性:x, y, width, height, scale, rotation, opacity, active, color 等
get_allmaxCount?返回场景中所有节点摘要
reparentnode*, parent*, keepWorldTransform?移动节点到新父节点
batch_modifymodifications[]批量修改多个节点
mount_scriptuuid/path/name, scriptName挂载脚本组件
remove_scriptuuid/path/name, scriptName移除脚本组件

cocos_component

操作参数说明
adduuid/path/name, componentType, properties?添加组件(支持 "Sprite" 或 "cc.Sprite")
removeuuid/path/name, componentType移除组件
get_infouuid/path/name, componentType获取组件详情
set_propertyuuid/path/name, componentType, property, value修改组件属性
listuuid/path/name列出节点上所有组件
list_available--列出 31 个可用内置组件

cocos_composite

操作说明
create_button创建完整按钮:节点(Sprite+Button) + Label 子节点
create_scrollview创建 ScrollView > view(Mask) > content(Layout)
create_toggle创建 Toggle + Background + checkmark
create_progressbar创建 ProgressBar + bar Sprite
create_editbox创建文本输入框
create_panel创建全屏面板(Widget 四边拉伸 + BlockInputEvents)
batch_create批量创建节点,type 可选: node, label, sprite, button
setup_widget配置 Widget 对齐属性

cocos_label

操作说明
create创建带 Label 组件的节点
set_text修改文本内容
set_font_size修改字号
set_color修改颜色
set_alignment修改对齐(水平: LEFT/CENTER/RIGHT, 垂直: TOP/CENTER/BOTTOM)

cocos_sprite

操作说明
create创建带 Sprite 组件的节点
set_size_mode尺寸模式: CUSTOM / TRIMMED / RAW
set_type渲染类型: SIMPLE / SLICED / TILED / FILLED

cocos_animation

操作说明
play播放动画(可指定 clipName, wrapMode, speed)
stop停止动画
pause暂停
resume恢复
get_clips获取节点上所有动画片段信息
get_state获取当前播放状态

cocos_prefab

操作说明
list列出项目中所有 .prefab 文件
get_info获取预制体元数据
instantiate实例化预制体到场景

cocos_asset

操作说明
query按 URL 模式搜索资源
find_by_type按类型列出资源(sprite-frame, prefab, scene 等)
get_info获取资源元数据
get_urlUUID 转 URL
get_pathUUID 转文件路径

cocos_editor

操作说明
project_info获取项目名称和路径
save_scene保存当前场景
open_scene打开指定场景
refresh_assets刷新资源数据库

cocos_builder

操作说明
query_build_options查询可用构建平台
open_build_panel打开构建面板
start_preview启动浏览器预览

cocos_validate

操作说明
validate_scene综合校验(空节点、过深嵌套等)
check_references检查缺失引用
check_layout检查布局问题
find_by_component按组件类型搜索节点

cocos_knowledge

操作说明
component_info获取组件完整属性定义和使用提示
list_all列出所有已收录组件
node_infocc.Node 属性参考
patterns常用 UI 模式
search关键词搜索

cocos_do

操作说明
(默认)自然语言描述意图,自动匹配工具和操作

架构

AI 客户端 (Claude / Cursor / Gemini CLI)
    |  HTTP POST /mcp (JSON-RPC 2.0)
    v
main.js --- HTTP 服务器 (Electron 主进程)
    |
    v
src/tools/*.js --- 15 个工具模块
    |
    v
ipc-bridge.js --- Editor.Scene.callSceneScript (Promise 化)
    |
    v
scene-walker.js --- 场景脚本 (渲染进程, cc 全局可用)
    |
    v
Cocos Creator 2.x 引擎 API

两条执行路径:

  • 场景操作(节点、组件、动画等)通过 Editor.Scene.callSceneScript 进入场景进程
  • 编辑器操作(资源查询、场景保存、构建等)直接在主进程调用 Editor.assetdb 等 API

目录结构

cocos2x-mcp/
  package.json             # Cocos Creator 2.x 扩展清单
  config.json              # 服务器配置(端口、自动启动等)
  main.js                  # 扩展入口:HTTP 服务器 + 生命周期
  scene-walker.js          # 场景脚本:所有引擎操作的实现
  panel/
    index.js               # 设置面板 UI
  src/
    mcp-server.js           # MCP JSON-RPC 协议处理器
    tools/
      index.js              # 工具注册中心
      scene-tools.js        # cocos_scene
      node-tools.js         # cocos_node
      component-tools.js    # cocos_component
      composite-tools.js    # cocos_composite
      label-tools.js        # cocos_label
      sprite-tools.js       # cocos_sprite
      animation-tools.js    # cocos_animation
      prefab-tools.js       # cocos_prefab
      asset-tools.js        # cocos_asset
      editor-tools.js       # cocos_editor
      builder-tools.js      # cocos_builder
      validate-tools.js     # cocos_validate
      view-tools.js         # cocos_view
      knowledge-tools.js    # cocos_knowledge
      do-tools.js           # cocos_do
    utils/
      ipc-bridge.js         # Promise 化的 callSceneScript
      node-resolver.js      # 节点查找(UUID/路径/名称)
      component-map.js      # 31 个内置组件名称映射
      param-validator.js    # 参数校验

测试

# 自动化测试(需要 MCP 服务器运行中)
bash run_tests.sh

# 手动健康检查
curl http://localhost:3000/mcp

# 列出所有工具
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

已知限制

  1. 大资源查询 — 项目资源量极大时,cocos_asset 查询可能超时
  2. 预制体创建 — 当前仅支持实例化已有预制体,不支持从节点创建新预制体
  3. SpriteFrame 加载 — 创建 Sprite 时无法直接指定图片资源(需通过 UUID 加载后赋值)

扩展开发

添加新工具

  1. 在 src/tools/ 下创建 xxx-tools.js,导出 { definition, handler }
  2. 在 src/tools/index.js 中 register() 注册
  3. 如需场景操作,在 scene-walker.js 中添加对应方法
  4. 重载扩展后生效

场景脚本方法格式

// scene-walker.js 中添加
myNewMethod: function (event, args) {
  // cc 全局可用
  var result = { /* ... */ };
  event.reply(null, result);  // 必须调用 event.reply
}

从工具层调用场景脚本

var ipcBridge = require('../utils/ipc-bridge');
ipcBridge.callSceneScript('myNewMethod', { param1: 'value' })
  .then(function (result) { /* ... */ });

License

MIT

Repository

RA
rayalen9981

rayalen9981/cocos2x-mcp

Created

April 13, 2026

Updated

April 13, 2026

Language

JavaScript

Category

AI