fgui-agent-bridge
This server lets an AI agent drive a running FairyGUI Editor through MCP: inspect the project, create/edit UI documents and objects, then save or publish them.
Connect & locate:
fgui_status/fgui_pingcheck bridge health,fgui_use_projectselects a FairyGUI project,fgui_get_projectreports project info.Browse assets:
fgui_list_packagesandfgui_list_items(with optionalitem_typefilter) enumerate packages and resources.Open & inspect documents:
fgui_open_document,fgui_get_active_document, andfgui_get_tree(depth-limited object tree).Create resources:
fgui_create_component,fgui_create_button(common/check/radio, state images), andfgui_import_imagefrom an absolute local path with conflict policy (error/auto_rename/replace).Edit objects:
fgui_select_objectby id/name/path,fgui_set_property(whitelisted props, undoable),fgui_insert_object(existingui://resource),fgui_remove_object.Undo/redo & save:
fgui_get_history,fgui_undo,fgui_redo,fgui_save_document,fgui_save_all,fgui_discard_documentto persist or roll back changes.Publish:
fgui_get_publish_settingsthenfgui_publish(active package, named packages, or all; optional save-first and branch/desc-only).Note: the README also advertises tools absent from this schema (MovieClip sequences, Transitions, animation preview, layout/controller, verification, text styles).
Click on "Deploy 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., "@fgui-agent-bridgeCreate a new component called MainMenu in package UI and open it"
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.
FairyGUI Agent Bridge
用自然语言,让 AI 直接操作 FairyGUI Editor。
FairyGUI Agent Bridge 在 FairyGUI Editor 和 AI 编程助手之间架了一座桥。通过 MCP 或 CLI,Cursor、Claude Code、Codex、VS Code 中的 Agent 可以读取工程结构、创建和修改界面、制作动效、导入资源并发布产物。你描述需求,它负责把改动落到编辑器里。
v0.8.23 · 队列协议 1.0 · 基于 FairyGUI Editor 6.1.4 开发与验证
本仓库只包含 Bridge 本身。FairyGUI 工程里只安装一个轻量插件,MCP/CLI 始终从本仓库运行。如果使用支持 Skill 的 Agent,还可以额外安装 Skill,让 AI 更熟悉 FairyGUI 的操作约定。
它能做什么
拼界面:新建组件和按钮,插入已有资源,调整位置、尺寸、样式、布局与控制器。
导入资源:从本地导入图片、字体、声音,或用图片序列生成 MovieClip 动画。
做动效:读取、创建和修改 Transition,支持全部原生轨道,可逐关键帧调整,也能在编辑器里直接预览。
整理资源关系:替换图片引用,查询「谁引用了它」和「它依赖了谁」。
分支协作:列出、创建和切换工程分支,让试验性的改动落在独立目录里,不影响主干。
实例级覆盖:同一个组件在不同实例上显示不同文案与样式(按钮标题、字号、颜色)。
验证改动:保存后比对文档与磁盘 XML,确认内容真的写进去了。
发布:按活动包、指定包或全部包发布,并在发布前按真实图集约束处理大图。
Related MCP server: Cocos Creator MCP Server
工作原理
graph LR
Agent["AI Agent / IDE<br>(Cursor / Claude / Codex / VSCode)"]
-->|MCP stdio| Bridge["FairyGUI Agent Bridge<br>(Python CLI / MCP Server)"]
Bridge -->|读写 .agent/ 队列| Plugin["Editor 插件<br>(plugins/agent-bridge)"]
Plugin -->|FairyGUI API| Editor["FairyGUI Editor<br>(运行中的 UI 工程)"]Agent 与 Bridge 之间通过 MCP stdio 或 CLI 通信;Bridge 把请求写入目标工程的 .agent/ 目录,Editor 插件轮询队列并调用 FairyGUI 原生 API 执行。所有改动都发生在真实的 Editor 会话里,你在编辑器界面中能立即看到结果。
环境要求
Python
3.10+uv 包管理器
FairyGUI Editor(推荐
6.1.4)
安装
方式一:让 AI 帮你安装(推荐)
把下面的提示词发给你常用的 AI 编程助手(Cursor、Claude Code、Codex 等):
请帮我在这台电脑上安装 FairyGUI Agent Bridge,并完成连接验证。
你可以执行终端命令和编辑本地文件,请直接动手安装,遇到需要我确认的地方再停下来问我。
源仓库:https://github.com/Wilson520403/fgui-agent-bridge.git
目标 FairyGUI 工程:优先从当前工作区自动查找 .fairy 文件;找不到或找到多个时先问我。
目标代码仓库:当前工作区。方式二:手动安装
1. 克隆仓库并准备环境
git clone https://github.com/Wilson520403/fgui-agent-bridge.git
cd fgui-agent-bridge
uv sync --frozen2. 安装 FairyGUI Editor 插件
运行同步脚本,在弹出的窗口中选择你的 FairyGUI 工程目录:
uv run python scripts/sync_to_project.py --choose-project --apply也可以直接用命令行指定工程路径:
uv run python scripts/sync_to_project.py \
--project /ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT \
--apply插件会安装到目标工程的 plugins/agent-bridge/。安装完成后重新打开 FairyGUI 工程,插件才会加载。
工程内会自动生成 .agent/ 运行时目录(请求队列与日志),建议把它加入 .gitignore。
3. 配置 MCP Server
根据你使用的 AI 客户端添加 MCP 配置。通用格式如下(示例文件见 .mcp.example.json):
{
"mcpServers": {
"fgui": {
"command": "uv",
"args": [
"run",
"--project",
"/ABSOLUTE/PATH/TO/fgui-agent-bridge",
"fgui-agent-mcp"
],
"env": {
"FGUI_PROJECT_PATH": "/ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT"
}
}
}
}常见客户端的配置入口:
Cursor:
~/.cursor/mcp.json或项目根目录的.cursor/mcp.json。Claude Desktop:
claude_desktop_config.json(macOS:~/Library/Application Support/Claude/,Windows:%APPDATA%\Claude\)。Codex CLI:
codex mcp add fgui \ --env FGUI_PROJECT_PATH=/ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT \ -- uv run --project /ABSOLUTE/PATH/TO/fgui-agent-bridge fgui-agent-mcpVS Code (Cline / Roo Code):在扩展的 MCP Settings 中添加名为
fgui的 stdio 服务。
4. 验证连接
启动 FairyGUI Editor 并打开目标工程,然后执行:
uv run --project /ABSOLUTE/PATH/TO/fgui-agent-bridge \
fgui-agent --project /ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT ping返回 {"status": "ok", ...} 就说明连接成功了。
可选:安装 Agent Skill
Skill 记录了 FairyGUI 的属性规范、动画约定和各工具的用法,能让 AI 少走弯路。可以用同步脚本把它安装到你的业务代码仓库:
uv run python scripts/sync_to_project.py \
--project /ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT \
--skill-root /ABSOLUTE/PATH/TO/YOUR-CODE-REPOSITORY \
--apply也可以手动把 .agents/skills/fgui-agent-bridge/ 复制到目标仓库的 .agents/skills/ 下。
试试这些指令
安装完成后,在支持 MCP / Skill 的 AI 对话框里直接描述需求即可:
帮我制作一个登录界面,包含账号输入框、密码输入框和登录按钮根据蓝湖 MCP 导出的切图帮我拼出这个背包界面帮我给 MainMenu 界面的 StartBtn 添加一个弹出的缩放动画效果
安装了 Skill 的话,也可以用 /fgui-agent-bridge 帮我制作一个登录界面 显式触发。
更新
一条命令即可拉取最新代码、同步 Python 环境,并把新版插件与 Skill 刷新到目标工程:
uv run python scripts/sync_to_project.py \
--pull \
--project /ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT \
--skill-root /ABSOLUTE/PATH/TO/YOUR-CODE-REPOSITORY \
--apply
# 或通过 CLI 的 update 子命令
uv run fgui-agent --project /ABSOLUTE/PATH/TO/FAIRYGUI-PROJECT update --pull --apply更新插件文件后需要重新打开 FairyGUI 工程。只有 Bridge 仓库路径或启动命令发生变化时,才需要更新 MCP 配置。
fgui_status 会比对 Bridge 与编辑器中插件的版本,不一致时返回 updateWarning。
常用 CLI
在本仓库根目录执行;也可以在任何位置通过 --project PATH 指定工程:
# 状态与连接检查
uv run fgui-agent status
uv run fgui-agent ping
# 查看工程与资源结构
uv run fgui-agent packages
uv run fgui-agent tree
# 分支
uv run fgui-agent branches
uv run fgui-agent create-branch feature-login --switch
uv run fgui-agent items Package1 --branch feature-login
uv run fgui-agent switch-branch "" # 空名称表示主干
# 查找冗余资源
uv run fgui-agent find-unused
uv run fgui-agent find-unused --skip-exported --type image
uv run fgui-agent find-duplicate
# 保存与发布
uv run fgui-agent save
uv run fgui-agent insert-text --text "Hello" --x 40 --y 520 --name title \
--style '{"fontSize":28,"color":"#FFCC00","bold":true,"strokeSize":2,"strokeColor":"#FF0000","shadowX":1,"shadowY":2}' --save
# 同一个组件的不同实例显示不同文案与样式(扩展级 override)
uv run fgui-agent set-instance-override '{"title":"轻松","titleFontSize":28,"titleColor":"#333333"}' \
--path lblOverride --save --external-reload
uv run fgui-agent publish --scope active更多命令与参数见 uv run fgui-agent --help。call 仅用于调试原始 Action,日常操作请使用正式子命令。
MCP 工具一览
共 69 个工具,按用途分组:
类别 | 工具名称 | 功能描述 |
连接与定位 |
| 检查连接状态、切换工程、查看包列表与包内资源( |
分支 |
| 列出、创建和切换工程分支,切换后读写都会落在对应分支 |
文档与对象 |
| 打开组件、查看对象树、选中元件、修改属性及增删显示对象; |
资源创建/导入 |
| 新建组件/按钮,从本地绝对路径导入图片、字体与声音; |
包资源管理 |
| 删除/改名/移动/复制包内资源(0.8.22+),删除前会检查引用 |
MovieClip 序列帧 |
| 从本地图片序列创建或更新序列帧动画(帧直接嵌入 |
Transition 动效 |
| 读取与校验动效,声明式增改整段动效,原子化修改条目或关键帧,复制整条 Transition |
动画预览 |
| 在编辑器中实时播放、暂停、停止、跳帧预览 Transition 或 MovieClip |
保存与事务 |
| 撤销/重做、保存文档或放弃未保存修改 |
验证与资源引用 |
| 比对预期属性或整个对象树、替换资源引用、查询引用图、读写文本样式(0.8.20+ 支持 |
冗余资源 |
| 找出没有被引用的资源,以及内容完全重复的文件(只读) |
布局与控制器 |
| 修改 List/Group 布局、替换 Relation 绑定、设置 gearDisplay 联动、增删改 Controller |
图集与发布 |
| 查询或修改发布设置、判断图片能否放进图集、修正图集标记、执行资源发布 |
使用说明与注意事项
写入、验证与撤销
大多数写操作支持 save、verify 和 external_reload 三个选项(新建组件、删除组件等少数操作不支持 external_reload):
save:执行后立即保存文档。verify:重新读取对象树,并按需比对磁盘 XML。external_reload:重新加载文档或资源后再比对,是最强的持久化验证(需要同时设置save=true)。
响应里的 persisted 和 strength(reload / disk / none)会告诉你验证到了哪一层。
属性修改和 Transition 编辑会进入 Agent 撤销栈,可以用 fgui_undo / fgui_redo 回退。结构创建、删除和资源导入不属于可逆操作;discard 只放弃当前文档未保存的修改,不能替代 undo 或 save。
包资源管理(0.8.22+)
fgui_delete_package_item、fgui_rename_package_item、fgui_move_package_item、fgui_duplicate_package_item
把「关掉编辑器、手改 package.xml、删 XML 文件」这类带外操作收进 Bridge。
立即落盘:调用返回后
package.xml与磁盘文件已是新状态;不进 Agent 撤销栈,失败不自动回滚。删除前会检查引用:仍被引用的资源会被挡住;确认要删传
allow_dangling_references=True,响应里的danglingReferences列出所有会变悬空的位置,含尚未落盘的引用。改名/移动不更新引用方的
fileName属性:资源 id 不变、运行时不受影响;响应里的staleFileNameSlots列出待补齐的位置,让相关文档在编辑器里重新保存一次即可。目标目录不存在时自动创建:
create_folders=True(默认),响应里的folderCreated回报是否新建。改名/移动允许文档开着;删除要求目标文档先关闭(文档开着时默认拒绝,
close_open_documents=True可让 Bridge 代为关闭,未保存改动一律拒绝)。
坐标与尺寸的整数语义(0.8.23+)
FairyGUI 只存整数:
x/y/width/height落盘时向零截断(50.5→50、-10.5→-10),组件根尺寸更早一步就被截断。Bridge 写入前做同一套截断,响应里的
rounded列出每一处精度损失([{property, from, to}]),没有损失时不会出现该字段。scale、rotation、pivot、alpha是真浮点,保留小数。几何写入入口:
fgui_set_property、fgui_insert_object、fgui_insert_text、fgui_set_text_style、fgui_create_component、fgui_create_button。
编辑器侧的两个老坑
scale只保留 3 位小数:编辑器把缩放写成scale="0.333",写scaleX=0.3333会「写成功但过不了落盘比对」(报「验证失败:xml」)。工程里没有字体资源时别新增文本节点:编辑器会抛
NullReferenceException停摆主循环,桥接随即失联(请求一直没人认领),空文本也一样。
导入大图前先缩放(0.8.23+)
fgui_import_image的可选max_size(长边上限,像素;CLI 是--max-size):源图长边超过它就先等比缩放再入库,alpha 通道保留,响应里的scaled回报缩放前后尺寸与比例。响应里的
atlasPrecheck是入库前的图集前置判定,分original(原图尺寸)与effective(入库尺寸)两段,fit取fits/exceeds/unknown;unknown表示约束不足,需要人工确认。缩放发生在入库之前:图集归属按入库后的像素尺寸判定,缩放后装得下的图不会再被标成单独图集。
同一个组件、不同实例(扩展级 override)
fgui_set_instance_override让同一个组件在不同实例上显示不同的文案与样式:Button 扩展可写title(text是别名)、icon、selectedTitle、selectedIcon、titleColor、titleFontSize;Label 扩展可写title、icon、titleColor、titleFontSize。落盘形态是实例节点里的扩展子节点<Button title="..."/>。只有扩展级这一层可用。改实例内部的普通子对象(普通
<text>、<image>)在 FairyGUI Editor 6.1.4 上做不到:编辑器不产出这种节点,运行时也不消费,Bridge 会在写入前直接拒绝。这类需求请用fgui_insert_text直接建对象,或把样式固化成组件类型。颜色只接受
#RRGGBB六位(编辑器落盘会丢掉 alpha,带 alpha 的输入会被拒绝);titleColor/titleFontSize是「开关 + 参数」结构,Bridge 会自动打开对应开关。源组件没有扩展(例如普通组件实例)时会被拒绝,不会静默无效。
换掉一个组件实例
fgui_replace_object_resource除了 Image/Loader,0.8.21 起也支持把组件实例换成另一个组件——此前「把白色文本组件换成深灰文本组件」只能删掉重插,还要手算插入位置。实例的
id、name、位置、relation 绑定和显式写死的尺寸都会保留;实例上的扩展覆盖(<Button title="..."/>)也会跟着留下来。换成没有扩展的源组件时,编辑器会自己丢弃用不上的覆盖。实例没有显式写死尺寸时,尺寸会跟随新源组件——这是 FairyGUI 本来的语义。响应里的
layout会报出替换前后的位置与尺寸,尺寸变了能立刻看出来。根组件是组件定义本身,不是实例,不能被替换。
查找冗余资源
fgui_find_unused会沿着引用关系,找出工程里没有被任何地方引用的资源,返回包名、路径、大小,图片还带尺寸。导出资源默认也会列出来并标记exported=true,因为运行时可能按 URL 直接加载它们;确认不需要后,可以用skip_exported=true把它们排除。fgui_find_duplicate按文件内容分组,找出完全相同的图片、字体、音效和组件 XML,并按浪费的空间从大到小排序,方便优先清理大头。同名但内容不同不算重复。两个工具都是只读的,不会改动或保存工程。可以用
packages/types缩小范围,传include_branches=false只看主干。编辑器自带的同类功能需要 Pro 授权,Bridge 的实现不依赖它,装好就能用。
改资源引用之前
fgui_query_references查「谁引用了这个资源」,fgui_query_dependencies查「这个资源依赖了谁」。两者都是只读的,不会修改文档。单个对象换图用
fgui_replace_object_resource,支持 Image 和 Loader,可撤销、可验证。Button 的状态图替换不在支持范围内。全工程批量换图用
fgui_replace_references。它默认只预览,确认totalCount和明细后再传execute=True。执行后立即落盘、不进入 Agent 撤销栈,调用前请确认这是你想要的。替换完成后建议按引用图再查一次,确认源资源的残留引用为 0。
分支
用
fgui_list_branches查看现有分支,fgui_create_branch新建,fgui_switch_branch切换(传空名称回到主干)。创建和切换都会立即写入磁盘、不能撤销;默认不处理已打开的文档,需要时传save_open_documents=true。读写工具省略
branch时跟随当前活跃分支,传branch=""明确表示主干。支持branch的读取工具可以直接指向任意分支,写入则要求目标分支正处于活跃状态,避免改动落到错误的地方。分支资源放在assets_<branch>/<包名>/下,不会混进主干的package.xml。在 FairyGUI 6.1.4 上,保存仍然跟着文档本身:分支文档需要对应分支活跃时才能保存,主干文档在分支活跃时也会拒绝保存。切换前先保存并关闭文档,可以少走弯路。
fgui_replace_references和fgui_clear_atlas_markers只支持主干,分支活跃时会被拒绝。重启编辑器后会回到主干,但分支内容都还在磁盘上,用
fgui_switch_branch切回去就能继续。
动效
Transition 覆盖全部 FairyGUI 原生轨道,时间单位是帧。
fgui_upsert_transition适合声明式地创建或整段替换动效;fgui_add_keyframes、fgui_set_keyframe适合局部调整关键帧。fgui_verify_transition是只读检查:它会验证目标对象、轨道兼容性、关键帧取值范围、嵌套 Transition / Sound 引用、Tween 端点和画面范围。errors表示确定有问题,warnings则可能是设计意图(例如滑入/滑出动画里坐标超出画布)。校验不会修改文档,也不会把文档标记为已修改。关键帧的
tween=true只能续接已经处于 Tween 关系中的帧。要在两个普通关键帧之间建立 Tween,或者延长已有 Tween,请用fgui_upsert_transition重建。fgui_preview_animation只影响编辑器里的预览状态,不会保存为资源属性。MovieClip 的帧会直接嵌入
.jta,不会在包内生成散图资源。删除 MovieClip 需要显式传force=true,并且会先检查引用;全新创建和删除无法撤销。
图集与发布
fgui_analyze_atlas_fit按图集打包器的真实约束(包级PackSettings或全局AtlasSetting)判断每张图能否放进图集,不再依赖猜测。fit=unknown表示约束信息不足,不代表通过。summary.assignedAloneButFits可以帮你发现磁盘上被标成alone、但实际装得下的图片。fgui_import_image和fgui_publish使用与fgui_analyze_atlas_fit相同的判定逻辑,所以「分析说装得下、导入却标了 alone」不会发生。执行结果会放在atlasAssignment里,说明这次是写入了标记、已有标记无需重复写入,还是因为约束不足没有下结论。包内已有图片的
atlas标记没法通过编辑器 API 改掉。分析报出alone-not-needed时,可以用fgui_clear_atlas_markers修正:它默认只预览,确认后再执行。这个工具会直接写package.xml,执行前自动备份,写入后重新加载包检查结果;该操作不可撤销,执行前请先关闭这些包里的文档(或允许 Bridge 代为关闭已保存的文档)。fgui_set_publish_settings修改包级发布与图集设置。它只写你显式提供的字段,atlasList是全量替换语义;atlasList不能传空数组(FairyGUI 6.1.4 会报错并影响该包后续保存);padding、square等部分packSettings字段无法跨编辑器重启保留,这类设置建议直接在编辑器界面里改。发布期间 Bridge 会封锁大部分写操作。发布前先调
fgui_get_publish_settings确认输出目录与图集配置,发布后检查返回的文件变更清单。
连接与运行时
使用时 FairyGUI Editor 必须保持运行并打开目标工程。
.agent/是工程内的运行时队列与日志,不属于安装文件,不要提交到 Git。插件会忽略超过 60 秒未被认领的请求,并在启动时清理残留队列。客户端超时并不代表操作没有执行,重试前请先用
fgui_status或fgui_get_active_document确认当前状态,避免重复写入。图片、字体、声音和 MovieClip 的导入路径必须是绝对路径。导入和替换都是磁盘写入,不受
discard影响。
常见问题与排错
异常现象 | 可能原因 | 解决办法 |
| FairyGUI Editor 未启动;目标工程未打开;插件未安装或未生效 | 打开 Editor 并加载工程;确认 |
MCP 客户端找不到工具 | MCP 配置里的绝对路径错误;客户端未重新加载 | 检查配置中的仓库路径和工程路径;新建对话或重启 IDE |
导入资源失败 | 传了相对路径,或文件不存在 | 使用本地绝对路径重新导入 |
发布卡住或超时 | 发布正在进行;同时调用了其他写操作 | 发布期间不要并发写入,等待完成后查看发布日志 |
图集分析结果为 | 包级或全局约束缺少页尺寸等信息 | 补全 |
兼容性与已知限制
FairyGUI 版本:以
6.1.4为主要开发和验证版本,其他 6.x 版本尚未做完整验证。动画类型:专注 FairyGUI 原生 Transition 与 MovieClip,不支持 Spine、DragonBones、Loader3D、SWF 等第三方动画格式。
资源管理:暂不提供通用的包内资源重命名与跨包移动;MovieClip 删除需要显式确认并做引用检查。
平台:macOS 已完成端到端验证;Windows 也可以使用,但尚未做完整的实机验证,遇到路径或兼容问题欢迎提 Issue。
开发与维护
插件 TypeScript 源码:
plugin/main.ts插件运行时文件:
plugin/main.jsPython MCP & CLI:
src/fairygui_agent/Agent Skill:
.agents/skills/fgui-agent-bridge/同步脚本:
scripts/sync_to_project.py
修改 plugin/main.ts 后必须重新编译并提交 plugin/main.js。版本升级时,请同步更新 plugin/package.json、pyproject.toml、src/fairygui_agent/__init__.py、plugin/main.ts 和 plugin/main.js。
推荐在提交前运行:
uv lock
uv sync --frozen
uv run python -m compileall -q src scripts
uv run python -m unittest discover -s tests -v
npx -y -p typescript@5.4.5 tsc -p plugin/tsconfig.json --pretty false
git diff --check相关生态
蓝湖 MCP (lanhu-mcp):配合本工具,可以让 AI 编程 Agent 自动从蓝湖设计稿下载切图、导出标注,并直接在 FairyGUI 中拼装 UI 并发布。
许可证
Available Tools
48 toolsfgui_add_transition_itemB
向 Transition 添加一个类型化关键帧轨道项。
save=True 保存后默认比对磁盘 XML 中该 Transition 的条目数;external_reload=True(需 save=True)关闭重开再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | ||
| name | Yes | ||
| save | No | ||
| verify | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose meaningful verification behavior (save=True compares the disk XML item count; external_reload requires save=True and performs a close/reopen comparison; response strength is reload/disk/none). However it says nothing about mutation side effects, permissions, or reversibility for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action, with the save/external_reload mechanics following. No filler, though the response-strength detail is somewhat compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be documented, and the description usefully covers the verification workflow. But for a mutation tool with no annotations and 0% parameter coverage, key gaps remain around the item structure, verify, and mutation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate, but it only touches save and external_reload (including the save=True dependency). The required params name and item, plus the verify flag, are left entirely unexplained by both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: adding a typed keyframe track item ('类型化关键帧轨道项') to a Transition. This clearly distinguishes it from the remove/update siblings by the 'add' action. It stops short of naming the specific alternatives (fgui_upsert_transition, fgui_update_transition_item) it must not be confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the effect of save and external_reload, but gives no guidance on when to use this tool versus fgui_upsert_transition or fgui_update_transition_item. There are no prerequisites or exclusions stated; the reader must infer that 'add' means creating a new item.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_create_buttonC
创建标准 FairyGUI Button 组件;状态图顺序为 up/down/over/selectedOver/disabled/selectedDisabled。
save=True 保存包与工程后默认比对 package.xml 条目;组件类资源不支持 external_reload,strength 上限为 disk。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | common | |
| save | No | ||
| width | No | ||
| height | No | ||
| verify | No | ||
| exported | No | ||
| image_urls | No | ||
| auto_rename | No | ||
| button_name | Yes | ||
| create_icon | No | ||
| create_text | No | ||
| folder_path | No | ||
| as_list_item | No | ||
| extension_id | No | ||
| package_name | Yes | ||
| create_folders | No | ||
| create_relations | No | ||
| open_after_create | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It adds real behavioral detail (save=True persists package+project and compares package.xml entries; component-class resources don't support external_reload; strength capped at disk), but leaves the mutation surface, permissions, and overwrite/rename behavior undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact paragraphs, front-loaded with the core action, which is good. But the second paragraph is cryptic jargon (external_reload, strength 上限) that spends words without clarifying how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter creation tool with no annotations and no parameter descriptions, the definition is far too thin; the output schema excuses return-value documentation, but the invocation surface (mode selection, image input, naming, folder placement) is essentially undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 18 parameters, so the description must compensate and does not. It only touches save and the state-image ordering, leaving mode (enum), image_urls, auto_rename, create_icon, create_text, folder_path, as_list_item, extension_id, and the layout flags entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource: '创建标准 FairyGUI Button 组件' (create a standard FairyGUI Button component), which clearly separates it from fgui_create_component and fgui_create_movieclip siblings. However it never explicitly contrasts itself with fgui_create_component, so the distinction is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites (e.g. an active project/package via fgui_use_project), and no routing to alternatives such as fgui_create_component. It documents side effects of save=True but not when a caller should choose them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_create_componentB
在指定包中新建组件文档;默认打开但不保存,重名时默认拒绝。
save=True 保存包与工程后默认比对 package.xml 条目;组件类资源没有可靠的 asset 重载手段,external_reload 不可用,strength 上限为 disk。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| width | No | ||
| height | No | ||
| verify | No | ||
| exported | No | ||
| auto_rename | No | ||
| folder_path | No | ||
| extension_id | No | ||
| package_name | Yes | ||
| component_name | Yes | ||
| create_folders | No | ||
| open_after_create | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and does disclose meaningful behavior: default open-but-don't-save, default rejection on name conflict, that save=True triggers package/project save plus a package.xml comparison, and that component resources have no reliable asset reload with strength capped at disk. These are non-obvious operational facts. It stops short of explaining remaining behaviors (verify, exported, create_folders effects), so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core action and defaults, then the save=True nuance. Slightly dense jargon (external_reload, strength 上限为 disk) but no wasted filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the safety/default behavior is reasonably covered. But for a 12-parameter mutation tool with zero annotations and zero schema descriptions, leaving most parameter effects unexplained makes the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 12 parameters, and the description only explains save (its save-time behavior) and implicitly the duplicate-name handling tied to auto_rename. Width, height, verify, exported, folder_path, extension_id, create_folders and open_after_create are left entirely undocumented in both schema and description, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource — creating a component document in a named package — which is clear and actionable. However, it does not differentiate itself from the many similar create tools in the sibling list (fgui_create_button, fgui_create_movieclip), so it does not reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys default behaviors (opens but does not save, rejects on duplicate names) which implies intended usage, but there is no explicit when-to-use guidance and no comparison against the sibling create tools. The agent must infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_create_movieclipB
用有序绝对图片路径创建或替换 MovieClip;图片序列由 FairyGUI 原生动画资源处理。
save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | ||
| save | No | ||
| swing | No | ||
| verify | No | ||
| exported | No | ||
| folder_path | No | ||
| frame_paths | Yes | ||
| frame_delays | No | ||
| package_name | Yes | ||
| repeat_delay | No | ||
| create_folders | No | ||
| movieclip_name | Yes | ||
| conflict_policy | No | error | |
| external_reload | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden. It does disclose non-obvious behavior: the frame sequence is delegated to FairyGUI native animation resources, save writes package.xml plus resource files and then verifies them, and external_reload unloads/reloads the asset with a response strength of reload/disk/none. It still omits that 'replace' destroys an existing MovieClip, permission requirements, and the effect of the timeout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause and the whole thing is two sentences with no filler. The second sentence is dense but every clause carries information, so it is appropriately sized for a 15-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter mutation tool with zero annotation coverage, the description is thin. An output schema exists (so return shape is partly covered, and the description does explain the strength field), but the majority of input parameters and the destructive replace path are undocumented, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
15 parameters with 0% schema description coverage, and the description explains only save, external_reload, and implicitly frame_paths. fps, swing, repeat_delay, frame_delays, conflict_policy, create_folders, exported, folder_path, verify, and timeout_seconds get no semantic help, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (create or replace) and resource (MovieClip) with the input format ('ordered absolute image paths'), which cleanly separates it from fgui_update_movieclip and fgui_get_movieclip. It does not explicitly name the sibling alternatives, so it lands just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides conditional guidance for two flags (save=True triggers verification; external_reload=True requires save=True), which implies when those modes apply. However, it never states when to use this tool versus fgui_update_movieclip or how conflict_policy should drive the choice, so usage is only partially implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_discard_documentA
放弃当前文档全部未保存修改并重新加载磁盘版本。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently states the destructive nature (discarding all unsaved modifications) and the reload action. It does not explicitly warn about irreversibility, but 'discard' strongly implies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately states the verb and object, with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the operation (discard and reload), the description fully conveys the behavior. Since an output schema exists, no return-value details are needed, and the one-sentence explanation is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the described action is complete as-is. With an empty schema, no additional parameter meaning is needed, and the baseline for 0-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('discard') and clearly identifies the resource ('all unsaved modifications of the current document') and the action ('reload the disk version'). This distinguishes it from siblings like fgui_save_document and fgui_undo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this tool when you want to discard all unsaved changes and reload the saved version. It does not explicitly mention alternatives or when not to use it, but the intent is understandable from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_active_documentA
读取当前活动文档、修改状态和选择数量。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It clearly uses '读取' (read), indicating a non-destructive operation, which is a key behavioral trait. However, it does not disclose what happens if no document is active, whether any side effects occur, or error behavior. This is adequate for a simple getter but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence in Chinese that is front-loaded with the verb '读取' and states exactly what is read. Every word earns its place with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a getter with no parameters and an output schema present, the description fully covers the tool's purpose. The output schema presumably details the return structure, so the description need not repeat it. The description is sufficient for an AI agent to understand what this tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the schema correctly shows no properties. The description adds no parameter-related confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '读取当前活动文档、修改状态和选择数量' clearly states the tool reads the current active document, its modification status, and selection count. This is a specific verb (read) with a clear resource, and it distinguishes from siblings like fgui_get_tree (gets tree structure) and fgui_get_history (gets history).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need the current document's state, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. There is no mention of prerequisites (e.g., an open document) or when not to use it, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_historyB
读取 Agent 属性事务栈和 FairyGUI 原生撤销状态。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states it reads two types of state, implying a read-only operation, but does not explicitly confirm safety, side effects, error conditions, or what the returned data actually contains. More behavioral context would be valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that leads with the verb. No wasted words, and it is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema, this is mostly sufficient. However, it doesn't explicitly state that it is non-destructive or explain how it relates to the undo/redo workflow with siblings. Given the lack of annotations, a bit more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is effectively complete. The baseline of 4 for no parameters applies, and the description doesn't need to add parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb '读取' (read) and clearly identifies the resources being read: the Agent property transaction stack and FairyGUI native undo state. While it doesn't explicitly contrast with sibling undo/redo tools, the name and resource references make its purpose clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus fgui_undo/fgui_redo or other siblings. There are no alternatives, exclusions, or contextual triggers mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_movieclipC
读取 MovieClip 的帧、FPS、Swing 和 RepeatDelay 设置。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| item_name | No | ||
| item_path | No | ||
| package_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the disclosure burden. It clearly indicates a read operation via '读取', implying non-destructive behavior, but does not explicitly state side effects, error handling, or return format. It adds context about the specific attributes read, which is some behavioral disclosure, but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, highly concise and front-loaded with the action. It covers the core purpose efficiently without waste, though it provides no additional helpful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four optional parameters and zero schema descriptions, the description is insufficient for an agent to correctly invoke the tool. Even though an output schema exists, the description does not describe the expected input selection or return behavior, leaving the tool incomplete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for its parameters (url, item_name, item_path, package_name), and the description does not explain any of them. An agent has no clue how to populate these parameters to target a specific MovieClip, making this a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('读取' = read) and resource (MovieClip), and lists the specific fields to read (frame, FPS, Swing, RepeatDelay). This makes it distinct from related tools like fgui_update_movieclip or fgui_create_movieclip, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention other getter tools (e.g., fgui_get_text_style) or specify scenarios where this tool is appropriate, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_projectC
读取当前 FairyGUI 工程信息。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'read' which implies non-mutating, but it does not clarify what data is returned, error conditions, or whether any session state is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence without fluff. However, it is under-specified for a tool with no parameter details, missing valuable information about what constitutes 'project information'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description fails to indicate what fields or sections of project information are returned. For a query tool, this is a significant gap; the agent cannot predict the scope of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is complete (100%). The description does not need to explain parameter semantics; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (read) and resource (current FairyGUI project info), but it is vague about what information is included. It does not distinguish this tool from siblings like fgui_status or fgui_get_active_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of prerequisites, common use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_publish_settingsA
读取工程发布目录、格式、图集、代码生成和包级覆盖设置。发布前应先调用。
| Name | Required | Description | Default |
|---|---|---|---|
| package_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It uses '读取' (read), implying a non-destructive operation, which is a mild safety signal. It does not mention side effects, prerequisites, or error handling, leaving some behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The first sentence front-loads the core purpose, and the second adds the key usage timing. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and an output schema (not shown). The description explains what is read and when to call it, but it does not clarify the parameter's role or behavioral details like return structure or prerequisites. This is adequate but leaves notable gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the only parameter, package_name. The description mentions '包级覆盖设置' (package-level override settings), which hints that the parameter is related to a package, but it does not explicitly explain how package_name affects the output or that it is optional. This is insufficient to compensate for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it reads project publish directory, format, atlas, code generation, and package-level override settings. The verb '读取' (read) and the specific resource set make the purpose clear. It indirectly distinguishes from the sibling fgui_publish by noting this should be called before publishing, but it does not explicitly name alternative tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says '发布前应先调用' (should be called before publishing), providing a clear context for when to use the tool. It does not mention when not to use it or suggest alternatives, but the pre-publish guidance is a useful and specific usage directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_text_styleC
读取 TextField/RichText 的统一文本样式。
| Name | Required | Description | Default |
|---|---|---|---|
| object_id | No | ||
| object_name | No | ||
| object_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'read'. It does not disclose how the object is resolved from id/name/path, what happens when no object matches, or whether any side effects occur. The read verb implies non-mutation, but little else is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler, which is good. However, it is under-specified: it omits parameter semantics and usage context, so the brevity comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not required, but the tool still has three optional object-identification parameters and no annotations. The description does not explain how to select the object or when this tool is appropriate, leaving a meaningful gap for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention any of the three parameters. object_id, object_name, and object_path are left entirely undocumented, so the agent cannot infer how to target the desired TextField/RichText.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear read operation on a specific resource ('TextField/RichText 的统一文本样式'), and the get/set contrast with fgui_set_text_style helps distinguish it. However, 'unified text style' is somewhat jargon-heavy and the object-targeting aspect is left to the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as fgui_set_text_style or other inspection tools. The read intent is implied, but there are no explicit conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_transitionA
按名称读取当前组件的一个 Transition。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. '读取' signals that the operation is read-only, and '当前组件' scopes it, but nothing is said about missing-name behavior, active-document requirements, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or redundant restatement of the tool name. Every word contributes to purpose, scope, or lookup mode.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple and has an output schema, the description leaves 'current component' undefined and omits when to use the tool and what happens if the transition does not exist. It is minimally viable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the required 'name' parameter (0% coverage), but the description's '按名称' explicitly ties the parameter to the transition's name within the current component. For a single obvious string parameter, this is sufficient added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('读取'), a concrete resource ('当前组件的一个 Transition'), and the selection mode ('按名称'). This clearly distinguishes it from the sibling fgui_list_transitions, which lists transitions rather than returning a single named one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to prefer this tool over list/upsert/remove transition alternatives, and no prerequisites such as requiring a current component. The intended usage is only weakly implied by the verb '读取'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_get_treeA
读取当前组件对象树;修改前应先取得稳定的对象 ID 或路径。
| Name | Required | Description | Default |
|---|---|---|---|
| max_depth | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavior disclosure. The term 'read' implies a non-destructive operation, and the advice to get stable IDs before modifying adds context. However, it doesn't detail any potential side effects or limitations, so transparency is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two clauses, providing the core purpose and a usage tip without any wasted words. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, with one parameter and an output schema provided. The description covers the what and when, and the output schema handles return values. The only gap is the undocumented max_depth parameter, but the overall context is sufficient for a basic read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter max_depth has no description in the schema (0% coverage) and the tool description does not mention it, leaving its semantics unexplained beyond the name. The description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the current component object tree, using the specific verb 'read' and a distinct resource. This differentiates it from mutation tools like fgui_insert_object and fgui_remove_object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that this should be used before modifications to obtain stable object IDs or paths, providing clear usage context. It doesn't explicitly exclude other tools but indicates the intended timing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_import_fontA
从绝对本地路径导入字体;这是磁盘写入操作,支持拒绝、自动改名或替换同名字体。
save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| verify | No | ||
| exported | No | ||
| folder_path | No | ||
| source_path | Yes | ||
| package_name | Yes | ||
| resource_name | No | ||
| create_folders | No | ||
| conflict_policy | No | error | |
| external_reload | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it declares this is a disk write, enumerates the conflict-resolution behaviors (reject/auto-rename/replace), and explains the save/external_reload interaction including the returned strength values. It omits permissions and reversibility, but adds substantive context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact paragraphs, front-loaded with the purpose and mutation warning before the save/reload mechanics. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the description usefully mentions the strength field. However, for an 11-parameter mutation tool with 0% schema coverage, several parameters remain opaque, leaving the definition only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 11 parameters, so the description must compensate. It explains save, external_reload, conflict_policy and implies source_path's absolute-path requirement, but leaves verify, exported, folder_path, create_folders, resource_name and timeout_seconds undocumented, so the coverage gap is only partly filled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('从绝对本地路径导入字体' – import font from an absolute local path) plus the mutation nature. This clearly distinguishes it from siblings like fgui_import_image and fgui_import_sound without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (importing a font asset, with conflict handling) but never states when to choose this over alternatives or what prerequisites apply. The sibling set makes the resource distinction obvious, so the omission is not misleading, just implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_import_imageB
从绝对本地路径导入图片;这是磁盘写入操作,支持拒绝、自动改名或替换同名图片。
save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| verify | No | ||
| exported | No | ||
| folder_path | No | ||
| source_path | Yes | ||
| package_name | Yes | ||
| resource_name | No | ||
| create_folders | No | ||
| conflict_policy | No | error | |
| external_reload | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses this is a disk write, that conflicts resolve via reject/auto-rename/replace, that save=True triggers verification against package.xml entries, and that external_reload requires save=True and yields a response strength of reload/disk/none. Missing only auth/permission or timeout characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense but front-loaded sentences: the write nature and conflict behavior come first, then the save/external_reload semantics. No filler, though the second sentence packs several conditions into one run-on clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be fully explained, and the description covers the conflict and save behavior well for a mutation tool. But with 11 parameters at 0% schema coverage, roughly half the inputs (folders, resource naming, timeout) are undocumented anywhere, leaving material gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 11 parameters, so the description must compensate and it partially does: it explains save, external_reload (and its dependency on save), the conflict_policy enum values (拒绝/自动改名/替换 = error/auto_rename/replace), and the verify comparison behavior. However, exported, folder_path, resource_name, create_folders, and timeout_seconds remain completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination (从绝对本地路径导入图片 = import image from absolute local path) and clarifies it is a disk-write operation. It is distinguishable from fgui_import_font/fgui_import_sound by the 'image' resource, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains what save/external_reload do internally but never states when to choose this tool over alternatives like fgui_replace_object_resource or the other import tools. No prerequisites, no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_import_soundA
从绝对本地路径导入声音资源;支持替换同名声音,属于磁盘写入。
save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| verify | No | ||
| exported | No | ||
| folder_path | No | ||
| source_path | Yes | ||
| package_name | Yes | ||
| resource_name | No | ||
| create_folders | No | ||
| conflict_policy | No | error | |
| external_reload | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers well: it discloses that this is a disk write, that same-named sounds can be replaced, that save persists the package and project, that external_reload requires save=True and unloads/reloads the asset, and what response strength values mean. It omits permission/error and failure-mode context, but the mutation profile is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: purpose and write-nature first, then the save/external_reload behavior. Efficient, though the nested parenthetical clause about external_reload is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the key behavioral model is present. However, for an 11-parameter mutation tool with no annotations and 0% schema coverage, leaving most parameters unexplained is a meaningful gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 11 parameters, so the description must compensate, yet it only explains save and external_reload (and hints at replacement, i.e. conflict_policy=replace). Params like verify, exported, folder_path, create_folders, resource_name, and timeout_seconds remain undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('从绝对本地路径导入声音资源') plus the write nature ('属于磁盘写入') and the replace behavior. This clearly distinguishes it from sibling import tools like fgui_import_image and fgui_import_font without the agent having to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes what save=True and external_reload=True do, which implies when those modes are relevant, but never names an alternative tool or states when-not to use this one. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_insert_objectA
插入已有 ui:// 资源;结构操作不能由 Agent 属性事务栈撤销。
save=True 保存后默认比对磁盘 XML;external_reload=True 会在保存后关闭并重新打开文档再比对,需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| url | Yes | ||
| name | No | ||
| save | No | ||
| verify | No | ||
| insert_index | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers the crucial disclosure that structural operations cannot be undone by the Agent property transaction stack, plus the save/verify/external_reload interplay and the response 'strength' field. It stops short of permission/document-state requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first clause, followed by only the behavioral facts that matter. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, and the description usefully explains the 'strength' return field, so return values are largely covered. However, for an 8-param mutation tool with no annotations, it omits prerequisites such as required active document/selection state and insertion target context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for 8 params. It explains the non-obvious booleans well (save, external_reload, and implicitly verify via disk comparison), but x, y, name, url, and insert_index get no added meaning beyond their self-descriptive titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: '插入已有 ui:// 资源' (insert an existing ui:// resource). This distinguishes it conceptually from the create_* siblings that build new objects, though it never names an alternative. The action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, and no comparison against sibling insertion/creation tools. The notes about save/verify behavior are parameter mechanics rather than selection guidance, so an agent gets no help deciding when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_list_controllersB
列出当前文档根组件的全部 Controller(0.8.8+)。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses two useful facts — scope is limited to the root component (not descendants) and the FGUI 0.8.8+ version requirement — but says nothing about read-only nature, what happens when no document is open, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the verb and resource, with the scope qualifier and version constraint appended compactly. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only listing tool with an output schema covering return values, the description is nearly complete: scope and version are stated and results need not be described. Only failure/precondition behavior (e.g., requires an active document) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to document and the baseline for zero-param tools applies. Nothing in the description is needed to clarify inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (列出/list), resource (Controller), and scope (当前文档根组件 — the root component of the current document), which cleanly separates it from siblings like fgui_list_transitions and fgui_list_items. It does not explicitly name an alternative, but the resource is unambiguous enough that an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. Only weak implied usage (enumerate controllers for inspection) can be inferred, and no sibling tool is named as an alternative or complement (e.g., fgui_set_controller).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_list_itemsA
列出指定包中的资源,可按 FairyGUI 资源类型过滤。
| Name | Required | Description | Default |
|---|---|---|---|
| item_type | No | ||
| package_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure. It states the core action (list resources) and the filtering capability, but does not explicitly mention that it is read-only, nor does it describe potential errors (e.g., package not found) or any limitations. The behavior is predictable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary action and resource, with the filtering capability added at the end. Every word contributes meaning, and there is no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters and an output schema, but the description lacks context about the broader workflow (e.g., that this is a read-only inspection step before editing) and does not explain the valid values for item_type or the structure of the output. It covers the basics but leaves gaps for an agent to fully understand how and when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions coverage is 0%, so the description must compensate. It does so by indicating that 'package_name' refers to the specified package ('指定包') and that 'item_type' is used for filtering by FairyGUI resource type. This adds semantic meaning beyond the raw property names, though it does not enumerate valid item_type values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '列出' (list) and the resource '指定包中的资源' (resources in the specified package), distinguishing it from sibling tools like fgui_list_packages which lists packages. It also mentions the optional filtering by resource type, making the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It neither names sibling tools for comparison nor explains typical use cases, leaving the agent to infer when listing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_list_packagesA
列出当前 FairyGUI 工程中的全部包。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the action 'list' which inherently implies a read-only query, but it does not disclose additional behavioral traits such as side effects, error conditions, or performance implications. The description is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately states the tool's purpose without any redundant information. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter list tool with an output schema, the description is sufficiently complete. It clearly defines the scope (current project) and the result (all packages). The presence of an output schema covers return value details, and there is no additional complexity requiring more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies. There is nothing to explain beyond the schema, and the description correctly omits parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb '列出' (list) and resource '全部包' (all packages) in the current FairyGUI project. It clearly distinguishes this tool from siblings like fgui_list_items (list items) and fgui_get_project (get project info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the agent needs to enumerate available packages in the current project, but it does not explicitly state when to use it versus alternatives or mention any exclusions. There is no explicit guidance on selecting this over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_list_transitionsA
读取当前组件的全部 Transition 及类型化关键帧。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It transparently implies a read-only operation and scopes the behavior to the current component, but it does not state prerequisites (e.g., open component) or edge-case behavior. The output schema mitigates return-shape ambiguity, and a list/read operation is low-risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, compact sentence with no filler. Every phrase earns its place: '全部' clarifies scope, '当前组件' identifies context, and '类型化关键帧' states what is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list operation with an output schema, this description is complete. The agent knows the operation is read-only, which component it applies to, and what is returned, with no missing parameters or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there are no parameter semantics to document. The only contextual requirement, '当前组件', is implicit execution context rather than a parameter, so the baseline for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb '读取' (read/list), a clear target ('当前组件的全部 Transition'), and additional scope ('类型化关键帧'). The plural listing scope distinguishes it from the singular sibling fgui_get_transition, and it is clearly not a create/update/remove operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '当前组件' provides clear context: the operation applies to the active/current component. However, it does not explicitly contrast this with fgui_get_transition or other transition-related siblings, so when to choose this tool over alternatives is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_open_documentB
按包名和资源名打开 FairyGUI 组件文档。
| Name | Required | Description | Default |
|---|---|---|---|
| item_name | Yes | ||
| package_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior, but it only states the action. It does not mention side effects like changing the active document, error handling when the document is not found, or whether the operation is safe or destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is front-loaded and free of filler. It conveys the essential purpose without unnecessary detail, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool requires project context, as seen from sibling tools like fgui_use_project, but the description does not mention prerequisites or whether the project must be active. It also does not explain possible error states, though an output schema exists. The minimal description is insufficient for a smooth agent interaction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description explicitly maps the parameters to 'package name' and 'resource name', providing semantic meaning beyond the bare property titles. However, it lacks details on formats, constraints, or relationships between the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the function: opening a FairyGUI component document by package name and resource name. It uses a specific verb '打开' (open) and identifies the resource type, distinguishing it from sibling tools like save, publish, or insert operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as fgui_get_active_document or fgui_get_tree. It only states the action without explaining prerequisites or situations where it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_pingA
唤醒 FairyGUI Editor 并验证桥接协议、版本和能力。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful side effect ('wakes up' the editor) and confirms it verifies protocol and capabilities, implying a non-mutating check. However, it omits details like failure modes, idempotency, or whether the editor must be running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence conveys purpose and behavioral nuance without redundancy. It is front-loaded and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple ping tool with no parameters and an output schema, the description sufficiently covers the operation and verification scope. It could mention that this is intended for initial connection checks, but that is implied by the name and content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is complete. The description adds no parameter-specific detail, but none is required. A baseline of 4 is appropriate for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool wakes the FairyGUI Editor and verifies bridge protocol, version, and capabilities. It identifies a specific verb and resource, distinguishing it from general-purpose tools, though it could more explicitly contrast with the sibling 'fgui_status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like fgui_status or fgui_get_project. It implies a startup/handshake role but lacks explicit prerequisites, exclusions, or recommended invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_preview_animationA
在 Editor 中播放、暂停、停止、跳帧或查询预览状态;预览不会保存到 FairyGUI 资源。
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| name | No | ||
| delay | No | ||
| frame | No | ||
| times | No | ||
| end_frame | No | ||
| object_id | No | ||
| operation | Yes | ||
| object_name | No | ||
| object_path | No | ||
| start_frame | No | ||
| document_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose a key trait: the preview will not be saved to FairyGUI assets, which signals non-destructive behavior. However, it does not mention other relevant behaviors such as whether the tool requires an active document, whether it changes the current selection, or what the 'status' operation returns. This leaves significant gaps for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the core functionality (play, pause, stop, seek, status) and then states the important caveat (preview not saved). Every word earns its place; there is no fluff or redundant detail. It is easy to parse and immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, no schema descriptions, no annotations), the description is not complete enough. It does not explain how to specify which animation to preview, what the required 'kind' values mean, or what the 'status' operation returns. Even with an output schema, the agent lacks critical context about prerequisites and parameter relationships, making correct invocation difficult.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the 12 parameters. It only indirectly explains the 'operation' parameter by listing play/pause/stop/seek/status behaviors, but it fails to clarify parameters like kind, name, object_id, object_path, frame, delay, times, etc. Agents are left guessing how to target the correct animation or configure frame steps. This is insufficient for a tool with such a large parameter set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: play, pause, stop, seek, or query preview status for animations in the Editor. It uses specific verbs and identifies the resource (animation preview), and its purpose is distinct from any sibling tool (no other preview tool exists). The additional note that previews are not saved to FairyGUI assets further clarifies its non-persistent nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context: this tool is for interacting with animation previews in the Editor, which implies when to use it (e.g., when testing transitions or movieclips). It doesn't explicitly name alternatives or exclusions, but the 'in Editor' plus 'not saved' framing provides enough guidance to differentiate it from asset-editing tools. A small deduction because it doesn't state when not to use it (e.g., when persistent changes are desired).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_publishA
按工程发布设置导出 FairyGUI 包。默认发布当前文档所属包并先保存;可选择指定包或全部包。
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | active | |
| branch | No | ||
| package_names | No | ||
| timeout_seconds | No | ||
| publish_desc_only | No | ||
| save_before_publish | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that it saves before publishing by default and allows selecting scope. However, it does not mention side effects, timeout implications, branch usage, or publish_desc_only behavior, which are relevant for a publish/export operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the main purpose and covers key default behaviors and scope options. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is too brief for a tool with 6 parameters and no annotations. It omits semantics for several parameters (branch, timeout, publish_desc_only) and lacks details on side effects or error behavior, making it incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for parameters. The description clarifies 'scope' and 'save_before_publish' implicitly, but leaves 'branch', 'timeout_seconds', and 'publish_desc_only' unexplained. With six parameters, the description only partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's function: '按工程发布设置导出 FairyGUI 包' (export FairyGUI packages according to project publish settings). It uses a specific verb (导出/export) and resource (FairyGUI包), and distinguishes it from sibling tools like fgui_get_publish_settings (read) and fgui_save_document (save).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides context on default behavior (publishes current document's package and saves first) and scope options (specific package or all packages), but it does not explicitly compare with alternatives like fgui_save_document or fgui_list_packages. No when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_redoA
优先重做 Agent 属性事务;事务栈为空时回退到 FairyGUI 原生重做。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the key behavioral trait: prioritizing agent property transactions and falling back to native redo when the transaction stack is empty. This adds meaningful context beyond the name, though it does not cover side effects or return behavior, which is acceptable given the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the key behavior. Every word earns its place, with no unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema, the description sufficiently explains the tool's operation and its unique fallback behavior. However, it assumes prior knowledge of 'Agent property transactions,' which could be clarified for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100%. The description does not need to explain parameters, and the baseline for 0 params is 4. It adds no param info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool redoes actions, with a specific focus on agent property transactions and a fallback to native FairyGUI redo. This distinguishes it from sibling tools like fgui_undo and specifies the exact operation and behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for redo operations and explains the priority of agent property transactions, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. The fallback behavior hints at when native redo is used, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_remove_movieclipB
删除 MovieClip 包资源;这是不可逆资源操作,必须显式 force=True。
save=True 保存包与工程后默认比对 package.xml 确认条目已移除;删除没有诚实的重载基元,external_reload 不可用,strength 上限为 disk。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| save | No | ||
| force | No | ||
| verify | No | ||
| item_name | No | ||
| item_path | No | ||
| package_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load well: it declares the operation irreversible, states the force=True requirement, describes save=True verification against package.xml, and notes no reload primitive exists (strength capped at disk). That is meaningful behavioral context beyond the bare schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded paragraph that leads with purpose and irreversibility, with no wasted sentences. Some dense jargon ('诚实的重载基元', 'strength 上限为 disk') is terse but not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the mutation's risk profile is disclosed. However, for a 7-param no-annotation tool it leaves the target-identification parameters ambiguous, which is a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate, but it only touches force, save, and verify. It never explains how the target is identified (url vs item_name/item_path/package_name), leaving the most important selection parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: '删除 MovieClip 包资源' (delete MovieClip package resource). This distinguishes it from fgui_remove_object/fgui_remove_transition by resource type, though it doesn't explicitly name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a prerequisite ('必须显式 force=True') but no when-to-use conditions or exclusions relative to sibling removal/update tools. Guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_remove_objectA
删除非根对象;需要可靠回退时使用 fgui_discard_document。
删除按「缺失性验证」处理:save=True 保存后确认磁盘 XML 不再包含该节点;external_reload=True 关闭重开后确认目标仍不存在,需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| verify | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it explains that removal is treated as absence verification, that save=True persists then confirms the node is gone from disk XML, that external_reload=True reopens and requires save=True, and that the response strength field reports reload/disk/none. It does not mention undoability (fgui_undo is a sibling) or permission requirements, leaving a gap for a destructive mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the routing rule to discard_document are front-loaded, followed by the verification semantics. Dense but each sentence carries information; the two paragraphs are slightly redundant in re-stating save=True across both sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description still adds value by decoding the strength field. For a destructive tool with no annotations the coverage is good, though selector-parameter semantics and undo behavior remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for six parameters, so the description must compensate. It clarifies the semantics of save, external_reload, and verify's verification flow, but the three alternative selector parameters (object_id, object_name, object_path) are never explained — an agent cannot tell whether they are mutually exclusive or which to prefer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('删除非根对象' / delete non-root object) and immediately scopes it against a sibling, fgui_discard_document. An agent can distinguish this from discard_document without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternative tool and the condition that selects it: '需要可靠回退时使用 fgui_discard_document' (use discard_document when you need reliable rollback). This is a concrete when-not rule plus a named alternative, not implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_remove_transitionA
删除当前组件中的一个 Transition;可由 fgui_undo 恢复。
save=True 保存后默认确认磁盘 XML 不再包含该 Transition;external_reload=True(需 save=True)关闭重开后确认仍不存在,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| save | No | ||
| verify | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and it does add real behavioral context: the removal is recoverable via fgui_undo, save=True persists to disk, and external_reload requires save=True. It stops short of disclosing failure behavior for a non-existent name or any permission prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and recoverability, then a second short paragraph on save/verify semantics. Dense but each sentence adds operational information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations, it covers recoverability, persistence, and verification strength (reload/disk/none). An output schema exists so return shape need not be explained, though missing error/prerequisite cases keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains save and external_reload (including the save=True dependency) and implies verify via '默认确认', but does not clarify what verify=False does or what 'name' refers to (transition name vs. component). Roughly half the parameters are meaningfully covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (删除/remove) and resource (Transition) with an explicit scope ('当前组件中的一个'). It is clearly distinguishable from siblings like fgui_remove_transition_item, fgui_upsert_transition, and fgui_get_transition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the verb and the description names fgui_undo as the recovery path, which is a useful routing hint. However, it never states when to choose this tool over fgui_remove_transition_item or fgui_upsert_transition, nor any preconditions such as an active/selected component.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_remove_transition_itemA
删除 Transition 指定索引的关键帧项;可用 fgui_undo 恢复。
save=True 保存后默认比对磁盘 XML 中该 Transition 的条目数;external_reload=True(需 save=True)关闭重开再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| save | No | ||
| verify | No | ||
| item_index | Yes | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses reversibility via fgui_undo, the save/disk-comparison behavior, that external_reload requires save=True, and the possible response strength values (reload/disk/none). It does not cover permissions or side effects on other transition entries, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact paragraphs with the core mutation action front-loaded, followed by the save/verification semantics. Every sentence carries information; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations and a 0%-covered schema, the description supplies the essential behavioral context (undo recovery, save/verify flow, external_reload dependency) and an output schema exists to cover return values. Minor gaps remain around the unexplained required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, and the description explains only some of them: save, the implicit verify comparison behavior, and external_reload (including its dependency on save). The required name and item_index parameters receive no explanation, leaving a meaningful gap the schema does not fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb+resource+scope: removing the keyframe item at a specified index of a Transition ("删除 Transition 指定索引的关键帧项"). The resource name (transition item) inherently distinguishes it from fgui_remove_transition and fgui_add_transition_item, but it never explicitly names those siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It notes that the operation is reversible via fgui_undo, which hints at usage context, but gives no explicit when-to-use/when-not guidance or direct comparison to fgui_remove_transition or fgui_update_transition_item. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_replace_object_resourceB
通过 Editor API 替换 Image/Loader 图片引用;保存后默认比对磁盘 XML。Button 状态暂不支持。
external_reload=True 会在保存后关闭并重新打开文档再比对,是唯一能证明「重新载入时值不丢」的验证;需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| state | No | ||
| verify | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| resource_url | Yes | ||
| expected_type | No | image | |
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the default post-save verification against disk XML, the side effect of closing and reopening the document under external_reload, the save=True dependency, and the meaning of the response strength field (reload/disk/none). It omits auth/permission needs and what happens to the prior reference, so not quite a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first clause, and the two-sentence structure is dense but largely waste-free. The semicolon-heavy construction is a little compressed but every statement conveys operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the description covers verification behavior thoroughly. However, for a mutation tool with no annotations and 0% parameter documentation, the seven undocumented parameters leave the definition incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description must compensate. It explains save and external_reload behavior, but leaves resource_url, object_id, object_name, object_path, state, verify, and expected_type entirely undocumented, which is a substantial gap for a 9-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: replacing Image/Loader image references via the Editor API, and adds a scope limitation (Button states not supported). An agent can tell what the tool does. It does not, however, explicitly differentiate itself from siblings like fgui_set_property or fgui_import_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear exclusion ('Button states not supported') and a conditional requirement (external_reload needs save=True), which edges toward when-to-use guidance. However, it never names alternatives or states the general situation in which this tool should be chosen over related tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_save_allA
显式保存所有 FairyGUI 文档、已打开包和工程,并清空 Agent 属性事务栈。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses an important side effect: '清空 Agent 属性事务栈' (clears the Agent property transaction stack), which is valuable behavioral info. However, it does not explain the implications of clearing the stack (e.g., loss of undo history) or any prerequisites/errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with clear front-loading: action verb + target resource + side effect. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 0 parameters, an output schema present, and clear scope, the description is largely complete. The only minor gap is lack of detail about what happens after saving (e.g., return value or failure conditions), but the output schema presumably covers return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so baseline is 4. The description correctly omits parameter details, and no additional semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb '保存' (save) with an explicit resource scope: '所有 FairyGUI 文档、已打开包和工程' (all documents, open packages, and project). This clearly differentiates it from sibling tool fgui_save_document, which saves a single document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word '显式' (explicitly) and '所有' (all) indicate when this tool is appropriate: when a complete save of all open FairyGUI state is needed. It does not name alternatives explicitly, but the scope is unambiguous enough for an agent to distinguish from single-document save tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_save_documentA
显式保存当前 FairyGUI 文档,并清空 Agent 属性事务栈。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It explicitly states that the operation clears the Agent property transaction stack, a key side effect beyond the save itself, which is valuable for the agent's state awareness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the action and includes the most important side effect. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there are no parameters, the description covers the core action and a critical behavioral side effect. An output schema exists for return values, so the description does not need to detail them. This is fully adequate for a simple save tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to clarify. Baseline for 0 parameters is 4, and the description adds no unnecessary param information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely states the action 'save' and the target 'current FairyGUI document', and adds a specific side effect (clearing the agent property transaction stack). This clearly differentiates it from siblings like fgui_save_all and fgui_discard_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it applies to the 'current' document, giving clear context for when to use it. However, it does not explicitly mention alternatives or state when not to use it, so it lacks explicit exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_select_objectB
通过对象 ID、对象树路径或唯一名称选择一个对象。
| Name | Required | Description | Default |
|---|---|---|---|
| object_id | No | ||
| object_name | No | ||
| object_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state whether this operation is non-destructive, how it affects prior selections, what happens if multiple objects match, or error behavior when no object is found. The minimal wording leaves these aspects opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and lists the three selection methods. Every word earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool has 3 optional parameters with zero schema descriptions and no annotations. A single sentence is insufficient to cover selection semantics (e.g., disambiguation, return behavior, or side effects). The tool is under-specified for reliable autonomous invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description partially compensates for the 0% schema coverage by clarifying that object_id, object_name, and object_path are alternative means of selection ('or'). However, it does not specify whether they are mutually exclusive, their precedence, or expected format (e.g., full path vs. relative path). This adds some semantic value but leaves key details ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('select an object') and the resource (object), with three specific locator methods: ID, path, or unique name. This verb+resource pair is distinct from siblings like fgui_insert_object or fgui_remove_object, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., an open document), selection context, or why one locator method might be preferred over another. The description is purely functional with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 标明验证强度。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| save | No | ||
| pages | No | ||
| create | No | ||
| remove | No | ||
| verify | No | ||
| exported | No | ||
| add_pages | No | ||
| home_page | No | ||
| selected_page | No | ||
| selected_index | No | ||
| external_reload | No | ||
| auto_radio_group_depth | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose significant side effects: pages replaces the whole page set and reassigns page ids, requiring gearDisplay references to be re-verified, and external_reload requires save=True. It omits auth/permission requirements and reversibility, so it is strong but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, then flag semantics are grouped efficiently with a parenthetical warning for the destructive pages behavior. The stray mention of 'strength', which is not a parameter, is a small blemish but overall it is tight and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the key destructive side effects are covered. Still, for a 13-parameter mutation tool with 0% schema description coverage and no annotations, several parameters and the verify/strength relationship remain unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters, so the description must compensate. It explains create, remove, pages, add_pages, selected_index, selected_page, external_reload and the save coupling, but leaves exported, home_page, auto_radio_group_depth (and the referenced 'strength', which maps to no actual parameter) undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb set (create/modify/delete) and a precise resource (the current component's Controller), which an agent can distinguish from the read-only sibling fgui_list_controllers. It does not explicitly name an alternative sibling or scoping rule, but the mutation purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the operational modes (create=True, remove=True, pages replace, add_pages append, selected_index/selected_page select), which is effectively invocation guidance. However, it names no alternatives and gives no when-not-to-use or prerequisite conditions beyond the external_reload/save coupling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_set_gear_displayA
设置对象的 gearDisplay 联动(0.8.8+):指定控制器与可见页面。
controller=None 或空字符串清除联动;pages 为页面 id 或名称列表(也接受 "0,1" 逗号串), 省略 pages 保持现有页面不变。
external_reload=True 需 save=True,关闭重开文档后重新比对;strength 标明验证强度。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| pages | No | ||
| verify | No | ||
| object_id | No | ||
| controller | Yes | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose meaningful non-obvious traits: the clear-on-None semantics, partial-update behavior for pages, and the external_reload=True => requires save=True condition with a re-comparison after reopen. It stops short of describing auth/permission needs or what mutation failure looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded: the primary action and scope come first, followed by compact per-parameter notes. Every line carries information, though the dangling 'strength' reference adds minor noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for an 8-parameter mutation tool with zero annotation and zero schema-description coverage, the definition leaves the object-targeting parameters and save semantics under-specified, which an agent needs in order to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It well documents controller, pages (id/name list plus the '0,1' comma-string form), and external_reload, and touches save indirectly, but the three object-identification parameters (object_id, object_name, object_path) go entirely unexplained. It also references a 'strength' parameter that does not exist in the schema, which is mildly confusing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: setting the gearDisplay linkage on an object, with the fields involved (controller + visible pages) and a version note (0.8.8+). An agent can tell what the tool changes. It does not explicitly differentiate itself from nearby siblings like fgui_set_controller or fgui_set_property, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real usage conditions for the core parameters ('controller=None/empty clears the linkage', 'omitting pages keeps existing pages'), which is useful operational guidance. However, it offers no when-to-use framing versus alternatives (set_controller, set_property, set_relation) despite a crowded sibling set, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 标明验证强度。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| fields | Yes | ||
| verify | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful traits: the version gate (0.8.8+), the advanced-group conditional that silently no-ops several fields otherwise, and the save/external_reload dependency chain. It omits mutation/reversibility framing and the fact that an open document and target object are required, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the field inventory are front-loaded and the sentences are dense rather than padded. The trailing clause about external_reload and 'strength 标明验证强度' is cryptic and refers to a 'strength' concept absent from the schema, which costs clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. Still, for a 7-parameter mutation tool with a nested free-form object and zero schema descriptions, leaving object identification and the save/verify flags unexplained leaves an agent guessing on several required decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does enumerate the valid keys inside the nested `fields` object and the allowed layout values (horizontal/vertical or hz/vt), which the bare `additionalProperties: true` schema does not. But save, verify, object_id, object_name and object_path remain entirely undocumented, and the reference to a 'strength' marker matches no listed parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: modify the layout properties of a Group object, with a version qualifier (0.8.8+). This implicitly separates it from fgui_set_list_layout, but the description never names the sibling or explicitly distinguishes Group layout from list layout, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It surfaces real usage conditions – which fields only take effect when advanced=true, and that external_reload=True requires save=True and a document reopen to re-compare. However, it never states when to reach for this tool over fgui_set_property or fgui_set_list_layout, nor any when-not-to-use exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 标明验证强度。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| fields | Yes | ||
| verify | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the version requirement, the save/external_reload dependency, and the close-reopen-then-recompare verification cycle. It does not state what happens to unlisted layout fields, whether changes are reversible, or permission requirements, leaving notable gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose leads, followed by a dense but useful enumeration of supported fields and trailing notes on external_reload and strength. There is minimal filler, though the field list is long enough that it could be organized more crisply.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description thoroughly documents the nested 'fields' payload, which is the hard part of this tool. The main remaining gap is the undocumented object-identification and verify/save parameters, a minor omission given their conventional naming.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and 'fields' is an opaque additionalProperties object, so the enumerated field names and enum values (layout modes, selectionMode, overflow, margin format) add real value beyond the schema. But five of seven top-level parameters (save, verify, object_id, object_name, object_path) are never explained, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (修改/set) and a precise resource (List 对象的布局与滚动属性), and it contrasts naturally with the sibling fgui_set_group_layout, which targets a different container type. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a version gate (0.8.8+) and a conditional rule ('external_reload=True 需 save=True'), which is genuine usage guidance. However, it never states when to prefer this tool over fgui_set_property or fgui_set_group_layout, nor any exclusions, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_set_propertyB
修改白名单属性;该操作进入 Agent 属性 undo/redo 事务栈。
save=True 保存后默认比对磁盘 XML;external_reload=True 会在保存后关闭并重新打开文档再比对,需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| value | Yes | ||
| verify | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| property_name | Yes | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavior: the mutation is recorded in an undo/redo transaction stack, save triggers a disk XML comparison, external_reload closes/reopens the document, and the response strength field (reload/disk/none) reports verification level. It still omits required permissions and failure/error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: purpose first, then a tight sentence each for save, external_reload, and the strength response field. Little waste, though the save/external_reload clauses are dense enough to need careful reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be re-explained, and the description does cover the salient transaction/verification behavior. The biggest gap is the unresolved object-identification model among three optional selectors, which an agent needs in order to call an 8-parameter mutation correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate — and it only documents save and external_reload (and gestures at verify via the response 'strength'). The three mutually-exclusive object selectors (object_id/object_name/object_path), value, and property_name are left entirely unexplained, including which identifier wins when several are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (修改/set) and resource (白名单属性/whitelisted properties), plus a distinguishing trait — that the operation enters the Agent property undo/redo stack. It is clear what the tool does, though it never names a sibling such as fgui_set_text_style or fgui_set_list_layout to disambiguate which property-setting tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through the save/verify/external_reload mechanics (e.g. external_reload requires save=True), but there is no explicit when-to-use-vs-alternatives guidance and no statement of prerequisites such as an open document or a selected object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 标明验证强度。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| verify | No | ||
| object_id | No | ||
| relations | Yes | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It does disclose meaningful traits: whole-replace (destructive to existing bindings), the version requirement, and the external_reload/save coupling plus verify semantics. It omits permissions, failure behavior, and whether the change is undoable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: the replacement scope and version come first, then the payload format, then the reload constraint. No filler sentences, though the nested brace/parenthetical formatting is hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a 7-parameter mutation tool with 0% schema coverage, missing guidance on how the target object is identified and what save/verify do leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate. It richly documents the relations item shape and sidePair direction vocabulary, but says nothing about object_id/object_name/object_path, save, or verify, leaving several parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 整体替换对象的 Relation 绑定 (whole replacement of an object's relation bindings), plus a version gate (0.8.8+). That scope word 整体 clearly signals it is not incremental, and no sibling tool covers relations, so no sibling differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one conditional dependency (external_reload=True requires save=True, and requires reopening the document to re-compare), but never states when to use this tool versus siblings like fgui_set_property, nor any prerequisite for identifying the target object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_set_text_styleB
设置 TextField/RichText 的统一文本样式。
external_reload=True 会在保存后关闭并重新打开文档再比对,是唯一能证明「重新载入时值不丢」的验证;需要 save=True。响应中的 strength 字段标明验证强度:reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| style | Yes | ||
| verify | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose non-obvious behavior: external_reload closes and reopens the document after saving, and the response strength field reports verification level (reload/disk/none). It still omits whether the mutation persists without save, permission needs, and reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short paragraphs, purpose front-loaded, followed by the verification semantics. Little waste, though the verification detail could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, yet the description usefully adds the strength field meaning. However, for a 7-parameter mutation tool with a nested style object and no annotations, it fails to cover object targeting and the style payload, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate. It only explains external_reload and its dependency on save, leaving style, verify, object_id, object_name, and object_path entirely undocumented, so most parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: setting a unified text style for TextField/RichText objects. It is clear what the tool does, but it never differentiates itself from siblings such as fgui_get_text_style or the generic fgui_set_property, so an agent must infer which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use/when-not guidance relative to alternatives. The only usage direction is conditional: external_reload=True requires save=True and is the only way to prove values survive a reload. That is useful parameter guidance but not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_statusA
读取本地 FairyGUI 工程选择和桥接心跳,不主动唤醒编辑器。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full responsibility. It does disclose a read-only operation ('读取') and the key non-waking behavior ('不主动唤醒编辑器'), which is useful. However, it does not explain what 'bridge heartbeat' entails, how it behaves when the editor is not running, or any other edge cases, leaving gaps in behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose and key behavioral caveat. There is no fluff, and it is appropriately sized for a simple no-parameter status tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the presence of an output schema, and the description covering purpose and the critical 'does not wake' behavior, it is fairly complete. However, it could provide a bit more context about what 'bridge heartbeat' represents or how this tool relates to other status checks, preventing a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema description coverage is trivially 100%. The description adds no parameter-specific semantics, but with no parameters to explain, the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads ('读取') local FairyGUI project selection and bridge heartbeat, which is a specific verb+resource combination. It also distinguishes itself from siblings by noting it does not actively wake the editor, which sets it apart from tools like fgui_ping or fgui_get_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided about when to use this tool versus alternatives. The statement '不主动唤醒编辑器' implies it is a safe non-intrusive status check, but there is no mention of alternatives, exclusions, or specific scenarios. This is insufficient for helping an agent decide between fgui_status and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_undoA
优先撤销 Agent 属性事务;事务栈为空时回退到 FairyGUI 原生撤销。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the priority/fallback behavior, adding value. However, it leaves ambiguous details such as whether undo is single-step, what happens when there is nothing to undo, and the exact definition of 'transaction stack'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise front-loaded sentence with no wasted words, effectively communicating the essential behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the core undo behavior and fallback, it does not explain the concepts of 'Agent attribute transactions' or the transaction stack, which could be ambiguous to an AI agent. With an output schema present, return values are covered elsewhere, but the behavioral edge cases are not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to describe. The description does not need to explain parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs undo operations, prioritizing agent property transactions and falling back to native FairyGUI undo. This distinguishes it from sibling tools like fgui_redo (opposite action) and fgui_get_history (viewing history).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly defines when to use this tool (to undo) and explains the decision logic: it tries agent transactions first, then native undo. However, it does not explicitly mention alternatives or exclusions, though the redo tool is an obvious opposite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_update_movieclipB
更新已有 MovieClip;传入 frame_paths 时使用新的有序图片序列替换动画帧。
save=True 保存包与工程后默认比对 package.xml 条目和资源文件;external_reload=True(需 save=True)卸载并重新加载 asset 再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | ||
| url | No | ||
| save | No | ||
| speed | No | ||
| swing | No | ||
| verify | No | ||
| exported | No | ||
| item_name | No | ||
| item_path | No | ||
| frame_paths | No | ||
| frame_delays | No | ||
| package_name | No | ||
| repeat_delay | No | ||
| external_reload | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose meaningful side effects: save=True persists package and project then compares package.xml entries and resource files, and external_reload unloads/reloads the asset before comparing, with response strength reported as reload/disk/none. But it omits failure modes, permission needs, and the effect on settings not mentioned for a 15-parameter mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences (semicolon-joined) with the primary action front-loaded ahead of the secondary save/reload details. Dense but no filler; it could be split for readability but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter update tool with 0% schema coverage and no annotations, the description covers only a small fraction of the surface. The existence of an output schema excuses explaining return values, but the parameter and error-behavior gaps leave an agent without enough to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 15 parameters, so the description must compensate and largely does not. It only explains frame_paths, save, and external_reload; the remaining twelve parameters (fps, speed, swing, url, item_name, item_path, frame_delays, package_name, repeat_delay, timeout_seconds, verify, exported) are left undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("更新已有 MovieClip") and clarifies the key behavior of replacing animation frames when frame_paths is supplied. It implicitly distinguishes itself from fgui_create_movieclip / fgui_get_movieclip / fgui_remove_movieclip by saying "已有" (existing), though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives conditional guidance for parameters (external_reload requires save=True, frames replaced only when frame_paths is passed), which is useful. However, it never states when to choose this tool over alternatives like fgui_create_movieclip or fgui_set_property, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_update_transition_itemB
替换 Transition 指定索引的关键帧项;可用 fgui_undo/redo 回退。
save=True 保存后默认比对磁盘 XML 中该 Transition 的条目数;external_reload=True(需 save=True)关闭重开再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | ||
| name | Yes | ||
| save | No | ||
| verify | No | ||
| item_index | Yes | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: undo/redo reversibility, that save=True triggers a disk-XML item-count comparison, and that external_reload requires save and yields a strength of reload/disk/none. However it omits the meaning of the verify parameter, permission requirements, and what happens without save (in-memory only?).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and no filler. Efficient for a tool with this much behavioral nuance to convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the description covers the save/verify workflow reasonably. Still, for a mutation tool with zero annotations and 0% schema coverage, the unexplained verify parameter and unspecified preconditions leave gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 6 parameters. The description adds real meaning for save and external_reload (including the save dependency), and '指定索引' maps to item_index, but verify is never explained and the item payload structure is left entirely to the schema. It covers only part of the parameter surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: replace (替换) the keyframe item (关键帧项) at a specified index of a Transition. This is precise enough to distinguish it from siblings like fgui_add_transition_item and fgui_remove_transition_item, though it doesn't name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides useful context that changes can be reverted via fgui_undo/redo and explains the save/external_reload workflow, but gives no explicit guidance on when to choose this over fgui_upsert_transition or the add/remove transition-item siblings. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_upsert_transitionA
声明式创建或完整替换一个 Transition;一次调用可由 fgui_undo/redo 原子回退。
save=True 保存后默认比对磁盘 XML 中的 节点;external_reload=True(需 save=True)关闭并重新打开文档再比对,响应 strength 为 reload / disk / none。
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | ||
| verify | No | ||
| transition | Yes | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses that a single call is atomically retractable via fgui_undo/redo, that save=True triggers a disk <transition> comparison, that external_reload closes/reopens the document, and it enumerates the possible response strength values (reload/disk/none). It omits error/failure behavior and whether an active document is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core upsert semantics in the first clause, then packs the save/external_reload/strength details into one dense sentence. No filler, though the second sentence is heavy and would scan better if split.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a deep nested schema and no annotations, the description supplies the essential behavioral context (undo, save, reload, strength outcomes). An output schema exists so return-shape explanation is not required, and the description appropriately focuses on mutation semantics; only failure/permission preconditions are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains save and external_reload (including the save=True dependency) and implies verify via the '默认比对' default behavior, but the central `transition` payload and the exact effect of verify are left to the schema's type structure. It partially compensates for a 4-parameter, zero-description schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (declare-and-create-or-fully-replace) on a specific resource (a Transition), which is more precise than a generic upsert and distinguishes it from the item-level siblings (fgui_add/update/remove_transition_item). It does not explicitly name the sibling it replaces or deprecates, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a useful conditional (external_reload requires save=True) and notes the atomic undo/redo affordance, but never states when to choose this tool over fgui_add_transition_item, fgui_update_transition_item, or fgui_get_transition, nor any preconditions like needing an open/active document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fgui_use_projectA
为当前 MCP 会话选择 .fairy 文件、FairyGUI 工程目录或仓库目录。
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure. It mentions selecting for the session but does not explain side effects (e.g., overriding previous selection), validation behavior, or error handling. This is a state-changing operation, yet the description remains surface-level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource. Every word is informative, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter setter tool, the description is minimal but acceptable. It covers the core purpose and parameter semantics, but lacks usage context (when to call) and behavioral details. The presence of an output schema reduces the need to describe return values, but the lack of guidelines makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (project_path) with no description (0% coverage). The tool description compensates by explaining the accepted path types (.fairy file, project directory, or repository directory), adding meaning beyond the raw schema. However, it does not specify path format (relative vs. absolute) or other constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: selecting a .fairy file, FairyGUI project directory, or repository directory for the current MCP session. It uses a specific verb ('select') and distinguishes from siblings like fgui_get_project, which likely retrieves the current selection rather than setting it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, ordering (e.g., use before other operations), or exclusions. The context implies it is a setup step, but the description never says that explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 会关闭并重新打开当前文档再比对——这是只读操作仍能达到的最强持久化证明。本命令不会保存,因此文档存在未保存改动时会拒绝执行。
| Name | Required | Description | Default |
|---|---|---|---|
| expected | No | ||
| read_xml | No | ||
| max_depth | No | ||
| object_id | No | ||
| object_name | No | ||
| object_path | No | ||
| external_reload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses read-only/non-saving behavior, the disk-XML comparison default, and a concrete refusal condition (aborts when the document has unsaved changes). external_reload's close/reopen semantics are explained as the strongest persistence proof. It leaves the read_xml=False path and the nature of the returned snapshot under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, followed by mode-specific rules and the external_reload caveat, with no obvious filler. It is dense and long, but the density is justified by a complex, seven-parameter tool with no schema documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex verification tool with an output schema already covering return values, the description supplies the mode selection logic, childrenMode semantics, and the unsaved-changes precondition. An agent has enough to invoke it correctly without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does for most parameters: expected (single-target vs tree, children spec, childrenMode exact/subset), object_id/object_name/object_path, and external_reload are all explained. max_depth and read_xml receive no explicit meaning beyond hints ('默认比对磁盘 XML'), leaving two of seven params undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (只读验证 target 的 expected 属性) and clarifies it is a read-only verification that compares against disk XML without saving. An agent can distinguish this verification tool from read siblings like fgui_get_tree/fgui_get_active_document and write siblings like fgui_save_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains the two invocation modes and their conditions: a pure-attribute expected requires object_id/object_path/object_name, while expected containing children performs tree comparison and may omit target (defaults to root). It also states that no expected returns only a snapshot. It does not explicitly name alternative tools to use instead, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
30 tool updates
v0.8.6- Added
fgui_add_transition_item - Changed
fgui_create_button2 fields changed- added
Input schema / properties / saveAdded value: +{ + "default": false, + "title": "Save", + "type": "boolean" +} - added
Input schema / properties / verifyAdded value: +{ + "default": true, + "title": "Verify", + "type": "boolean" +}
- Changed
fgui_create_component2 fields changed- added
Input schema / properties / saveAdded value: +{ + "default": false, + "title": "Save", + "type": "boolean" +} - added
Input schema / properties / verifyAdded value: +{ + "default": true, + "title": "Verify", + "type": "boolean" +}
- Added
fgui_create_movieclip - Added
fgui_get_movieclip - Added
fgui_get_text_style - Added
fgui_get_transition - Added
fgui_import_font - Changed
fgui_import_image3 fields changed- added
Input schema / properties / external_reloadAdded value: +{ + "default": false, + "title": "External Reload", + "type": "boolean" +} - added
Input schema / properties / saveAdded value: +{ + "default": false, + "title": "Save", + "type": "boolean" +} - added
Input schema / properties / verifyAdded value: +{ + "default": true, + "title": "Verify", + "type": "boolean" +}
- Added
fgui_import_sound - Changed
fgui_insert_object3 fields changed- added
Input schema / properties / external_reloadAdded value: +{ + "default": false, + "title": "External Reload", + "type": "boolean" +} - added
Input schema / properties / saveAdded value: +{ + "default": false, + "title": "Save", + "type": "boolean" +} - added
Input schema / properties / verifyAdded value: +{ + "default": true, + "title": "Verify", + "type": "boolean" +}
- Added
fgui_list_controllers - Added
fgui_list_transitions - Added
fgui_preview_animation - Added
fgui_remove_movieclip - Changed
fgui_remove_object3 fields changed- added
Input schema / properties / external_reloadAdded value: +{ + "default": false, + "title": "External Reload", + "type": "boolean" +} - added
Input schema / properties / saveAdded value: +{ + "default": false, + "title": "Save", + "type": "boolean" +} - added
Input schema / properties / verifyAdded value: +{ + "default": true, + "title": "Verify", + "type": "boolean" +}
- Added
fgui_remove_transition - Added
fgui_remove_transition_item - Added
fgui_replace_object_resource - Added
fgui_set_controller - Added
fgui_set_gear_display - Added
fgui_set_group_layout - Added
fgui_set_list_layout - Changed
fgui_set_property3 fields changed- added
Input schema / properties / external_reloadAdded value: +{ + "default": false, + "title": "External Reload", + "type": "boolean" +} - added
Input schema / properties / saveAdded value: +{ + "default": false, + "title": "Save", + "type": "boolean" +} - added
Input schema / properties / verifyAdded value: +{ + "default": true, + "title": "Verify", + "type": "boolean" +}
- Added
fgui_set_relation - Added
fgui_set_text_style - Added
fgui_update_movieclip - Added
fgui_update_transition_item - Added
fgui_upsert_transition - Added
fgui_verify_document
24 tool updates
v0.6.0- First observed
fgui_create_button - First observed
fgui_create_component - First observed
fgui_discard_document - First observed
fgui_get_active_document - First observed
fgui_get_history - First observed
fgui_get_project - First observed
fgui_get_publish_settings - First observed
fgui_get_tree - First observed
fgui_import_image - First observed
fgui_insert_object - First observed
fgui_list_items - First observed
fgui_list_packages - First observed
fgui_open_document - First observed
fgui_ping - First observed
fgui_publish - First observed
fgui_redo - First observed
fgui_remove_object - First observed
fgui_save_all - First observed
fgui_save_document - First observed
fgui_select_object - First observed
fgui_set_property - First observed
fgui_status - First observed
fgui_undo - First observed
fgui_use_project
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.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceThis MCP server integrates AI assistants with Unity Editor, allowing them to create scenes, generate scripts, simulate input, and automate workflows using 91 built-in tools.265MIT- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for Cocos Creator 3.8+ that enables AI assistants to interact with the editor via 50+ tools for scene, node, component, prefab, asset, and project management.27 npm1MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that translates human GUI actions into machine-executable commands, enabling AI agents to control real software applications like Zoom, Excel, and WeChat via natural language or API calls.1MIT
- FlicenseAqualityAmaintenanceMCP server that connects AI coding assistants to a live Godot editor, enabling scene, node, script, resource, runtime, debugger, and test workflows through natural language.45-