Skip to main content
Glama

menu_add

Adds an official feature object to a scene by menu ID, matching editor menu selection and remaining undoable. For package items, it downloads and imports the official asset pack first.

Instructions

按 menu_id 往场景添加一个官方功能对象,与在编辑器菜单里点选等效(可撤销)。kind=package 的项会先下载官方素材包再导入。返回 added_objects(新对象名和 object_path)。

Input Schema

NameRequiredDescriptionDefault
menu_idYesmenu_list 返回的 menu_id。
instance_idNo官方 list_instances 返回的 instance_id,与 project_path 二选一。
project_pathNo目标工程的绝对路径。与 instance_id 二选一;只开了一个工程窗口时都可省略。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does real work: it discloses that the operation is equivalent to an editor menu click, that it is undoable (可撤销), that package-type items trigger a download before import, and what the result contains (added_objects with name and object_path). It omits permission/auth requirements and whether the project must be saved afterward, which keeps it from 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact clauses, each carrying unique information: what it does, the undo/download caveats, and the return shape. Nothing is repeated from the schema and the core action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the definition covers the essentials including a description of the return value. The remaining gap is context around preconditions (an open project, and that menu_id should be fetched via menu_list), which is only inferable from the schema rather than stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so menu_id, instance_id and project_path are all already documented in the schema, including the instance_id/project_path either-or and the 'may omit when only one project window is open' rule. The description adds only the semantic that menu_id selects an official menu entry and that package-type entries have side effects. That is marginal value over the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb + resource: 'add an official feature object to the scene by menu_id', with the equivalence 'same as clicking in the editor menu'. That is concrete and distinct from siblings like menu_list (listing) or works_download (asset acquisition). It stops short of naming a sibling explicitly, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the phrase '按 menu_id' plus the schema note that menu_id comes from menu_list hints at a lookup-then-add flow, and 'kind=package 的项会先下载' hints at a slow path. There is no explicit 'use this when X, use Y instead' guidance or statement of prerequisites such as needing an open project.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.