Skip to main content
Glama

design_from_spec

Materialize a design spec into a new PowerDesigner model or extend an existing one by model ID, supporting dry-run validation.

Instructions

Materialise a full design spec into a NEW model (or extend an existing one via model_id). spec: {model:{kind: 'PDM'|'CDM'|'LDM', name, code, dbms}, tables/entities:[...], relationships:[...], domains:[...], indexes:[...]}. The AI supplies the design; this tool executes it. Supports dry_run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
specYes
atomicNo
dry_runNo
model_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool can create a new model or extend an existing one, and that dry-run is supported. However, it does not describe side effects on persisted models, reversibility, or failure behavior beyond that.

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 compact and front-loaded with the central purpose, then falls to essential execution context and dry-run note. Every sentence adds value; the inline spec shape is dense but necessary.

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

Completeness3/5

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

Given a complex nested input, no annotations, and no output schema, the description provides only high-level top-level structure. It does not detail the expected shape of tables/entities, relationships, indexes, or domains, nor what the tool returns or how atomicity affects execution. It is adequate but has clear gaps.

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

Parameters4/5

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

Schema description coverage is 0% and the spec schema is an open object, so the description compensates by listing the top-level structure: model, tables/entities, relationships, domains, indexes, and the supported 'PDM' | 'CDM' | 'LDM' enum. It also defines dry_run and model_id, but does not explain the atomic parameter.

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 ('Materialise') and a clear resource ('a full design spec into a NEW model (or extend an existing one via model_id)'). It also includes an explicit spec structure, making it easy to distinguish from piecemeal sibling tools like create_table or create_model.

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 phrase 'The AI supplies the design; this tool executes it' implies when to use the tool, but no explicit alternatives, exclusions, or when-not-to-use guidance is provided. It does not contrast with sibling tools such as validate_model or apply_schema_patch.

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