{
  "data": {
    "a": {
      "slug": "d2",
      "name": "D2",
      "vendor": "D2 project (The Hack Foundation)",
      "vendorUrl": "https://d2lang.com",
      "kind": "sdk",
      "category": "diagramming",
      "summary": "D2 is an open-source diagram scripting language that turns text into SVG, PNG, PDF, PPTX, GIF or ASCII diagrams. Agents run it as a local CLI, a Go library or the `@d2lang/d2` WebAssembly package.",
      "url": "https://www.anchorterminal.com/tools/d2",
      "markdownUrl": "https://www.anchorterminal.com/tools/d2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/d2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/d2.json",
      "repo": "https://github.com/d2lang/d2",
      "license": "MPL-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@d2lang/d2"
        },
        {
          "registry": "go",
          "name": "github.com/d2lang/d2"
        },
        {
          "registry": "oci",
          "name": "d2lang/d2"
        }
      ],
      "auth": "none",
      "authNotes": "No account, key or login. The CLI, the Go library and the WebAssembly package run on the owner's machine with the owner's file and network rights. `d2 --watch` serves a preview on localhost.",
      "pricing": "free",
      "pricingNotes": "Free under MPL-2.0 with nothing to buy. The TALA layout engine, once a paid plugin with a licence key, has been bundled and open source since 0.9.0. The project takes donations through a public Hack Club fund (https://d2lang.com/sponsor/).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source. The maintainer's 5 September 2026 post rules out any server-side service (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 25581,
        "npmWeekly": 21627,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://d2lang.com/tour/intro/",
      "capabilities": [
        "diagram.as-code",
        "diagram.create",
        "diagram.export",
        "diagram.edit",
        "diagram.architecture"
      ],
      "tags": [
        "open-source",
        "local",
        "cli",
        "go",
        "wasm",
        "diagram-as-code",
        "no-auth",
        "free",
        "non-profit",
        "docker"
      ],
      "lastRelease": "2026-09-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.3,
        "grade": "B",
        "agentReady": false,
        "rank": 343,
        "ranked": true,
        "rankOf": 1084,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 74,
          "payments": 60,
          "reliability": 68,
          "schema": 65,
          "security": 48,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that need to produce or edit architecture, sequence, grid, SQL table or class diagrams as reviewable text and render them locally.",
        "strengths": [
          "One command reads D2 from stdin and writes SVG, PNG, PDF, PPTX, GIF or ASCII to stdout, with no account or key",
          "MPL-2.0 throughout, and the TALA layout engine has been open source and bundled since 0.9.0 on 7 September 2026",
          "`d2 validate` and `d2 fmt --check` let an agent test a diagram before rendering it",
          "The `d2oracle` Go package creates, sets, moves, renames and deletes shapes without mutating the input graph",
          "Release archives carry SHA-256 sums, signed provenance and SBOM attestations since 0.8.2"
        ],
        "weaknesses": [
          "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",
          "Terrastruct, the company that built D2, is shutting down. The project is now donation-funded under The Hack Foundation",
          "All 317 commits since 8 July 2026 are by one maintainer, who says his time on D2 is limited",
          "A security hardening pass merged on 11 and 12 September 2026 is not in a release yet, and the repository has no security policy",
          "No llms.txt, no machine-readable grammar and no MCP server. The maintainer rules out an MCP server and a hosted API"
        ],
        "agentNotes": [
          "Check the exit status of `d2`, never the output file. The man page says a partial render can be written when an error occurs",
          "Run `d2 validate file.d2` before rendering, and `d2 fmt` to normalise the source",
          "Pass `-` for input and output and set `--stdout-format` (svg, png, ascii, txt, pdf, pptx or gif) to work without files",
          "Use `--stdout-format ascii` when the reader is a text-only model",
          "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"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.3
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 74,
          "payments": 60,
          "reliability": 68,
          "schema": 65,
          "security": 48,
          "transparency": 74
        },
        "provenanceScore": 63
      },
      "connect": {
        "install": "curl -fsSL https://d2lang.com/install.sh | sh -s --   # or: brew install d2, go install github.com/d2lang/d2@latest, npm install @d2lang/d2"
      },
      "letme": {
        "capability": "https://letme.dev/diagram.as-code",
        "tool": "https://letme.dev/d2"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "The Hack Foundation (Hack Club), fiscal sponsor of the D2 project",
        "domain": "d2lang.com",
        "domainRegistered": "2022-10-24",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://d2lang.com/releases/intro/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The sponsor page says D2 is fiscally sponsored by The Hack Foundation, the 501(c)(3) nonprofit behind Hack Club, after the lead maintainer donated the project in August 2026 (https://d2lang.com/sponsor/)",
          "LICENSE.txt still reads Copyright 2022 Terrastruct Inc. The 5 September 2026 post says that company is shutting down, and terrastruct.com now redirects to d2lang.com",
          "No terms or privacy document governs the software. The MPL-2.0 licence stands in",
          "https://d2lang.com/.well-known/security.txt answered 404 on 8 October 2026, and the repository has no SECURITY.md",
          "The repository moved from github.com/terrastruct/d2, which redirects, to github.com/d2lang/d2"
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/d2.json",
      "live": {
        "slug": "d2",
        "versions": [
          {
            "registry": "github",
            "name": "d2lang/d2",
            "version": "v0.9.0",
            "released": "2026-09-07",
            "seenAt": "2026-10-13T22:51:50.235585192Z"
          },
          {
            "registry": "npm",
            "name": "@d2lang/d2",
            "version": "0.1.34",
            "seenAt": "2026-10-13T22:51:49.313227859Z"
          }
        ],
        "githubStars": 25611,
        "npmWeekly": 17251,
        "securityTxt": {
          "url": "https://d2lang.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:46:22.820656696Z"
        },
        "domain": {
          "domain": "d2lang.com",
          "registered": "2022-10-24",
          "source": "https://rdap.verisign.com/com/v1/domain/d2lang.com",
          "checkedAt": "2026-10-11T13:15:39.842559297Z"
        },
        "pages": [
          {
            "url": "https://d2lang.com/releases/intro/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-14T20:55:53.390471778Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9eb891f2acbe"
          }
        ],
        "updatedAt": "2026-10-14T20:55:53.390471778Z"
      }
    },
    "answer": "D2 scores 65.3 (B) on agent readiness against Mumble's 7.5 (F), and leads in every scored category.",
    "b": {
      "slug": "mumble",
      "name": "Mumble",
      "vendor": "tiny space",
      "vendorUrl": "https://www.tinyspace.ai",
      "kind": "platform",
      "category": "diagramming",
      "summary": "Mumble is a macOS app from tiny space that transcribes a conversation on the Mac and draws a diagram as people talk, linking each box to the words behind it. It is in beta behind an early-access waitlist.",
      "url": "https://www.anchorterminal.com/tools/mumble",
      "markdownUrl": "https://www.anchorterminal.com/tools/mumble.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mumble.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mumble.json",
      "license": "No licence, terms of use or source repository was found on tinyspace.ai or GitHub (checked 2026-10-14). The app and the `mumble-mcp` binary are not published as open source",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No credential exists for an outside agent, since neither the app nor `mumble-mcp` can be downloaded publicly. Per the docs, `mumble-mcp` is a local stdio binary that needs no API key and is bounded by the folder path passed at start. The AI functions run through the person's own signed-in Claude Code or Codex, and Mumble never asks for or stores an API key (https://www.tinyspace.ai/mumble/docs, checked 2026-10-14).",
      "pricing": "byo-plan",
      "pricingNotes": "Free while Mumble is in beta, and local use on the Mac is stated to stay free after the beta. The live map runs on the person's own Claude Code or Codex plan, so its cost is that plan's allowance. Transcription-only mode needs neither. Two paid plans, Private (one-off price) and Team (monthly), are marked coming soon with no price published (https://www.tinyspace.ai/mumble#pricing, checked 2026-10-14).",
      "priceSummary": "Your plan",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Local app and local stdio MCP server with no payments. No x402, MPP or L402 on the Mumble pages, docs or llms.txt (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://www.tinyspace.ai/mumble/docs",
      "llmsTxt": "https://www.tinyspace.ai/llms.txt",
      "capabilities": [
        "diagram.create",
        "diagram.edit",
        "diagram.architecture",
        "diagram.export",
        "meetings.recording",
        "meetings.transcript",
        "meetings.summary",
        "speech.stt"
      ],
      "tags": [
        "official",
        "local",
        "desktop",
        "macos",
        "byo-plan",
        "beta",
        "waitlist",
        "not-for-agents",
        "closed-source",
        "llms-txt",
        "no-status-page"
      ],
      "graded": true,
      "own": true,
      "disclosure": "Mumble is made by tiny space, the company of Quynh Tran-Thanh, a founder of Anchor Terminal. It's graded the same way as every listing, by the same published checklist with the same readings, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed. letme never picks it.",
      "anchor": {
        "graded": true,
        "score": 7.5,
        "grade": "F",
        "agentReady": false,
        "rank": 1081,
        "ranked": true,
        "rankOf": 1084,
        "categoryRank": 17,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 0,
          "payments": 30,
          "reliability": 5,
          "schema": 10,
          "security": 0,
          "transparency": 13
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Mumble keeps audio on the Mac and stores each conversation as plain files in ~/Mumble, with canvas JSON that diffs cleanly. There is no API or MCP server an outside agent can call today. The documented `mumble-mcp` has no public download, package or repository, and the app is reached only through an early-access waitlist.",
        "bestFor": "A person on a Mac with early access who wants a live, transcript-linked diagram of a call or workshop, kept as plain files in git, and who already pays for Claude Code or Codex.",
        "disclosure": "Mumble is made by tiny space, the company of Quynh Tran-Thanh, a founder of Anchor Terminal. It's graded the same way as every listing, by the same published checklist with the same readings, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed. letme never picks it.",
        "strengths": [
          "Audio is transcribed on the Mac with whisper.cpp and, per tiny space, never uploaded. Transcription-only mode sends nothing to an AI provider",
          "Each conversation is a folder of plain files in ~/Mumble, and canvas JSON is serialised deterministically with stable node ids, so edits show as small diffs",
          "Every box links to the transcript passage behind it, and items the person didn't ask for are drawn as proposals to accept or reject",
          "AI functions run on the person's own Claude Code or Codex account, and Mumble says it never asks for or stores an API key",
          "Free during the beta, and local use on the Mac is stated to stay free after it"
        ],
        "weaknesses": [
          "No API or MCP server an outside agent can call. The documented `mumble-mcp` binary has no public download, package or repository (checked 14 October 2026)",
          "Access is an early-access waitlist with email confirmation, and no download of the app was found",
          "No terms of use, privacy policy, legal entity, changelog or security.txt was found on tinyspace.ai",
          "Transcript text and map context go to the person's Claude Code or Codex provider whenever AI functions are on",
          "English only, with no speaker labels and no shared editing, and Mac only (macOS 13 or later)"
        ],
        "agentNotes": [
          "Don't plan to call Mumble from another agent. Neither the app nor `mumble-mcp` can be obtained publicly, so hand the task to a person with early access",
          "Don't configure `/path/to/mumble-mcp` from the docs. It is a placeholder, and no binary is published",
          "If the person already has Mumble, read ~/Mumble/\u003ccapture\u003e/ directly, `capture.json` for the transcript and `diagram.canvas` for the map",
          "Keep canvas keys in schema order and never rename a node id, or the edges that name it are orphaned and the canvas is refused. Use git as the undo",
          "Don't write to a capture that is being recorded. The app doesn't merge the two versions"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 7.5
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 0,
          "payments": 30,
          "reliability": 5,
          "schema": 10,
          "security": 0,
          "transparency": 10
        },
        "provenanceScore": 16
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Beta",
          "unit": "month",
          "usd": 0,
          "note": "free during the beta. AI functions use the person's own Claude Code or Codex plan"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "tinyspace.ai",
        "domainRegistered": "2026-07-02",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://www.tinyspace.ai/mumble/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The site names the maker only as \"tiny space, an independent product lab\". No legal entity, company number or address was found on any page in the sitemap.",
          "No terms of use or legal privacy policy was found. /terms, /privacy, /mumble/terms and /mumble/pricing return 404. The privacy link is a data-flow page, \"What leaves your Mac\", with no controller named.",
          "RDAP for tinyspace.ai gives a registration date of 2026-07-02 through Cloudflare Registrar, with the registrant country GB and other registrant data redacted.",
          "www.tinyspace.ai/.well-known/security.txt returns 404.",
          "robots.txt allows all paths except /api/ and /confirmed. Neither was fetched.",
          "No GitHub repository for Mumble or `mumble-mcp` was found through GitHub search, and neither `@mumble/core` nor `mumble-mcp` is on npm."
        ],
        "score": 16
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mumble.json",
      "live": {
        "slug": "mumble",
        "pages": [
          {
            "url": "https://www.tinyspace.ai/mumble",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:18:06.178841242Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "60045050cf24"
          },
          {
            "url": "https://www.tinyspace.ai/mumble/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-14T21:18:08.205956187Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5969b7ce2cf7"
          }
        ],
        "updatedAt": "2026-10-14T21:18:08.205956187Z"
      }
    },
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "D2 project (The Hack Foundation)",
        "b": "tiny space",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Your plan",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MPL-2.0",
        "b": "No licence, terms of use or source repository was found on tinyspace.ai or GitHub (checked 2026-10-14). The app and the `mumble-mcp` binary are not published as open source",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-07",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "26k stars, 22k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "D2 scores 65.3 (B) on agent readiness against Mumble's 7.5 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, D2 or Mumble?"
      },
      {
        "answer": "D2 is open source (MPL-2.0). No open-source release is listed for Mumble.",
        "question": "Are D2 and Mumble open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 5",
          "Schema \u0026 documentation, 65 against 10",
          "Agent ergonomics, 78 against 0",
          "Security \u0026 auth, 48 against 0",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 74 against 0",
          "Transparency \u0026 trust, 69 against 13"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Agents that need to produce or edit architecture, sequence, grid, SQL table or class diagrams as reviewable text and render them locally.",
        "slug": "d2",
        "watchFor": "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"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A person on a Mac with early access who wants a live, transcript-linked diagram of a call or workshop, kept as plain files in git, and who already pays for Claude Code or Codex.",
        "slug": "mumble",
        "watchFor": "No API or MCP server an outside agent can call. The documented `mumble-mcp` binary has no public download, package or repository (checked 14 October 2026)"
      }
    ],
    "job": {
      "capability": "diagram.create",
      "name": "Diagram creation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-d2.json",
        "title": "Cloudviz API vs D2",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-d2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-mumble.json",
        "title": "Cloudviz API vs Mumble",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-diagrams-so.json",
        "title": "D2 vs Diagrams.so API + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-diagrams-so"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-mural-mcp.json",
        "title": "D2 vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-whimsical.json",
        "title": "D2 vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-mumble.json",
        "title": "Diagrams.so API + MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-mumble.json",
        "title": "draw.io + MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eraser-vs-mumble.json",
        "title": "Eraser API + MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excaliclaw-vs-mumble.json",
        "title": "ExcaliClaw vs Mumble",
        "url": "https://www.anchorterminal.com/compare/excaliclaw-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-mumble.json",
        "title": "Excalidraw vs Mumble",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-mumble.json",
        "title": "Kroki vs Mumble",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lucid-vs-mumble.json",
        "title": "Lucid API + MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/lucid-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mermaid-chart-vs-mumble.json",
        "title": "Mermaid Chart MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/mermaid-chart-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mumble-vs-mural-mcp.json",
        "title": "Mumble vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/mumble-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mumble-vs-plantuml.json",
        "title": "Mumble vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/mumble-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mumble-vs-structurizr.json",
        "title": "Mumble vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/mumble-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mumble-vs-tldraw.json",
        "title": "Mumble vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/mumble-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mumble-vs-whimsical.json",
        "title": "Mumble vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/mumble-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-drawio.json",
        "title": "D2 vs draw.io + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-drawio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-eraser.json",
        "title": "D2 vs Eraser API + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-eraser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-excaliclaw.json",
        "title": "D2 vs ExcaliClaw",
        "url": "https://www.anchorterminal.com/compare/d2-vs-excaliclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-excalidraw.json",
        "title": "D2 vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/d2-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-kroki.json",
        "title": "D2 vs Kroki",
        "url": "https://www.anchorterminal.com/compare/d2-vs-kroki"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-lucid.json",
        "title": "D2 vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-mermaid-chart.json",
        "title": "D2 vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-plantuml.json",
        "title": "D2 vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/d2-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-structurizr.json",
        "title": "D2 vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-tldraw.json",
        "title": "D2 vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-tldraw"
      }
    ],
    "scores": [
      {
        "by": 63,
        "d2": 68,
        "edge": "d2",
        "key": "reliability",
        "mumble": 5,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 55,
        "d2": 65,
        "edge": "d2",
        "key": "schema",
        "mumble": 10,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 78,
        "d2": 78,
        "edge": "d2",
        "key": "ergonomics",
        "mumble": 0,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 48,
        "d2": 48,
        "edge": "d2",
        "key": "security",
        "mumble": 0,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 30,
        "d2": 60,
        "edge": "d2",
        "key": "payments",
        "mumble": 30,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 74,
        "d2": 74,
        "edge": "d2",
        "key": "maintenance",
        "mumble": 0,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 56,
        "d2": 69,
        "edge": "d2",
        "key": "transparency",
        "mumble": 13,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "D2 scores 65.3 (B) on agent readiness against Mumble's 7.5 (F), and leads in every scored category. Both do diagram creation.",
    "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.",
      "mumble": "Mumble keeps audio on the Mac and stores each conversation as plain files in ~/Mumble, with canvas JSON that diffs cleanly. There is no API or MCP server an outside agent can call today. The documented `mumble-mcp` has no public download, package or repository, and the app is reached only through an early-access waitlist."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/d2-vs-mumble",
    "json": "https://www.anchorterminal.com/compare/d2-vs-mumble.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/d2-vs-mumble.md",
    "slim": "https://www.anchorterminal.com/compare/d2-vs-mumble.min.md"
  },
  "markdown": "D2 scores 65.3 (B) on agent readiness against Mumble's 7.5 (F), and leads in every scored category. Both do diagram creation.\n\n- D2: grade B, 65.3/100, rank #343 of 1084. Markdown https://www.anchorterminal.com/tools/d2.md · JSON https://www.anchorterminal.com/api/v1/tools/d2.json\n- Mumble: grade F, 7.5/100, rank #1081 of 1084. Markdown https://www.anchorterminal.com/tools/mumble.md · JSON https://www.anchorterminal.com/api/v1/tools/mumble.json\n- Best diagramming APIs and diagram-as-code for AI agents: https://www.anchorterminal.com/best/diagramming/index.md\n- All 128 diagrams comparisons: https://www.anchorterminal.com/compare/diagramming/index.md\n\n## Which one, for what\n\n### D2 (B)\n\nGood for: Agents that need to produce or edit architecture, sequence, grid, SQL table or class diagrams as reviewable text and render them locally.\n\nAhead on:\n- Reliability, 68 against 5\n- Schema \u0026 documentation, 65 against 10\n- Agent ergonomics, 78 against 0\n- Security \u0026 auth, 48 against 0\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 74 against 0\n- Transparency \u0026 trust, 69 against 13\n\nAlso in its favour:\n- Open source\n\nWatch 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\n\n### Mumble (F)\n\nGood for: A person on a Mac with early access who wants a live, transcript-linked diagram of a call or workshop, kept as plain files in git, and who already pays for Claude Code or Codex.\n\nWatch for: No API or MCP server an outside agent can call. The documented `mumble-mcp` binary has no public download, package or repository (checked 14 October 2026)\n\n\n## Score by category\n\n| Category | Weight | D2 | Mumble | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 5 | D2 +63 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 10 | D2 +55 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 0 | D2 +78 |\n| Security \u0026 auth | 14% (17.5 this run) | 48 | 0 | D2 +48 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | D2 +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 74 | 0 | D2 +74 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 13 | D2 +56 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **65.3 · B** | **7.5 · F** | |\n\n## Facts side by side\n\n| Fact | D2 | Mumble |\n| --- | --- | --- |\n| Kind | SDK + MCP | Platform |\n| Vendor | D2 project (The Hack Foundation) | tiny space |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Your plan |\n| x402 | no | no |\n| Licence | MPL-2.0 | No licence, terms of use or source repository was found on tinyspace.ai or GitHub (checked 2026-10-14). The app and the `mumble-mcp` binary are not published as open source |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-07 | none |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 26k stars, 22k npm/wk | none |\n\n## Verdicts\n\n**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.\n\n**Mumble.** Mumble keeps audio on the Mac and stores each conversation as plain files in ~/Mumble, with canvas JSON that diffs cleanly. There is no API or MCP server an outside agent can call today. The documented `mumble-mcp` has no public download, package or repository, and the app is reached only through an early-access waitlist.\n\n## Before you call either\n\n### D2\n\n1. Check the exit status of `d2`, never the output file. The man page says a partial render can be written when an error occurs\n2. Run `d2 validate file.d2` before rendering, and `d2 fmt` to normalise the source\n3. Pass `-` for input and output and set `--stdout-format` (svg, png, ascii, txt, pdf, pptx or gif) to work without files\n4. Use `--stdout-format ascii` when the reader is a text-only model\n5. 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\n\n### Mumble\n\n1. Don't plan to call Mumble from another agent. Neither the app nor `mumble-mcp` can be obtained publicly, so hand the task to a person with early access\n2. Don't configure `/path/to/mumble-mcp` from the docs. It is a placeholder, and no binary is published\n3. If the person already has Mumble, read ~/Mumble/\u003ccapture\u003e/ directly, `capture.json` for the transcript and `diagram.canvas` for the map\n4. Keep canvas keys in schema order and never rename a node id, or the edges that name it are orphaned and the canvas is refused. Use git as the undo\n5. Don't write to a capture that is being recorded. The app doesn't merge the two versions\n\n## Questions\n\n### Which is better for AI agents, D2 or Mumble?\n\nD2 scores 65.3 (B) on agent readiness against Mumble's 7.5 (F), and leads in every scored category.\n\n### Are D2 and Mumble open source?\n\nD2 is open source (MPL-2.0). No open-source release is listed for Mumble.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/d2-vs-mumble.json, and with the fewest tokens: https://www.anchorterminal.com/compare/d2-vs-mumble.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"d2\", \"b\": \"mumble\"}`. From a terminal: `anchor compare d2 mumble`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/d2.json and https://www.anchorterminal.com/api/v1/tools/mumble.json\n\n## Other comparisons with D2 or Mumble\n\n- [Cloudviz API vs D2](https://www.anchorterminal.com/compare/cloudviz-vs-d2.md)\n- [Cloudviz API vs Mumble](https://www.anchorterminal.com/compare/cloudviz-vs-mumble.md)\n- [D2 vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/d2-vs-diagrams-so.md)\n- [D2 vs Mural MCP](https://www.anchorterminal.com/compare/d2-vs-mural-mcp.md)\n- [D2 vs Whimsical MCP](https://www.anchorterminal.com/compare/d2-vs-whimsical.md)\n- [Diagrams.so API + MCP vs Mumble](https://www.anchorterminal.com/compare/diagrams-so-vs-mumble.md)\n- [draw.io + MCP vs Mumble](https://www.anchorterminal.com/compare/drawio-vs-mumble.md)\n- [Eraser API + MCP vs Mumble](https://www.anchorterminal.com/compare/eraser-vs-mumble.md)\n- [ExcaliClaw vs Mumble](https://www.anchorterminal.com/compare/excaliclaw-vs-mumble.md)\n- [Excalidraw vs Mumble](https://www.anchorterminal.com/compare/excalidraw-vs-mumble.md)\n- [Kroki vs Mumble](https://www.anchorterminal.com/compare/kroki-vs-mumble.md)\n- [Lucid API + MCP vs Mumble](https://www.anchorterminal.com/compare/lucid-vs-mumble.md)\n- [Mermaid Chart MCP vs Mumble](https://www.anchorterminal.com/compare/mermaid-chart-vs-mumble.md)\n- [Mumble vs Mural MCP](https://www.anchorterminal.com/compare/mumble-vs-mural-mcp.md)\n- [Mumble vs PlantUML](https://www.anchorterminal.com/compare/mumble-vs-plantuml.md)\n- [Mumble vs Structurizr + MCP](https://www.anchorterminal.com/compare/mumble-vs-structurizr.md)\n- [Mumble vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mumble-vs-tldraw.md)\n- [Mumble vs Whimsical MCP](https://www.anchorterminal.com/compare/mumble-vs-whimsical.md)\n- [D2 vs draw.io + MCP](https://www.anchorterminal.com/compare/d2-vs-drawio.md)\n- [D2 vs Eraser API + MCP](https://www.anchorterminal.com/compare/d2-vs-eraser.md)\n- [D2 vs ExcaliClaw](https://www.anchorterminal.com/compare/d2-vs-excaliclaw.md)\n- [D2 vs Excalidraw](https://www.anchorterminal.com/compare/d2-vs-excalidraw.md)\n- [D2 vs Kroki](https://www.anchorterminal.com/compare/d2-vs-kroki.md)\n- [D2 vs Lucid API + MCP](https://www.anchorterminal.com/compare/d2-vs-lucid.md)\n- [D2 vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/d2-vs-mermaid-chart.md)\n- [D2 vs PlantUML](https://www.anchorterminal.com/compare/d2-vs-plantuml.md)\n- [D2 vs Structurizr + MCP](https://www.anchorterminal.com/compare/d2-vs-structurizr.md)\n- [D2 vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/d2-vs-tldraw.md)\n\n## Disclosure\n\n- Mumble is made by tiny space, the company of Quynh Tran-Thanh, a founder of Anchor Terminal. It's graded the same way as every listing, by the same published checklist with the same readings, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed. letme never picks it.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "D2 vs Mumble",
        "url": ""
      }
    ],
    "description": "D2 scores 65.3 (B) to Mumble's 7.5 (F) for diagram creation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "D2 B 65.3",
      "Mumble F 7.5",
      "scores"
    ],
    "h1": "D2 vs Mumble",
    "image": "https://www.anchorterminal.com/assets/og/compare-d2-vs-mumble.png",
    "path": "/compare/d2-vs-mumble",
    "published": "2026-10-01",
    "section": "tools",
    "title": "D2 vs Mumble for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/d2-vs-mumble"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 580
  },
  "version": 1
}
