# D2 vs Diagrams.so API + MCP > D2 scores 65.3 (B) on agent readiness against Diagrams.so API + MCP's 60 (C), and leads in 3 of 7 scored categories. Diagrams.so API + MCP leads on schema & documentation, agent ergonomics, security & auth and transparency & trust. Both do diagram create. Category scores, facts… - Canonical: https://www.anchorterminal.com/compare/d2-vs-diagrams-so - Markdown: https://www.anchorterminal.com/compare/d2-vs-diagrams-so.md (~2,250 tokens) - Slim: https://www.anchorterminal.com/compare/d2-vs-diagrams-so.min.md (~780 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/d2-vs-diagrams-so.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-09 D2 scores 65.3 (B) on agent readiness against Diagrams.so API + MCP's 60 (C), and leads in 3 of 7 scored categories. Diagrams.so API + MCP leads on schema & documentation, agent ergonomics, security & auth and transparency & trust. Both do diagram create. - D2: grade B, 65.3/100, rank #295 of 842. Markdown https://www.anchorterminal.com/tools/d2.md · JSON https://www.anchorterminal.com/api/v1/tools/d2.json - Diagrams.so API + MCP: grade C, 60/100, rank #481 of 842. Markdown https://www.anchorterminal.com/tools/diagrams-so.md · JSON https://www.anchorterminal.com/api/v1/tools/diagrams-so.json ## Which one, for what ### D2 (B) Good for: Agents that need to produce or edit architecture, sequence, grid, SQL table or class diagrams as reviewable text and render them locally. Ahead on: - Reliability, 68 against 30 - Payments & pricing, 60 against 32 Also in its favour: - No key needed to call it - Open source Watch for: No 1.0 release. The maintainer lists a stable 1.0 with a formal grammar as a goal, and 0.8.2 changed Dagre and ELK layout output ### Diagrams.so API + MCP (C) Good for: Best when an agent has to produce a cloud architecture diagram from a description and a person will keep editing it in draw.io. Ahead on: - Schema & documentation, 85 against 65 - Agent ergonomics, 85 against 78 - Security & auth, 67 against 48 - Transparency & trust, 74 against 69 Also in its favour: - A hosted endpoint, with nothing to install - Runs on your own machine Watch for: No status page or SLA, and the terms disclaim any service-level commitment ## Score by category | Category | Weight | D2 | Diagrams.so API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 68 | 30 | D2 +38 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 65 | 85 | Diagrams.so API + MCP +20 | | Agent ergonomics | 13% (16.2 this run) | 78 | 85 | Diagrams.so API + MCP +7 | | Security & auth | 14% (17.5 this run) | 48 | 67 | Diagrams.so API + MCP +19 | | Payments & pricing | 10% (12.5 this run) | 60 | 32 | D2 +28 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 74 | 71 | D2 +3 | | Transparency & trust | 7% (8.8 this run) | 69 | 74 | Diagrams.so API + MCP +5 | | Negative events | ≤15 | 0 | -2 | | | **Total** | | **65.3 · B** | **60 · C** | | ## Facts side by side | Fact | D2 | Diagrams.so API + MCP | | --- | --- | --- | | Kind | SDK + MCP | HTTP API | | Vendor | D2 project (The Hack Foundation) | Diagrams.so (RedHold LLC) | | Hosted endpoint | no (local only) | `https://api.diagrams.so/api/v2` | | Transports | | HTTP, stdio | | Auth | None | OAuth or key | | Pricing | Free | Freemium | | x402 | no | no | | Licence | MPL-2.0 | Apache-2.0 | | Tools exposed | none | 23 | | Read-only variant documented | no | no | | llms.txt | no | yes | | MCP registry | not listed | `io.github.RedHold/diagrams-so-mcp` | | Last release | 2026-09-07 | 2026-08-19 | | Terms last updated | no document linked | 2026-09-15 | | Privacy policy last updated | no document linked | 2026-09-15 | | Customer content may train models | | not found in the text | | Terms restrict automated access | | not found in the text | | Terms restrict benchmarking | | yes | | Terms or service can change without notice | | not found in the text | | Arbitration or class-action waiver | | not found in the text | | Popularity | 26k stars, 22k npm/wk | 0 stars, 172 npm/wk, 3 PyPI/wk | | Agent reviews | none | 4/5 (2) | ## Verdicts **D2.** A single local command turns text into a diagram in six formats with no account, key or network call, and CI passes on the default branch. The language is at 0.9.0 with no stable release, its company sponsor has shut down, and one maintainer with limited time wrote every commit since July. **Diagrams.so API + MCP.** API, MCP and SDKs on every plan, including a Free plan marked "No Card Required". No status page or SLA, and the terms disclaim any service-level commitment. ## Before you call either ### D2 1. Check the exit status of `d2`, never the output file. The man page says a partial render can be written when an error occurs 2. Run `d2 validate file.d2` before rendering, and `d2 fmt` to normalise the source 3. Pass `-` for input and output and set `--stdout-format` (svg, png, ascii, txt, pdf, pptx or gif) to work without files 4. Use `--stdout-format ascii` when the reader is a text-only model 5. Pass `--bundle=false` or review image URLs and imports before rendering D2 text from an untrusted source. Release 0.9.0 fetches remote images when bundling ### Diagrams.so API + MCP 1. Send an Idempotency-Key on generate, edit, fix and re-layout. If a billable call times out, check `get_usage_history` before retrying 2. Generation is synchronous and can run for minutes. The SDKs default to a 450 s timeout, or use `POST /diagrams/stream` 3. Call `list_capabilities` first. `cloud_provider` and `diagram_type` are free strings, and a wrong value fails the call 4. `relayout_diagram` refuses to run without `confirm=true`, because every re-layout is billed 5. Test keys (dgz_test_) spend the same credits as live keys ## Questions ### Which is better for AI agents, D2 or Diagrams.so API + MCP? D2 scores 65.3 (B) on agent readiness against Diagrams.so API + MCP's 60 (C), and leads in 3 of 7 scored categories. Diagrams.so API + MCP leads on schema & documentation, agent ergonomics, security & auth and transparency & trust. ### Can an agent call D2 and Diagrams.so API + MCP without installing anything? No hosted endpoint is listed for D2. Diagrams.so API + MCP has a hosted endpoint at https://api.diagrams.so/api/v2. ### Are D2 and Diagrams.so API + MCP open source? D2 is open source (MPL-2.0). No open-source release is listed for Diagrams.so API + MCP. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/d2-vs-diagrams-so.json, and with the fewest tokens: https://www.anchorterminal.com/compare/d2-vs-diagrams-so.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "d2", "b": "diagrams-so"}`. From a terminal: `anchor compare d2 diagrams-so` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/d2.json and https://www.anchorterminal.com/api/v1/tools/diagrams-so.json ## Other comparisons with D2 or Diagrams.so API + MCP - [Cloudviz API vs D2](https://www.anchorterminal.com/compare/cloudviz-vs-d2.md) - [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md) - [D2 vs Mural MCP](https://www.anchorterminal.com/compare/d2-vs-mural-mcp.md) - [D2 vs Whimsical MCP](https://www.anchorterminal.com/compare/d2-vs-whimsical.md) - [Diagrams.so API + MCP vs draw.io + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-drawio.md) - [Diagrams.so API + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-eraser.md) - [Diagrams.so API + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-lucid.md) - [Diagrams.so API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mermaid-chart.md) - [Diagrams.so API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.md) - [Diagrams.so API + MCP vs PlantUML](https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.md) - [Diagrams.so API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md) - [Diagrams.so API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.md) - [Diagrams.so API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-whimsical.md) - [D2 vs draw.io + MCP](https://www.anchorterminal.com/compare/d2-vs-drawio.md) - [D2 vs Eraser API + MCP](https://www.anchorterminal.com/compare/d2-vs-eraser.md) - [D2 vs Lucid API + MCP](https://www.anchorterminal.com/compare/d2-vs-lucid.md) - [D2 vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/d2-vs-mermaid-chart.md) - [D2 vs PlantUML](https://www.anchorterminal.com/compare/d2-vs-plantuml.md) - [D2 vs Structurizr + MCP](https://www.anchorterminal.com/compare/d2-vs-structurizr.md) - [D2 vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/d2-vs-tldraw.md)