Skip to main content
Glama
diagrammo
by diagrammo

render_diagram

Read-onlyIdempotent

Convert DGMO markup to SVG or PNG images with theme and palette options. Supports 35+ diagram types for sequence, flowchart, ER, C4, and more.

Instructions

Render DGMO markup to SVG or PNG. Returns SVG text or base64 PNG image. When format is "png", also saves the image to a temp file and returns the path. IMPORTANT DGMO syntax rules: (1) Parentheses after a label specify color — "Sales (red)" colors it red, the text becomes just "Sales". Never use parentheses for annotation. Use dashes or separate words instead, e.g. "Diagrammo App - TS" not "Diagrammo App (TS)". (2) All element/label names must be unique — if parentheses are stripped as color, two labels like "App (TS)" and "App (Rust)" both become "App" causing a duplicate name error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dgmoYesDGMO diagram markup. Parentheses in labels = color notation (stripped from display name). All labels must be unique after color stripping.
formatNoOutput formatsvg
themeNoColor themelight
paletteNoColor palette (nord, solarized, catppuccin, rose-pine, gruvbox, tokyo-night, one-dark, bold)nord
Behavior5/5

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

The description transparently discloses that when format is 'png', the tool saves a temporary file and returns its path. This goes beyond annotations (readOnlyHint=true) and alerts the agent to a side effect. No contradiction with annotations; the temp file write is not a persistent state change.

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 concise, with two well-structured paragraphs: the first defines the function, and the second provides essential syntax rules. Every sentence serves a purpose without redundancy.

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 absence of an output schema, the description adequately covers return types (SVG text, base64 PNG, temp file path). It could mention error handling or DGMO capabilities, but for a rendering tool with a dedicated validation sibling, this is sufficient.

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?

With 100% schema description coverage, the description still adds significant value: it explains the parentheses color notation and uniqueness requirement for the 'dgmo' parameter, which are crucial for correct usage and not fully captured in 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?

The description clearly states the tool's function: 'Render DGMO markup to SVG or PNG.' It specifies input (DGMO markup), outputs (SVG text or base64 PNG), and distinguishes from siblings like validate_diagram by focusing on rendering.

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 provides critical usage rules (DGMO syntax for color notation, uniqueness requirement) but does not explicitly compare to alternatives or state when not to use this tool. It implicitly guides correct usage via the syntax rules.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/diagrammo/dgmo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server