Skip to main content
Glama

ms_sync_from_engine

Sync MetaSounds node catalogue from a running UE5 engine, fetching registered node classes and pin specs, then updating memory and optionally the SQLite knowledge DB.

Instructions

Sync MetaSounds node catalogue from the running UE5 engine.

Calls the list_metasound_nodes command to get ALL registered node classes with their complete pin specs directly from the engine registry. Updates the in-memory METASOUND_NODES dict and optionally the SQLite DB.

Args: update_db: If True, also upsert nodes into the SQLite knowledge DB filter: Optional substring filter for node class names limit: Max nodes to fetch (default 5000)

Returns: JSON summary: total nodes, new nodes added, existing nodes updated, categories.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
filterNo
update_dbNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.2

TDQS

A4.2/5.0
Behavior4/5

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 reasonably well: it discloses the side effects (updates the in-memory METASOUND_NODES dict and optionally upserts into the SQLite DB) and the delegation to an engine command. It does not state the engine-connection requirement, whether existing entries are overwritten/lost, or any failure mode.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loaded with the core action in the first line, then a short mechanism sentence, then Args/Returns. The Returns block is somewhat redundant given an output schema exists, but the overall structure is clean and each section is brief.

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 sync tool with three optional params and an output schema present, the description covers purpose, mechanism, side effects, and parameter meaning adequately. It omits the engine-connection prerequisite and the overwrite semantics of the sync, which are the main remaining gaps.

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

Parameters5/5

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, and it does: update_db is explained as an optional SQLite upsert, filter as a substring filter on node class names, and limit as the max nodes to fetch with its 5000 default. All three parameters gain meaning beyond the bare schema types.

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

Purpose5/5

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

States a specific verb and resource ('Sync MetaSounds node catalogue from the running UE5 engine') and explains the mechanism (calls list_metasound_nodes against the engine registry, refreshes the in-memory METASOUND_NODES dict). This clearly distinguishes it from read-only siblings like ms_list_nodes/ms_search_nodes and from the analogous bp_sync_from_engine.

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?

The description implies usage (refreshing the local catalogue from the engine) but never states when an agent should call this versus ms_list_nodes, ms_node_info, or bp_sync_from_engine. No prerequisites (e.g. an active ue5_connect session) or exclusions are given, so 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.