跳转到内容

MCP Server

Estella 编辑器内置 MCP(Model Context Protocol) 桥接器,允许 Claude 等 AI 助手实时读取和修改你的场景。MCP 服务器将 MCP 工具调用转换为对运行中编辑器的 HTTP 请求。

前提条件

  • Estella 编辑器 v0.11.0 或更高版本
  • Node.js 18+
  • MCP 兼容的 AI 客户端(如 Claude Desktop、Claude Code、Cursor)

安装

配置你的 AI 客户端使用 MCP 服务器。无需额外安装步骤——npx 直接从 GitHub 获取。

在项目根目录的 .mcp.json 中添加:

{
"mcpServers": {
"estella-editor": {
"command": "npx",
"args": ["-y", "github:esengine/estella-mcp-server"]
}
}
}

3. 启动编辑器

在 Estella 编辑器中打开项目。MCP 桥接器会自动在 ~/.esengine/bridge-<port>.json 注册,MCP 服务器启动时通过此文件发现编辑器。

工作原理

AI 客户端 ←→ MCP Server (stdio) ←→ HTTP Bridge ←→ Estella 编辑器
  1. 编辑器在随机可用端口启动 HTTP 桥接服务器
  2. 写入发现文件到 ~/.esengine/bridge-<port>.json
  3. MCP 服务器读取发现文件找到运行中的编辑器
  4. AI 工具调用被转换为 HTTP GET/POST 请求

可用工具

场景检查

工具说明
get_hierarchy列出场景树中的所有实体
get_entity获取实体数据(所有组件和属性)
get_component获取指定组件的属性
get_children列出子实体
list_assets按类型列出项目资源
read_asset读取资源文件内容

实体操作

工具说明
create_entity创建新实体(可指定父实体)
delete_entity删除实体
rename_entity重命名实体
reparent_entity将实体移动到新的父级
add_component为实体添加组件
remove_component移除实体的组件

属性编辑

工具说明
set_property设置组件属性值(支持撤销)
get_selection获取当前选中的实体
select_entity在编辑器中选中实体

时间轴

工具说明
get_timeline读取实体的时间轴数据
update_timeline修改时间轴轨道、关键帧或属性
write_asset将修改后的资源数据写回磁盘

Play 模式

工具说明
play进入 Play 模式
stop退出 Play 模式
pause暂停/恢复
set_play_speed调整播放速度

UI 创建

一次工具调用即可创建完整配置的 UI 控件层级。实体自动挂载到 Canvas 下。

工具说明
create_text创建文本标签,支持 content、fontSize、color、align
create_image创建图片元素,支持 tint color 和尺寸
create_panel创建带背景和遮罩的面板
create_button创建带背景和交互的按钮
create_input_field创建文本输入框,支持 placeholder 和初始值
create_toggle创建开关/复选框
create_slider创建带填充条和手柄的滑块
create_progress_bar创建带填充的进度条
create_scroll_view创建可滚动容器
create_dropdown创建带选项的下拉菜单

编辑器状态

工具说明
get_console_logs获取最近的控制台日志,可按级别过滤
get_panel_layout获取编辑器面板位置
get_project_settings获取项目设置
get_build_status获取最近的构建记录
get_render_stats获取帧时间和性能数据
get_asset_info通过 UUID 或路径获取资产详细信息

视觉

工具说明
capture_editor截取编辑器截图(整个窗口或指定面板)
capture_diff逐像素比较两张截图

示例提示

配置完成后,你可以这样向 AI 助手提问:

  • “显示场景中的所有实体”
  • “把玩家的位置改成 (100, 200)”
  • “给 Background 实体添加一个 Sprite 组件”
  • “把 idle 动画速度设为 0.5 倍”
  • “截个图告诉我屏幕上有什么”

故障排除

MCP 服务器提示 “No running ESEngine editor found”

  • 确保 Estella 编辑器正在运行且已打开项目
  • 检查 ~/.esengine/ 目录下是否有 bridge-*.json 文件
  • 如果文件存在但编辑器已关闭,删除过期的 bridge 文件

连接被拒绝

桥接服务器绑定在 127.0.0.1。如果使用了代理,确保 localhost 流量不经过代理:

Terminal window
curl --noproxy '*' http://127.0.0.1:<port>/health

工具返回错误

  • 确保编辑器已加载场景
  • 实体 ID 是数字——先用 get_hierarchy 查找有效的 ID
  • 组件名称区分大小写(如 TransformSpriteSpineAnimation