Skip to main content
Glama
Wilson520403

fgui-agent-bridge

by Wilson520403

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FGUI_PROJECT_PATHNoPath to the FairyGUI project (alternative to --project or fgui_use_project).
FAIRYGUI_EDITOR_PATHNoPath 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 48 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness3/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues