# D2 vs Eraser API + MCP > D2 scores 65.3 (B) on agent readiness against Eraser API + MCP's 38.6 (E), and leads in 6 of 7 scored categories. Eraser API + MCP leads on security & auth. Both do diagram as code. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/d2-vs-eraser - Markdown: https://www.anchorterminal.com/compare/d2-vs-eraser.md (~2,150 tokens) - Slim: https://www.anchorterminal.com/compare/d2-vs-eraser.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/d2-vs-eraser.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 Eraser API + MCP's 38.6 (E), and leads in 6 of 7 scored categories. Eraser API + MCP leads on security & auth. 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 - Eraser API + MCP: grade E, 38.6/100, rank #811 of 842. Markdown https://www.anchorterminal.com/tools/eraser.md · JSON https://www.anchorterminal.com/api/v1/tools/eraser.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 15 - Schema & documentation, 65 against 52 - Agent ergonomics, 78 against 34 - Payments & pricing, 60 against 35 - Maintenance & community, 74 against 33 - Transparency & trust, 69 against 50 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 ### Eraser API + MCP (E) Good for: Teams already writing docs and diagrams in Eraser who want an agent to generate or edit inside that workspace. Ahead on: - Security & auth, 57 against 48 Also in its favour: - A hosted endpoint, with nothing to install - Runs on your own machine Watch for: No status page, rate limits, SLA or changelog ## Score by category | Category | Weight | D2 | Eraser API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 68 | 15 | D2 +53 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 65 | 52 | D2 +13 | | Agent ergonomics | 13% (16.2 this run) | 78 | 34 | D2 +44 | | Security & auth | 14% (17.5 this run) | 48 | 57 | Eraser API + MCP +9 | | Payments & pricing | 10% (12.5 this run) | 60 | 35 | D2 +25 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 74 | 33 | D2 +41 | | Transparency & trust | 7% (8.8 this run) | 69 | 50 | D2 +19 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **65.3 · B** | **38.6 · E** | | ## Facts side by side | Fact | D2 | Eraser API + MCP | | --- | --- | --- | | Kind | SDK + MCP | HTTP API | | Vendor | D2 project (The Hack Foundation) | Eraser | | Hosted endpoint | no (local only) | `https://app.eraser.io/api` | | Transports | | HTTP, Streamable HTTP, stdio | | Auth | None | OAuth or key | | Pricing | Free | Freemium | | x402 | no | no | | Licence | MPL-2.0 | none | | Tools exposed | none | 42 | | Read-only variant documented | no | no | | llms.txt | no | yes | | MCP registry | not listed | `io.eraser/eraser` | | Last release | 2026-09-07 | 2026-05-22 | | Terms last updated | no document linked | no date given | | Privacy policy last updated | no document linked | no date given | | Customer content may train models | | not found in the text | | Terms restrict automated access | | not found in the text | | Terms restrict benchmarking | | not found in the text | | 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 | 76 npm/wk | | 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. **Eraser API + MCP.** Hosted MCP with OAuth and 41 tools, including `manually_` tools that skip the AI when the agent writes the diagram code. No status page, rate limits, SLA or changelog. ## 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 ### Eraser API + MCP 1. Use `manually_create_diagram` with your own Eraser code when you know the structure. It skips the AI and its credits 2. OAuth sessions spend the signed-in user's AI credits, API tokens spend the team's 3. Call /render/elements ($0.20) when you already have diagram code; /render/prompt costs $0.80 4. Set a spend limit before running in CI. At 100 per cent the API stops until the next calendar month ## Questions ### Which is better for AI agents, D2 or Eraser API + MCP? D2 scores 65.3 (B) on agent readiness against Eraser API + MCP's 38.6 (E), and leads in 6 of 7 scored categories. Eraser API + MCP leads on security & auth. ### Can an agent call D2 and Eraser API + MCP without installing anything? No hosted endpoint is listed for D2. Eraser API + MCP has a hosted endpoint at https://app.eraser.io/api. ### Are D2 and Eraser API + MCP open source? D2 is open source (MPL-2.0). No open-source release is listed for Eraser API + MCP. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/d2-vs-eraser.json, and with the fewest tokens: https://www.anchorterminal.com/compare/d2-vs-eraser.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "d2", "b": "eraser"}`. From a terminal: `anchor compare d2 eraser` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/d2.json and https://www.anchorterminal.com/api/v1/tools/eraser.json ## Other comparisons with D2 or Eraser API + MCP - [Cloudviz API vs D2](https://www.anchorterminal.com/compare/cloudviz-vs-d2.md) - [Cloudviz API vs Eraser API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-eraser.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 Eraser API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-eraser.md) - [draw.io + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/drawio-vs-eraser.md) - [Eraser API + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/eraser-vs-lucid.md) - [Eraser API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/eraser-vs-mermaid-chart.md) - [Eraser API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/eraser-vs-mural-mcp.md) - [Eraser API + MCP vs PlantUML](https://www.anchorterminal.com/compare/eraser-vs-plantuml.md) - [Eraser API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/eraser-vs-structurizr.md) - [Eraser API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/eraser-vs-tldraw.md) - [Eraser API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/eraser-vs-whimsical.md) - [D2 vs draw.io + MCP](https://www.anchorterminal.com/compare/d2-vs-drawio.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)