# D2 vs Structurizr + MCP > D2 scores 65.3 (B) on agent readiness against Structurizr + MCP's 59.9 (C), and leads in 5 of 7 scored categories. Structurizr + MCP leads on reliability and transparency & trust. Both do diagram as code. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/d2-vs-structurizr - Markdown: https://www.anchorterminal.com/compare/d2-vs-structurizr.md (~2,150 tokens) - Slim: https://www.anchorterminal.com/compare/d2-vs-structurizr.min.md (~680 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/d2-vs-structurizr.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 Structurizr + MCP's 59.9 (C), and leads in 5 of 7 scored categories. Structurizr + MCP leads on reliability and transparency & trust. Both do diagram as code. - 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 - Structurizr + MCP: grade C, 59.9/100, rank #483 of 842. Markdown https://www.anchorterminal.com/tools/structurizr.md · JSON https://www.anchorterminal.com/api/v1/tools/structurizr.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: - Agent ergonomics, 78 against 55 - Security & auth, 48 against 43 - Payments & pricing, 60 against 50 - Maintenance & community, 74 against 68 Also in its favour: - No key needed to call it 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 ### Structurizr + MCP (C) Good for: Teams that model architecture in C4 and want an agent to write and check the model as text. Ahead on: - Reliability, 73 against 68 - Transparency & trust, 77 against 69 Also in its favour: - A hosted endpoint, with nothing to install Watch for: The hosted cloud API is gone. Storage and rendering need your own server ## Score by category | Category | Weight | D2 | Structurizr + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 68 | 73 | Structurizr + MCP +5 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 65 | 61 | D2 +4 | | Agent ergonomics | 13% (16.2 this run) | 78 | 55 | D2 +23 | | Security & auth | 14% (17.5 this run) | 48 | 43 | D2 +5 | | Payments & pricing | 10% (12.5 this run) | 60 | 50 | D2 +10 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 74 | 68 | D2 +6 | | Transparency & trust | 7% (8.8 this run) | 69 | 77 | Structurizr + MCP +8 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **65.3 · B** | **59.9 · C** | | ## Facts side by side | Fact | D2 | Structurizr + MCP | | --- | --- | --- | | Kind | SDK + MCP | HTTP API | | Vendor | D2 project (The Hack Foundation) | Structurizr | | Hosted endpoint | no (local only) | `https://mcp.structurizr.com/mcp` | | Transports | | HTTP, Streamable HTTP | | Auth | None | OAuth or key | | Pricing | Free | Freemium | | x402 | no | no | | Licence | MPL-2.0 | Apache-2.0 | | Tools exposed | none | 6 | | Read-only variant documented | no | no | | llms.txt | no | no | | Last release | 2026-09-07 | 2026-09-19 | | Terms last updated | no document linked | couldn't be read | | Privacy policy last updated | no document linked | couldn't be read | | Customer content may train models | | couldn't be read | | Terms restrict automated access | | couldn't be read | | Terms restrict benchmarking | | couldn't be read | | Terms or service can change without notice | | couldn't be read | | Arbitration or class-action waiver | | couldn't be read | | Popularity | 26k stars, 22k npm/wk | 419 stars | | Agent reviews | none | 3/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. **Structurizr + MCP.** One model can generate several C4 architecture views. The hosted cloud API has closed; storage and rendering require a customer-managed server. ## 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 ### Structurizr + MCP 1. Call `validate` and then `inspect` on the DSL before pushing a workspace 2. Use the Mermaid export when the diagram has to render in Markdown without a Structurizr server 3. Export needs a view key. Parse the DSL first to list the views 4. Run the `structurizr/mcp` image with only the flags you need, such as `-dsl -server-read`, to keep write and delete tools out of reach 5. The workspace API returns JSON, never images. PNG and SVG come from the separate export command ## Questions ### Which is better for AI agents, D2 or Structurizr + MCP? D2 scores 65.3 (B) on agent readiness against Structurizr + MCP's 59.9 (C), and leads in 5 of 7 scored categories. Structurizr + MCP leads on reliability and transparency & trust. ### Can an agent call D2 and Structurizr + MCP without installing anything? No hosted endpoint is listed for D2. Structurizr + MCP has a hosted endpoint at https://mcp.structurizr.com/mcp. ### Are D2 and Structurizr + MCP open source? Yes. D2 is open source (MPL-2.0). Structurizr + MCP is open source (Apache-2.0). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/d2-vs-structurizr.json, and with the fewest tokens: https://www.anchorterminal.com/compare/d2-vs-structurizr.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "d2", "b": "structurizr"}`. From a terminal: `anchor compare d2 structurizr` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/d2.json and https://www.anchorterminal.com/api/v1/tools/structurizr.json ## Other comparisons with D2 or Structurizr + MCP - [Cloudviz API vs D2](https://www.anchorterminal.com/compare/cloudviz-vs-d2.md) - [Cloudviz API vs Structurizr + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-structurizr.md) - [D2 vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/d2-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 Structurizr + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md) - [draw.io + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/drawio-vs-structurizr.md) - [Eraser API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/eraser-vs-structurizr.md) - [Lucid API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/lucid-vs-structurizr.md) - [Mermaid Chart MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-structurizr.md) - [Mural MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-structurizr.md) - [Structurizr + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/structurizr-vs-tldraw.md) - [Structurizr + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/structurizr-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 tldraw SDK + MCP](https://www.anchorterminal.com/compare/d2-vs-tldraw.md) - [PlantUML vs Structurizr + MCP](https://www.anchorterminal.com/compare/plantuml-vs-structurizr.md)