Cocos MCP
Provides tools to interact with the Cocos Creator editor, enabling scene manipulation, node management, component and property modification, asset management, UI creation, animation control, physics setup, and prefab operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cocos MCPCreate a new 3D node named Cube at position (0,0,0)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cocos MCP
A Cocos Creator 3.8.x MCP bridge for code agents. The editor extension runs a local TCP socket server, and a Python MCP server (stdio) forwards tools over that socket. This mirrors the Blender MCP architecture.
Architecture
Editor extension (TS):
packages/cocos-mcpstarts a TCP server inside Cocos Creator.MCP server (Python):
python/cocos_mcp_server.pyexposes tools over stdio and talks to the editor socket.
MCP Client (Claude Code / Cursor)
↕ stdio (MCP protocol)
Python MCP Server (cocos_mcp_server.py)
↕ TCP socket (JSON-RPC, port 8787)
Cocos Editor Extension (packages/cocos-mcp)
↕ Editor.Message / scene script APIs
Cocos Creator EngineInstall (Editor Side)
Copy
packages/cocos-mcpinto your Cocos project:Preferred:
extensions/cocos-mcpLegacy:
packages/cocos-mcp
Restart Cocos Creator and enable the extension in Extension Manager.
Optional: set port via env var before launching editor:
COCOS_MCP_PORT=8787
If you change TypeScript, rebuild:
npx tsc -p packages/cocos-mcp/tsconfig.jsonInstall (Python Side)
cd python && uv syncRun MCP Server
cd python && uv run cocos-mcp-server --host 127.0.0.1 --port 8787Claude Code Integration
Cocos MCP 完整支持 Claude Code —— Anthropic 官方的 CLI 编程工具。连接后,Claude Code 可以直接通过自然语言操控 Cocos Creator 编辑器:创建/删除节点、修改属性、管理资源、搭建 UI、配置物理和动画等。
快速添加(发布到 PyPI 后)
claude mcp add cocos-mcp-server uvx cocos-mcp-server自动发现
项目根目录包含 .mcp.json 配置文件。在此目录下启动 Claude Code 时会自动发现并连接 MCP 服务器,无需额外配置。
cd /path/to/cocos-mcp
claude手动配置
也可以将配置手动添加到 Claude Code 的设置中:
项目级别(.claude/settings.json):
{
"mcpServers": {
"cocos-mcp": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/cocos-mcp/python", "cocos-mcp-server", "--port", "8787"]
}
}
}全局级别(~/.claude/settings.json),适用于所有项目:
{
"mcpServers": {
"cocos-mcp": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/cocos-mcp/python", "cocos-mcp-server", "--port", "8787"]
}
}
}使用流程
启动 Cocos Creator 并打开包含
cocos-mcp扩展的项目确认编辑器控制台输出
[cocos-mcp] TCP server listening on 127.0.0.1:8787在终端启动 Claude Code
Claude Code 会自动连接 MCP 服务器,所有 43 个工具立即可用
使用示例
> 列出当前场景的所有节点
> 创建一个名为 Player 的节点,位置设为 (0, 1, 0)
> 给 Player 节点添加一个 RigidBody 和 BoxCollider
> 在场景中创建一个 Button,文字为"开始游戏"
> 把 Player 节点保存为 prefab 到 db://assets/prefabs/Player.prefab
> 查找项目中所有 prefab 资源其他 MCP 客户端
Cursor、Windsurf 等支持 MCP 协议的工具也可以使用相同的配置格式接入。
Tools
Scene
scene_get_active– Get the active scene name and UUIDscene_list_nodes– List all nodes as a tree structurescene_create_node– Create a new empty nodescene_delete_node– Delete a node and its childrenscene_duplicate_node– Deep clone a nodescene_move_node– Reparent a nodescene_get_node_props– Read node properties (position, rotation, scale, etc.)scene_set_node_props– Set node propertiesscene_add_component– Add a component to a nodescene_remove_component– Remove a component from a nodescene_get_component_props– Read component propertiesscene_set_component_props– Set component properties
Editor
editor_save_scene– Save the current sceneeditor_query_dirty– Check if scene has unsaved changeseditor_open_scene– Open a scene by UUIDeditor_undo– Undo last operationeditor_redo– Redo last undone operation
UI
scene_create_ui_node– Create a complete UI node (Button, Label, Sprite, Layout, etc.)scene_configure_widget– Configure Widget alignment on a nodescene_configure_layout– Configure Layout component on a node
Animation
scene_add_animation– Add Animation component to a nodescene_play_animation– Play animation on a nodescene_stop_animation– Stop animation on a node
Rendering & Physics
scene_set_material_property– Set material uniform on MeshRendererscene_get_material_property– Read material uniform from MeshRendererscene_add_physics_body– Add RigidBody + Collider in one stepscene_configure_particle_system– Configure ParticleSystem on a node
Prefab
editor_instantiate_prefab– Instantiate a Prefab asset into the sceneeditor_create_prefab– Create a Prefab asset from a scene nodescene_get_prefab_info– Query prefab metadata on a node
Assets
assets_find– Search assets by glob patternassets_get_info– Get asset metadata by UUIDassets_create– Create a new assetassets_import– Import an external file as an assetassets_move– Move an asset to a new pathassets_rename– Rename an assetassets_delete– Delete an assetassets_get_dependencies– List asset dependenciesassets_reveal– Reveal asset in OS file explorerassets_request– Raw asset-db message passthrough
Execute
execute(scope, code, args)– Run arbitrary JS insceneormainscope
Troubleshooting
"Failed to communicate with Cocos Creator"
Make sure Cocos Creator is running and the project with the extension is open.
Check that the extension is enabled in Extension Manager.
Verify the port matches (default 8787). Check the editor console for
[cocos-mcp] TCP server listening on 127.0.0.1:8787.
Port already in use
Another instance may be using port 8787. Set a different port:
COCOS_MCP_PORT=8788 # set before launching Cocos Creator python python/cocos_mcp_server.py --port 8788
Extension not loading
Ensure
package.jsonhas"package_version": 2and"editor": ">=3.8.0".The extension folder must be named
cocos-mcp(matching thenamefield).Check the editor console for error messages.
Scene operations return "No active scene"
Open a scene in the editor before calling scene tools.
Notes
Asset operations map to common
asset-dbmessage names (e.g.query-assets). If your editor build differs, useassets_requestwith the exact method name.Scene modifications via MCP do not currently trigger the editor's undo system. Save your scene before making bulk changes.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wanghehacker/cocos-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server