fgui-agent-bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FGUI_PROJECT_PATH | No | Path to the FairyGUI project (alternative to --project or fgui_use_project). | |
| FAIRYGUI_EDITOR_PATH | No | Path to the FairyGUI Editor executable (e.g., /Applications/FairyGUI-Editor.app on macOS or C:\Tools\FairyGUI-Editor\FairyGUI-Editor.exe on Windows). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fgui_statusA | 读取本地 FairyGUI 工程选择和桥接心跳,不主动唤醒编辑器。 |
| fgui_pingA | 唤醒 FairyGUI Editor 并验证桥接协议、版本和能力。 |
| fgui_use_projectA | 为当前 MCP 会话选择 .fairy 文件、FairyGUI 工程目录或仓库目录。 |
| fgui_get_projectC | 读取当前 FairyGUI 工程信息。 |
| fgui_list_packagesA | 列出当前 FairyGUI 工程中的全部包。 |
| fgui_list_itemsA | 列出指定包中的资源,可按 FairyGUI 资源类型过滤。 |
| fgui_open_documentB | 按包名和资源名打开 FairyGUI 组件文档。 |
| fgui_create_componentB | 在指定包中新建组件文档;默认打开但不保存,重名时默认拒绝。 save=True 保存包与工程后默认比对 package.xml 条目;组件类资源没有可靠的 asset 重载手段,external_reload 不可用,strength 上限为 disk。 |
| fgui_import_imageB | 从绝对本地路径导入图片;这是磁盘写入操作,支持拒绝、自动改名或替换同名图片。 save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。 |
| fgui_import_fontA | 从绝对本地路径导入字体;这是磁盘写入操作,支持拒绝、自动改名或替换同名字体。 save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。 |
| fgui_create_buttonC | 创建标准 FairyGUI Button 组件;状态图顺序为 up/down/over/selectedOver/disabled/selectedDisabled。 save=True 保存包与工程后默认比对 package.xml 条目;组件类资源不支持 external_reload,strength 上限为 disk。 |
| fgui_get_active_documentA | 读取当前活动文档、修改状态和选择数量。 |
| fgui_get_treeA | 读取当前组件对象树;修改前应先取得稳定的对象 ID 或路径。 |
| fgui_import_soundA | 从绝对本地路径导入声音资源;支持替换同名声音,属于磁盘写入。 save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。 |
| fgui_create_movieclipB | 用有序绝对图片路径创建或替换 MovieClip;图片序列由 FairyGUI 原生动画资源处理。 save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。 |
| fgui_get_movieclipC | 读取 MovieClip 的帧、FPS、Swing 和 RepeatDelay 设置。 |
| fgui_update_movieclipB | 更新已有 MovieClip;传入 frame_paths 时使用新的有序图片序列替换动画帧。 save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。 |
| fgui_remove_movieclipB | 删除 MovieClip 包资源;这是不可逆资源操作,必须显式 force=True。 save=True 保存包与工程后默认比对 package.xml 确认条目已移除;删除没有诚实的重载基元,external_reload 不可用,strength 上限为 disk。 |
| fgui_list_transitionsA | 读取当前组件的全部 Transition 及类型化关键帧。 |
| fgui_get_transitionA | 按名称读取当前组件的一个 Transition。 |
| fgui_upsert_transitionA | 声明式创建或完整替换一个 Transition;一次调用可由 fgui_undo/redo 原子回退。 save=True 保存后默认比对磁盘 XML 中的 节点;external_reload=True(需 save=True)关闭并重新打开文档再比对,响应 strength 为 reload / disk / none。 |
| fgui_remove_transitionA | 删除当前组件中的一个 Transition;可由 fgui_undo 恢复。 save=True 保存后默认确认磁盘 XML 不再包含该 Transition;external_reload=True(需 save=True)关闭重开后确认仍不存在,响应 strength 为 reload / disk / none。 |
| fgui_add_transition_itemB | 向 Transition 添加一个类型化关键帧轨道项。 save=True 保存后默认比对磁盘 XML 中该 Transition 的条目数;external_reload=True(需 save=True)关闭重开再比对,响应 strength 为 reload / disk / none。 |
| fgui_update_transition_itemB | 替换 Transition 指定索引的关键帧项;可用 fgui_undo/redo 回退。 save=True 保存后默认比对磁盘 XML 中该 Transition 的条目数;external_reload=True(需 save=True)关闭重开再比对,响应 strength 为 reload / disk / none。 |
| fgui_remove_transition_itemA | 删除 Transition 指定索引的关键帧项;可用 fgui_undo 恢复。 save=True 保存后默认比对磁盘 XML 中该 Transition 的条目数;external_reload=True(需 save=True)关闭重开再比对,响应 strength 为 reload / disk / none。 |
| fgui_preview_animationA | 在 Editor 中播放、暂停、停止、跳帧或查询预览状态;预览不会保存到 FairyGUI 资源。 |
| fgui_get_historyB | 读取 Agent 属性事务栈和 FairyGUI 原生撤销状态。 |
| fgui_select_objectB | 通过对象 ID、对象树路径或唯一名称选择一个对象。 |
| fgui_set_propertyB | 修改白名单属性;该操作进入 Agent 属性 undo/redo 事务栈。 save=True 保存后默认比对磁盘 XML;external_reload=True 会在保存后关闭并重新打开文档再比对,需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。 |
| fgui_replace_object_resourceB | 通过 Editor API 替换 Image/Loader 图片引用;保存后默认比对磁盘 XML。Button 状态暂不支持。 external_reload=True 会在保存后关闭并重新打开文档再比对,是唯一能证明「重新载入时值不丢」的验证;需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。 |
| fgui_get_text_styleC | 读取 TextField/RichText 的统一文本样式。 |
| fgui_set_text_styleB | 设置 TextField/RichText 的统一文本样式。 external_reload=True 会在保存后关闭并重新打开文档再比对,是唯一能证明「重新载入时值不丢」的验证;需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。 |
| fgui_verify_documentA | 只读验证 target 的 expected 属性;默认比对磁盘 XML,不保存。无 expected 时仅返回快照。 expected 为纯属性对象时比对单个 target(必须提供 object_id/object_path/object_name)。expected 含 children 时执行对象树比对,可省略 target(默认根组件):每个节点用 id/name/type 断言或定位,children 为子节点 spec 数组;childrenMode 默认 "exact"(按位置全等,数量必须一致),"subset" 表示每个 spec 按 id/name/index 定位一个子节点、允许多余节点。 external_reload=True 会关闭并重新打开当前文档再比对——这是只读操作仍能达到的最强持久化证明。本命令不会保存,因此文档存在未保存改动时会拒绝执行。 |
| fgui_set_list_layoutA | 修改 List 对象的布局与滚动属性(0.8.8+)。fields 支持: layout(single_column/single_row/flow_horizontal/flow_vertical/pagination)、 selectionMode(none/single/multiple/multiple_singleclick)、lineGap、columnGap、 defaultItem(ui:// 组件资源)、autoItemSize、align/vAlign(含 none)、 selectionController(控制器名)、foldInvisibleItems、clearOnPublish、 scrollItemToViewOnClick、overflow(visible/hidden/scroll)、margin("l,t,r,b")。 external_reload=True 需 save=True,关闭重开文档后重新比对;strength 标明验证强度。 |
| fgui_set_group_layoutA | 修改 Group 对象的布局属性(0.8.8+)。fields 支持: advanced、layout(horizontal/vertical 或 hz/vt)、lineGap、columnGap、 excludeInvisibles、mainGridMinSize、mainGridIndex、autoSizeDisabled、collapsed。 layout/lineGap/columnGap/excludeInvisibles 仅对 advanced=true 的高级组有效。 external_reload=True 需 save=True,关闭重开文档后重新比对;strength 标明验证强度。 |
| fgui_set_relationB | 整体替换对象的 Relation 绑定(0.8.8+)。relations 每项为: {"target": {"id"/"path"/"name"} 或 null(null/缺省 = 父组件), "sidePair": "left-left,right-right" 或 "pairs": [{"source": "right", "target": "right", "percent": false}]} sidePair 方向名:left/center/right/leftext/rightext/width(水平), top/middle/bottom/topext/bottomext/height(垂直);percent 追加 % 后缀。 external_reload=True 需 save=True,关闭重开文档后重新比对;strength 标明验证强度。 |
| fgui_set_gear_displayA | 设置对象的 gearDisplay 联动(0.8.8+):指定控制器与可见页面。 controller=None 或空字符串清除联动;pages 为页面 id 或名称列表(也接受 "0,1" 逗号串), 省略 pages 保持现有页面不变。 external_reload=True 需 save=True,关闭重开文档后重新比对;strength 标明验证强度。 |
| fgui_list_controllersB | 列出当前文档根组件的全部 Controller(0.8.8+)。 |
| fgui_set_controllerA | 创建、修改或删除当前组件的 Controller(0.8.8+)。 create=True 创建不存在的控制器;remove=True 删除;pages 整体替换页面集 (会重新分配页面 id,gearDisplay 中的页面引用需重新核对);add_pages 追加; selected_index/selected_page 设置选中页。 external_reload=True 需 save=True,关闭重开文档后重新比对;strength 标明验证强度。 |
| fgui_insert_objectA | 插入已有 ui:// 资源;结构操作不能由 Agent 属性事务栈撤销。 save=True 保存后默认比对磁盘 XML;external_reload=True 会在保存后关闭并重新打开文档再比对,需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。 |
| fgui_remove_objectA | 删除非根对象;需要可靠回退时使用 fgui_discard_document。 删除按「缺失性验证」处理:save=True 保存后确认磁盘 XML 不再包含该节点;external_reload=True 关闭重开后确认目标仍不存在,需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。 |
| fgui_undoA | 优先撤销 Agent 属性事务;事务栈为空时回退到 FairyGUI 原生撤销。 |
| fgui_redoA | 优先重做 Agent 属性事务;事务栈为空时回退到 FairyGUI 原生重做。 |
| fgui_save_documentA | 显式保存当前 FairyGUI 文档,并清空 Agent 属性事务栈。 |
| fgui_save_allA | 显式保存所有 FairyGUI 文档、已打开包和工程,并清空 Agent 属性事务栈。 |
| fgui_get_publish_settingsA | 读取工程发布目录、格式、图集、代码生成和包级覆盖设置。发布前应先调用。 |
| fgui_publishA | 按工程发布设置导出 FairyGUI 包。默认发布当前文档所属包并先保存;可选择指定包或全部包。 |
| fgui_discard_documentA | 放弃当前文档全部未保存修改并重新加载磁盘版本。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 48 tools
Most tools target clearly distinct resources and actions, but fgui_set_property overlaps with specialized setters such as fgui_set_text_style, fgui_set_list_layout, fgui_set_group_layout, fgui_set_relation, and fgui_set_gear_display, and its whitelist is not enumerated. fgui_status and fgui_ping also have related bridge-health purposes, though their descriptions differentiate them. Overall mostly distinct with a few boundary ambiguities.
The fgui_ prefix is applied uniformly, and most names follow a verb_noun pattern like fgui_get_tree, fgui_create_button, and fgui_remove_transition. A few exceptions (fgui_status, fgui_ping, fgui_undo, fgui_redo, fgui_publish) break the verb_noun pattern but remain readable and conventional.
48 tools far exceeds the typical 3-15 range and feels heavy for a single MCP server. Although the FairyGUI domain is broad, many operations could be consolidated, such as import_image/import_font/import_sound, the transition item CRUD trio, and the specialized layout property setters.
Core editing workflows are well covered, including transitions, controllers, properties, asset import, publishing, and verification. However, notable lifecycle gaps remain: no package create/delete/rename, no generic removal for image/font/sound assets (only MovieClip has explicit removal), and no generic object creation beyond button, component, and insert-existing-resource operations.