Skip to main content
Glama
diagrammo
by diagrammo

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
render_diagramA

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. For DGMO syntax call get_language_reference.

share_diagramA

Generate a shareable diagrammo.app URL for a DGMO diagram. The source is compressed into the URL fragment, so nothing is uploaded and the link works for anyone who opens it; returns the URL as text. Errors when the compressed source exceeds the URL size limit (the error reports both sizes) — split or simplify the diagram, or use open_in_app / render_diagram instead. The source is not validated here; call validate_diagram first.

open_in_appA

Open a DGMO diagram in the Diagrammo desktop app (macOS only). Falls back to browser preview if the app is not installed. Pass filePath to open a saved .dgmo file directly — the app opens THAT file, so in-app edits autosave back to it (one editable source of truth, live re-render). This is the preferred path when the app is installed: write the .dgmo source first, then open it here. Omit filePath for an ephemeral diagram (sends a deep link; the app creates its own copy).

check_app_installedA

Check whether the Diagrammo desktop app is installed. Returns a sentence naming the output route the product prefers, plus JSON { installed, paths, platform }. Detection is macOS-only; other platforms always report not installed. The answer does not change within a session, so one call is enough before deciding how to show a diagram: when installed, the preferred route is open_in_app with filePath; otherwise share_diagram.

list_chart_typesA

List all supported DGMO chart types with descriptions.

get_language_referenceA

Get the DGMO language reference. With chart_type, returns that type's section plus the universal rules every diagram follows (the closed color set, titles, categorize-and-color). Without it, returns the entire reference for all chart types, which is very large (hundreds of KB); pass chart_type whenever the type is known. Errors when the type has no documented section — call list_chart_types for the valid ids. suggest_chart_type already appends the chosen type's section, so a call here is only needed after the user picks a type or when switching types.

preview_diagramA

Render one or more DGMO diagrams and open an HTML preview in the browser. Supports theme toggle and optional source display. For DGMO syntax call get_language_reference.

generate_reportA

Generate a polished HTML report with multiple DGMO diagrams, table of contents, and optional source blocks. Opens in browser by default. For DGMO syntax call get_language_reference.

validate_diagramA

Validate DGMO markup without rendering. Returns structured parse errors and warnings. Much faster than render_diagram — use this to check syntax before rendering.

suggest_chart_typeA

Suggest the best DGMO chart type for a user's plain-English diagram request.

Call this first when creating a new diagram: it ranks the chart types against the request and, on a confident pick, appends that type's language-reference section, so no separate get_language_reference call is needed. It is not needed when editing an existing diagram, whose first line already declares its type.

Returns one of two shapes: (1) a confident pick (high/medium) with the top match's syntax, or (2) an '⚠️ ASK THE USER' result when the choice is ambiguous or nothing matched. On an ASK-THE-USER result, present the listed candidates to the user and wait for their choice before generating, because the request alone does not settle which type they want.

get_examplesA

Get example DGMO diagrams for a chart type. Returns real-world examples from the gallery that demonstrate syntax patterns. Use these as few-shot references when generating new diagrams.

put_space_diagramA

Write a DGMO diagram into a Diagrammo Cloud space, by folder and title: updates the diagram with that title in that folder, or creates it (private) when there is none. Re-sending identical source changes nothing. Returns JSON { action: "created" | "updated", id, title, folder, version }. Needs DGMO_API_KEY (a space API key) in the server environment. Errors name the cause: 401 bad or revoked key, 403 not allowed, 404 no such space or folder, 409 another write landed first (call again). Call validate_diagram first; this does not validate.

get_space_diagramA

Read a diagram from a Diagrammo Cloud space, by id or by title in folder. Titles match case-insensitively. Returns JSON { id, title, folder, chartType, version, updatedAt, source }. Needs DGMO_API_KEY (a space API key) in the server environment. Errors when the key is refused (401/403) or nothing matches (404); list_space_diagrams shows what is there.

list_space_diagramsA

List every diagram in a Diagrammo Cloud space. Returns JSON { diagrams: [{ id, title, folder, chartType, version, updatedAt }] }, sorted by folder then title. Needs DGMO_API_KEY (a space API key) in the server environment.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 14 tools

Disambiguation4/5

The set cleanly separates authoring aids (suggest_chart_type, get_language_reference, get_examples, validate_diagram) from output routes (render_diagram, preview_diagram, share_diagram, open_in_app) and cloud storage operations. The main risk is among the output routes—render_diagram vs preview_diagram and share_diagram vs open_in_app could momentarily confuse, but descriptions make the destination and return type clear. check_app_installed further disambiguates routing decisions.

Naming Consistency4/5

All tools use snake_case with a verb_noun pattern, and the cloud tools consistently scope with the space_ prefix (put/get/list_space_diagram). Minor deviations like open_in_app and check_app_installed break the strict verb_noun_ pattern but remain readable and intentional. Overall predictable.

Tool Count5/5

14 tools fit comfortably in the well-scoped range and each covers a distinct facet of the diagram workflow (chartering, reference, validation, rendering, output, cloud persistence). No tool feels redundant or padded.

Completeness4/5

The surface covers the full authoring lifecycle from chart suggestion through validation, rendering, sharing, and report generation, plus cloud read/write/list. The one notable gap is a delete_space_diagram operation—cloud storage supports create/read/list but no removal. Agents can otherwise complete all core workflows.

Maintenance

ActivityActive
ResponsivenessSlow