Skip to main content
Glama

Materialize entity region

nest_schema_region
Destructive

Materialize an entity region from get_schema's x-entityMap. Ordinary flat members (e.g. product_id, product_name on an order line) move into a new object named after the region, regions hanging from it move along (nest them in turn inside the new object), pairing facts stay on the host, and the moved names shed the region's tokens (product_name → name) unless strip_prefix=false. Compact scalar occurrences (e.g. manufacturer_name or each therapeutic_classes[] item) are all converted to references to one shared $defs entity; host_path and strip_prefix do not apply to that form. host_path is '' for the root, an object path, 'path[]' for an array's items, or '$defs.X'. Defaults to dry_run=true: inspect the returned schema_content and notes, then persist with dry_run=false only after approval of the change. Requires editor; no LLM call. Database-linked structural edits still require publish_schema. Modeling consequences: enricher://docs/schema-reference.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNoReport the rewrite without persisting it (the default).
host_pathNoContainer holding the flat members ('' = root, object path, 'path[]', '$defs.X').
region_idYesEntity region id from x-entityMap.regions (get_schema).
schema_idYesUUID of the saved schema.
strip_prefixNoDrop the region's name tokens from the moved field names.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The annotations already signal destructiveHint=true, but the description goes far beyond that by explaining the dry-run default, the approval-before-persist workflow, the no-LLM-call constraint, and the publish_schema dependency. It also discloses nuanced transformation behavior such as compact scalar occurrences becoming shared $defs references and host_path/strip_prefix not applying to that form. No contradiction with annotations exists.

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?

The description is dense but every sentence earns its place: behavior, special cases, workflow, constraints, and references are all covered without repetition. The most important operational detail (dry_run default and approval requirement) is placed near the end but is clearly highlighted, and the overall structure is logical.

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

Completeness5/5

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

For a complex transformation tool with five parameters, an output schema, and destructive annotations, the description covers all critical aspects: what gets moved, how names change, edge cases, the safe execution workflow, permissions, and downstream dependencies. The output schema exists, so return-value details need not be repeated in the description.

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?

Although schema coverage is 100%, the description adds substantial meaning beyond the schema: it enumerates valid host_path forms, clarifies when strip_prefix applies, explains that compact scalar occurrences are converted to shared references, and ties region_id to get_schema's x-entityMap. This materially helps an agent choose correct parameter values.

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?

The description states a specific verb ('Materialize') and resource ('an entity region from get_schema's x-entityMap'), and goes on to explain exactly what materialization means: moving flat members into a new object, nesting child regions, and stripping prefixes. This clearly distinguishes it from generic schema-editing siblings like update_schema or move_schema_property.

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

Usage Guidelines4/5

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

The description gives strong usage context: it requires editor access, makes no LLM call, defaults to dry_run, and requires approval before persisting. It also notes that database-linked structural edits still require publish_schema, providing a clear when-not-to-use boundary. It does not name an explicit alternative tool for the same operation, but the context is sufficient for an agent to route correctly.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.