Skip to main content
Glama

Generate a private architecture diagram

generate_diagram
Idempotent

Compile architecture JSON to a private, expiring preview. Does not publish. Review the preview, then use publish_html or update_page with generationId. Reuse clientRequestId only with identical arguments. theme contains bounded diagram tokens; styleRef pins an exact saved style version.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
specYesArchitecture JSON: {schemaVersion:1,title,description,groups:[{id,label}],nodes:[{id,label,kind,group}],edges:[{id,from,to,label}]}. All shown fields are required; only optional field is generatorVersion (omit on creation; preserve returned version for updates). Use 1-8 nonempty groups, 1-40 nodes, 0-60 edges. kind is service|store|queue|actor|external. IDs are unique within their collection, match ^[a-z][a-z0-9-]{0,63}$; node.group references a group, edge.from/to reference nodes; no self-loops. Nonempty printable Latin-1 text only: title <=120, description <=1000, group label <=48, node/edge label <=64 characters. No extra fields, coordinates, HTML or CSS. Spec <=100000 UTF-8 bytes; full generation request <=128 KiB.
themeNoPreset "neutral" (default), "dark", "paper", or object with optional preset plus overrides. Colors canvas,surface,ink,muted,line,accent use #RRGGBB. Integer pixel tokens: fontSize 14-22, labelFontSize 12-16, padding 10-24, nodeWidth 200-320, nodeGap 32-100, layerGap 80-180, radius 0-16; fontWeight 400 or 600. Font is bundled Inter. Text must contrast >=4.5:1 against canvas/surface; line versus canvas and accent versus surface >=3:1. Unknown tokens reject. With styleRef, theme must be an override object; saved palette/density map first and unsupported style traits are disclosed in diagnostics.
styleRefNoExact active style version returned by get_artifact_style. Records requested provenance and is not evidence of visual fidelity.
clientRequestIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, the description reveals that the preview is private and expiring, that the operation does not publish, and that styleRef pins an exact saved style version. These are substantive behavioral facts not present in the structured metadata.

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?

Four short sentences front-load the purpose and workflow, then add caveats without redundant restatement of schema details. Every sentence earns its place.

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?

Given the rich schema and no output schema, the description explains enough: the preview is private and expiring, generationId feeds follow-up publishing, and idempotency behavior is covered. It could explicitly name the return fields, but the workflow strongly implies a generationId-bearing response.

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?

The schema already provides detailed parameter constraints, so the description does not need to repeat them. It adds non-obvious semantics around clientRequestId reuse and frames styleRef as pinning a version, going modestly beyond the schema.

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 clearly: 'Compile architecture JSON to a private, expiring preview.' It also explicitly says 'Does not publish', which differentiates it from publishing tools like publish_html and update_page.

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

Usage Guidelines5/5

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

Gives an explicit workflow: generate the preview, review it, then use publish_html or update_page with generationId. It also warns that clientRequestId should only be reused with identical arguments, which is a concrete usage rule.

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.