diagrams-so
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DIAGRAMS_API_KEY | No | API key for CI and headless use; normally login is used instead. | |
| DIAGRAMS_BROWSER | No | Specify a non-default browser to use for login, e.g. 'Google Chrome'. | |
| DIAGRAMS_API_BASE | No | Base URL for the Diagrams.so API. Defaults to https://api.diagrams.so/api/v2 | https://api.diagrams.so/api/v2 |
| DIAGRAMS_NO_BROWSER | No | Set to any value to prevent login from opening a browser; the URL is printed instead. | |
| DIAGRAMS_NO_AUTO_LOGIN | No | Set to any value to disable automatic login in tools; unauthenticated tools will prompt to run login. | |
| DIAGRAMS_API_TIMEOUT_MS | No | Per-request timeout in milliseconds. Defaults to 450000. | 450000 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_diagramA | Create a new cloud architecture diagram from a natural-language prompt. Returns the diagram id, its draw.io XML, Well-Architected warnings, score, and credits used. Costs credits. |
| edit_diagramA | Apply a natural-language change to an existing diagram (e.g. 'add a Redis cache'). Creates a new version and returns the updated XML. Costs credits. Confirm with the user before calling — it mutates the diagram. |
| fix_warningA | Resolve a single Well-Architected warning (from get_warnings), leaving the rest of the diagram untouched. Creates a new version. Costs credits. |
| relayout_diagramA | Automatically re-arrange a diagram's layout for readability (async). Starts the job and waits for it to finish, returning the re-laid XML + fresh warnings/score. Every re-layout costs credits based on the tokens it uses (like edit/fix) and requires confirm=true. If the job is still running when the wait elapses, returns a job_id you can poll with get_relayout_status. |
| import_diagramA | Import an existing draw.io (mxGraphModel/mxfile) XML document as a new diagram in your account. Validated and sanitized. Free (no AI). |
| update_diagramA | Update a diagram's metadata or XML: rename it, change visibility (public/private — paid plans for private), or replace its XML. Pass only the fields you want to change. Free (no AI). |
| delete_diagramA | Delete (soft-delete) a diagram you own. It stops appearing in list_diagrams and can no longer be fetched. Confirm with the user before calling — this is destructive. |
| revert_diagramA | Revert a diagram to an earlier version (from list_versions). Pass either version_id or version_number. Free (no AI). |
| get_diagramA | Fetch a diagram by id — returns its title, draw.io XML, and Well-Architected score. |
| list_diagramsA | List your diagrams (newest first, cursor-paginated). Returns id, title, cloud, type. |
| get_warningsA | List the Well-Architected findings for a diagram (each has type, component, message). Free. |
| export_diagramA | Export a diagram as a raw file: |
| list_versionsA | List a diagram's version history (ascending; |
| get_versionA | Fetch a specific version's XML + Well-Architected score (e.g. to inspect before reverting). Free. |
| get_relayout_statusA | Check the status of an async re-layout job started by relayout_diagram. Returns pending/done/failed; when done+applied it includes the re-laid XML + fresh warnings/score. Free. |
| search_galleryA | Search public community diagrams and curated library templates to reuse as a starting point. Returns id, title, and source (community/library). Fork one with fork_template. |
| fork_templateA | Copy a PUBLIC gallery diagram or curated library template into your own account (private) so you can edit it. Returns the new diagram id. |
| enhance_promptC | Turn a rough idea into a detailed generation prompt. Free. |
| clarify_promptA | Get 1–3 clarifying questions (and a suggested diagram type) for a vague prompt, before generating. Free. |
| get_usageA | Show your current plan, credits remaining, and per-action cost estimates. Free. |
| get_usage_historyA | List how much credit each past task (generate/edit/fix/relayout) charged — newest first, with the diagram it touched and the surface (api/sdk/mcp) that ran it. Use this to answer 'how much did each task cost?'. Also shows a running tally of tasks performed in THIS session. Free (read-only). |
| whoamiA | Show the account, plan, scopes, and live/test mode of the configured API key. Free. |
| list_capabilitiesA | Discover the valid diagram types, cloud providers, and export formats the API supports — so you pass valid values to generate_diagram / export_diagram. Free. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/RedHold/diagrams-mcp-app-core'
If you have feedback or need assistance with the MCP directory API, please join our Discord server