{
  "data": {
    "a": {
      "slug": "diagrams-so",
      "name": "Diagrams.so API + MCP",
      "vendor": "Diagrams.so (RedHold LLC)",
      "vendorUrl": "https://diagrams.so",
      "kind": "http-api",
      "category": "diagramming",
      "summary": "Turns a plain-English description into an editable draw.io diagram with cloud icons (AWS, Azure, GCP, OCI, Kubernetes).",
      "url": "https://www.anchorterminal.com/tools/diagrams-so",
      "markdownUrl": "https://www.anchorterminal.com/tools/diagrams-so.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/diagrams-so.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/diagrams-so.json",
      "repo": "https://github.com/RedHold/diagrams-sdk",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.diagrams.so/api/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@diagrams-so/mcp"
        },
        {
          "registry": "npm",
          "name": "@diagrams-so/sdk"
        },
        {
          "registry": "pypi",
          "name": "diagrams-so"
        }
      ],
      "auth": "mixed",
      "authNotes": "API keys (dgz_live_ and dgz_test_) as a Bearer header, revocable at once, with a cap of 25 active keys. Test keys spend real credits. The MCP server and SDKs can instead log in through a device flow (npx @diagrams-so/mcp@latest login), where the one-time code is emailed (set DIAGRAMS_LOGIN_EMAIL for the in-chat path) and the credential is cached at ~/.diagrams-so/credentials.json. DIAGRAMS_API_KEY works for CI.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with 10 one-time credits, no card, public diagrams and watermarked exports. Pro $15 a month or $10 a month billed yearly (75 credits a month), Power $25 a month or $16.67 billed yearly (250 credits). Credit packs $5 per 25. API, MCP and SDKs are on every plan and use the same credits as the app. Reads, exports and prompt helpers are free. Per-action credit costs are shown in the app; the SDK changelog gives 0.5 to 3.0 credits for generate, edit, fix and re-layout. A bring-your-own LLM key skips plan credits. 14-day money-back guarantee on the first paid subscription (https://diagrams.so/pricing).",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 172,
        "pypiWeekly": 3,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://diagrams.so/developers",
      "llmsTxt": "https://diagrams.so/llms.txt",
      "openapi": "https://api.diagrams.so/api/v2/openapi.json",
      "registryName": "io.github.RedHold/diagrams-so-mcp",
      "capabilities": [
        "diagram.create",
        "diagram.edit",
        "diagram.export",
        "diagram.architecture"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-08-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60,
        "grade": "C",
        "agentReady": false,
        "rank": 531,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 71,
          "payments": 32,
          "reliability": 30,
          "schema": 85,
          "security": 67,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "Early August 2026. The API moved its device login to an emailed code without notice, which broke the MCP server's in-chat connect path and sent one rejected request per tool call until v1.4.6 fixed it on 19 August. Fixed and documented in the server's changelog, so the deduction is reduced (https://github.com/RedHold/diagrams-mcp-app-core/blob/main/CHANGELOG.md)."
        ],
        "verdict": "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.",
        "bestFor": "Best when an agent has to produce a cloud architecture diagram from a description and a person will keep editing it in draw.io.",
        "strengths": [
          "API, MCP and SDKs on every plan, including a Free plan marked \"No Card Required\"",
          "OpenAPI 3.1 with 32 operations, and an Idempotency-Key on every billable call",
          "All 23 MCP tools carry readOnlyHint or destructiveHint annotations",
          "Editable draw.io XML output with Well-Architected warnings and a fix tool",
          "Terms promise 90 days' notice before a major API version is retired"
        ],
        "weaknesses": [
          "No status page or SLA, and the terms disclaim any service-level commitment",
          "Rate limits exist per key and per IP but no numbers are published",
          "Per-action credit costs are shown only in the app",
          "Domain registered in February 2026, and no commits to either repo since 19 August 2026",
          "Login is a device flow a person must approve by email, so there's no autonomous signup"
        ],
        "agentNotes": [
          "Send an Idempotency-Key on generate, edit, fix and re-layout. If a billable call times out, check `get_usage_history` before retrying",
          "Generation is synchronous and can run for minutes. The SDKs default to a 450 s timeout, or use `POST /diagrams/stream`",
          "Call `list_capabilities` first. `cloud_provider` and `diagram_type` are free strings, and a wrong value fails the call",
          "`relayout_diagram` refuses to run without `confirm=true`, because every re-layout is billed",
          "Test keys (dgz_test_) spend the same credits as live keys"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 71,
          "payments": 32,
          "reliability": 30,
          "schema": 85,
          "security": 67,
          "transparency": 75
        },
        "provenanceScore": 73
      },
      "connect": {
        "http": "curl https://api.diagrams.so/api/v2/diagrams -H \"Authorization: Bearer $DIAGRAMS_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"prompt\":\"A 3-tier web app on AWS with an ALB, EC2 Auto Scaling and RDS Postgres\",\"cloud_provider\":\"aws\"}'",
        "claudeCode": "claude mcp add diagrams-so -- npx -y @diagrams-so/mcp@latest",
        "config": {
          "mcpServers": {
            "diagrams-so": {
              "args": [
                "-y",
                "@diagrams-so/mcp@latest"
              ],
              "command": "npx",
              "env": {
                "DIAGRAMS_API_KEY": "${DIAGRAMS_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/diagrams-so"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 15,
          "note": "75 credits a month. $10 a month billed yearly"
        },
        {
          "item": "Power plan",
          "unit": "month",
          "usd": 25,
          "note": "250 credits a month. $16.67 a month billed yearly"
        },
        {
          "item": "Credit pack",
          "unit": "credit",
          "usd": 0.2,
          "note": "$5 per 25 credits, pack credits don't expire"
        }
      ],
      "provenance": {
        "legalEntity": "RedHold LLC",
        "domain": "diagrams.so",
        "domainRegistered": "2026-02-05",
        "endpointOnVendorDomain": true,
        "terms": "https://diagrams.so/policy/terms",
        "privacy": "https://diagrams.so/policy/privacy",
        "statusPage": "",
        "changelog": "https://diagrams.so/developers/resources/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "RedHold LLC is a Virginia limited liability company at 8401 Mayland Dr, STE S, Richmond, VA 23294 (from the terms of service effective 15 September 2026). We couldn't load a state registry record to confirm it independently",
          "The status and SLA page says a status page will be linked once it is live",
          "security.txt not rechecked on 2026-10-01; valid per the 30 September check"
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/diagrams-so.json",
      "live": {
        "slug": "diagrams-so",
        "probe": {
          "target": "https://api.diagrams.so/api/v2",
          "method": "get",
          "lastAt": "2026-10-10T02:54:53.225066589Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 355,
          "authRequired": false,
          "uptime24h": 97.59,
          "uptime30d": 96.88,
          "p50ms24h": 345,
          "p95ms24h": 410,
          "samples24h": 249,
          "samples30d": 2466,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 33
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 268
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 240
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 264
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 264
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 263
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 263
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 265
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 255
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 244
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ],
          "outages": [
            {
              "start": "2026-10-08T06:25:49.394598064Z",
              "end": "2026-10-08T06:41:57.050004221Z",
              "note": "timed out"
            },
            {
              "start": "2026-10-07T10:53:46.415214405Z",
              "end": "2026-10-07T11:09:10.176665383Z",
              "note": "timed out"
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.RedHold/diagrams-so-mcp",
            "version": "1.4.6",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@diagrams-so/mcp",
            "version": "1.4.6",
            "seenAt": "2026-10-09T16:49:32.017168489Z"
          },
          {
            "registry": "npm",
            "name": "@diagrams-so/sdk",
            "version": "1.3.0",
            "seenAt": "2026-10-09T16:49:33.014522775Z"
          },
          {
            "registry": "pypi",
            "name": "diagrams-so",
            "version": "1.3.0",
            "released": "2026-08-05",
            "seenAt": "2026-10-09T16:49:34.228339378Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 108,
        "pypiWeekly": 9,
        "securityTxt": {
          "url": "https://diagrams.so/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-01T00:00:00Z",
          "checkedAt": "2026-10-09T15:39:30.400702532Z"
        },
        "llmsTxt": {
          "url": "https://diagrams.so/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:48.19514692Z"
        },
        "domain": {
          "domain": "diagrams.so",
          "checkedAt": "2026-10-04T13:04:27.501679981Z"
        },
        "pages": [
          {
            "url": "https://diagrams.so/developers/resources/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:20.203766761Z",
            "changedAt": "2026-10-09T18:36:20.203766761Z",
            "fingerprint": "2352fc480807"
          },
          {
            "url": "https://diagrams.so/policy/terms",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:24.328503571Z",
            "changedAt": "2026-10-09T18:36:24.328503571Z",
            "fingerprint": "d4711e003b74"
          },
          {
            "url": "https://diagrams.so/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:26.303065707Z",
            "changedAt": "2026-10-09T18:36:26.303065707Z",
            "fingerprint": "ce72cb777170"
          },
          {
            "url": "https://diagrams.so/policy/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:22.469426029Z",
            "changedAt": "2026-10-09T18:36:22.469426029Z",
            "fingerprint": "7b3f99c4dd9c"
          }
        ],
        "updatedAt": "2026-10-10T02:54:53.225066589Z"
      }
    },
    "answer": "Diagrams.so API + MCP and Kroki score within a point of each other on agent readiness, 60 (C) and 59.2 (C). Kroki leads on reliability, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "kroki",
      "name": "Kroki",
      "vendor": "Yuzu tech",
      "vendorUrl": "https://kroki.io",
      "kind": "http-api",
      "category": "diagramming",
      "summary": "Kroki is an open-source HTTP server from Yuzu tech that converts diagram text in 29 formats, including PlantUML, Mermaid, GraphViz and D2, into SVG, PNG or PDF. Owners run it from Docker images, and kroki.io is a free public instance.",
      "url": "https://www.anchorterminal.com/tools/kroki",
      "markdownUrl": "https://www.anchorterminal.com/tools/kroki.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kroki.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kroki.json",
      "repo": "https://github.com/yuzutech/kroki",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "yuzutech/kroki"
        },
        {
          "registry": "oci",
          "name": "yuzutech/kroki-mermaid"
        },
        {
          "registry": "oci",
          "name": "yuzutech/kroki-bpmn"
        },
        {
          "registry": "oci",
          "name": "yuzutech/kroki-excalidraw"
        }
      ],
      "auth": "none",
      "authNotes": "No account, key or login on the convert endpoints, on a self-hosted server or on the public instance at kroki.io. The server binds all interfaces on port 8000 unless `KROKI_LISTEN` says otherwise. An optional bearer token, `KROKI_COMPANION_REGISTRATION_TOKEN`, protects only the `/services` registration API, which is off by default.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy. The public instance at kroki.io is free and paid for by sponsors, for reasonable, non-commercial use with no uptime guarantee. Third parties sell hosting, which the project says it does not operate.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4365,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.kroki.io/kroki/setup/usage/",
      "capabilities": [
        "diagram.as-code",
        "diagram.create",
        "diagram.export",
        "diagram.architecture"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "http-api",
        "docker",
        "diagram-as-code",
        "plantuml",
        "mermaid",
        "graphviz",
        "no-auth",
        "free"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.2,
        "grade": "C",
        "agentReady": false,
        "rank": 558,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 86,
          "payments": 60,
          "reliability": 74,
          "schema": 48,
          "security": 56,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -5,
        "negativeNotes": [
          "27 July to 12 August 2026. Four advisories on the repository. GHSA-wmpp-fj9c-w766 (critical, CVSS 9.8) allowed unauthenticated remote code execution on `/tikz/svg` in 0.21.0 up to 0.32.0 whatever the safe mode. GHSA-r54f-fq6c-53vw (high, CVE-2026-102359), GHSA-px99-rjv4-49g8 (medium, CVE-2026-102356) and GHSA-9p7m-vrmg-qp4q (high) let TikZ, Mermaid and Vega diagrams read local files or fetch URLs in `SECURE` mode. All are fixed, in 0.32.1 at the latest, and the maintainers published each with a changelog entry, so the deduction is five points (https://github.com/yuzutech/kroki/security/advisories)."
        ],
        "verdict": "One unauthenticated POST with diagram text returns an image for 29 diagram types, and five versions shipped between 15 July and 5 October 2026. Four advisories were published in July and August 2026, one an unauthenticated remote code execution on `/tikz/svg`, all fixed. No OpenAPI file exists, and the public instance has no terms, privacy policy or status page.",
        "bestFor": "Agents that write diagrams in several text formats and want one render endpoint, on a private network or through the public instance for non-sensitive diagrams.",
        "strengths": [
          "`POST /` with `diagram_source`, `diagram_type` and `output_format`, or plain text to `/\u003ctype\u003e/\u003cformat\u003e`, returns the image. No account or key",
          "One API covers 29 diagram types, among them PlantUML, C4, Structurizr, Mermaid, GraphViz, D2, DBML, BPMN, Excalidraw and Vega",
          "`KROKI_SAFE_MODE` defaults to `SECURE`, which blocks file and network reads by diagram libraries, and the container runs as the non-root user `kroki`",
          "Five versions shipped between 15 July and 5 October 2026, and the `main.yaml` workflow passed on the last ten pushes to `main`",
          "MIT licence. The maintainers published four security advisories in 2026, each with a fixed version and a changelog entry"
        ],
        "weaknesses": [
          "GHSA-wmpp-fj9c-w766 (CVSS 9.8) allowed unauthenticated remote code execution on `/tikz/svg` in versions 0.21.0 up to 0.32.0, whatever the safe mode. Fixed 3 August 2026",
          "Three more advisories in July and August 2026 let TikZ, Mermaid and Vega diagrams read local files or fetch URLs in `SECURE` mode. All are fixed in 0.32.1",
          "No OpenAPI file, llms.txt or error catalogue. The JSON error shape is in the source and not in the documentation",
          "The public instance at kroki.io has no terms, privacy policy, status page or published rate limit. The CLI page limits the demonstration server to reasonable, non-commercial use",
          "The server has no authentication on its convert endpoints and binds all interfaces on port 8000 by default. The version is 0.33.0, with no 1.0"
        ],
        "agentNotes": [
          "Send `POST /\u003ctype\u003e/\u003cformat\u003e` with `Content-Type: text/plain` and the diagram as the body. This avoids the deflate and base64 encoding that GET needs",
          "Send `Accept: application/json` on a JSON request to get errors as `{\"error\": {\"code\", \"message\"}}`. With an SVG Accept header the error arrives as an image",
          "Call `GET /health` first to list the diagram types and library versions the instance has. Mermaid, BPMN, Excalidraw and diagrams.net need companion containers",
          "Run 0.32.1 or later before rendering untrusted text. Earlier versions allow remote code execution through `/tikz/svg` and file reads in `SECURE` mode",
          "Self-host for private diagrams with `docker run -p8000:8000 yuzutech/kroki`, and set `KROKI_LISTEN=127.0.0.1:8000` or a network rule, since the server has no authentication"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.2
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 86,
          "payments": 60,
          "reliability": 74,
          "schema": 48,
          "security": 56,
          "transparency": 67
        },
        "provenanceScore": 56
      },
      "connect": {
        "install": "docker run -p8000:8000 yuzutech/kroki",
        "http": "curl https://kroki.io/graphviz/svg --data-raw 'digraph G {Hello-\u003eWorld}'"
      },
      "letme": {
        "capability": "https://letme.dev/diagram.as-code",
        "tool": "https://letme.dev/kroki"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "Yuzu tech, a French software firm. No registered legal form found",
        "domain": "kroki.io",
        "domainRegistered": "2019-01-06",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/yuzutech/kroki/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The kroki.io home page says Kroki is built and maintained by Yuzu tech, and links https://yuzutech.fr, whose pages name no legal form or registration number. `LICENSE` reads Copyright (c) 2020-present Kroki",
          "No terms or privacy document was found on kroki.io or docs.kroki.io, for the software or for the public instance. The MIT licence stands in for the software",
          "https://kroki.io/.well-known/security.txt answered 404 on 9 October 2026. `SECURITY.md` asks for reports through a private GitHub security advisory",
          "The lead wrote the vendor as Yuzutech. The site writes Yuzu tech, and the GitHub organisation is `yuzutech`",
          "The endpoint on the vendor's domain is the free public instance. The listing grades the server an owner runs"
        ],
        "score": 56
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kroki.json",
      "live": {
        "slug": "kroki",
        "versions": [
          {
            "registry": "github",
            "name": "yuzutech/kroki",
            "version": "v0.33.0",
            "released": "2026-10-05",
            "seenAt": "2026-10-09T17:00:57.82489933Z"
          }
        ],
        "githubStars": 4365,
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/yuzutech/kroki/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:31.151891385Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3e34fa594488"
          }
        ],
        "updatedAt": "2026-10-09T18:46:31.151891385Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Diagrams.so (RedHold LLC)",
        "b": "Yuzu tech",
        "name": "Vendor"
      },
      {
        "a": "https://api.diagrams.so/api/v2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "23",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.RedHold/diagrams-so-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-19",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "2026-09-15",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-15",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars, 172 npm/wk, 3 PyPI/wk",
        "b": "4.4k stars",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Diagrams.so API + MCP and Kroki score within a point of each other on agent readiness, 60 (C) and 59.2 (C). Kroki leads on reliability, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Diagrams.so API + MCP or Kroki?"
      },
      {
        "answer": "Diagrams.so API + MCP takes an API key or an OAuth sign-in. Kroki needs no key.",
        "question": "Do Diagrams.so API + MCP and Kroki need an API key?"
      },
      {
        "answer": "Diagrams.so API + MCP has a hosted endpoint at https://api.diagrams.so/api/v2. No hosted endpoint is listed for Kroki.",
        "question": "Can an agent call Diagrams.so API + MCP and Kroki without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Diagrams.so API + MCP. Kroki is open source (MIT).",
        "question": "Are Diagrams.so API + MCP and Kroki open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 48",
          "Agent ergonomics, 85 against 70",
          "Security \u0026 auth, 67 against 56",
          "Transparency \u0026 trust, 74 against 62"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Best when an agent has to produce a cloud architecture diagram from a description and a person will keep editing it in draw.io.",
        "slug": "diagrams-so",
        "watchFor": "No status page or SLA, and the terms disclaim any service-level commitment"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 30",
          "Payments \u0026 pricing, 60 against 32",
          "Maintenance \u0026 community, 86 against 71"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Agents that write diagrams in several text formats and want one render endpoint, on a private network or through the public instance for non-sensitive diagrams.",
        "slug": "kroki",
        "watchFor": "GHSA-wmpp-fj9c-w766 (CVSS 9.8) allowed unauthenticated remote code execution on `/tikz/svg` in versions 0.21.0 up to 0.32.0, whatever the safe mode. Fixed 3 August 2026"
      }
    ],
    "job": {
      "capability": "diagram.create",
      "name": "Diagram creation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.json",
        "title": "Cloudviz API vs Diagrams.so API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-kroki.json",
        "title": "Cloudviz API vs Kroki",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-kroki"
      },
      {
        "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/diagrams-so-vs-drawio.json",
        "title": "Diagrams.so API + MCP vs draw.io + MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-drawio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-eraser.json",
        "title": "Diagrams.so API + MCP vs Eraser API + MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-eraser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.json",
        "title": "Diagrams.so API + MCP vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-lucid.json",
        "title": "Diagrams.so API + MCP vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-mermaid-chart.json",
        "title": "Diagrams.so API + MCP vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.json",
        "title": "Diagrams.so API + MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.json",
        "title": "Diagrams.so API + MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.json",
        "title": "Diagrams.so API + MCP vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.json",
        "title": "Diagrams.so API + MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-whimsical.json",
        "title": "Diagrams.so API + MCP vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-kroki.json",
        "title": "draw.io + MCP vs Kroki",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-kroki"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eraser-vs-kroki.json",
        "title": "Eraser API + MCP vs Kroki",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-kroki"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-kroki.json",
        "title": "Excalidraw vs Kroki",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-kroki"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-mural-mcp.json",
        "title": "Kroki vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-whimsical.json",
        "title": "Kroki vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-whimsical"
      },
      {
        "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/kroki-vs-lucid.json",
        "title": "Kroki vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-mermaid-chart.json",
        "title": "Kroki vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-plantuml.json",
        "title": "Kroki vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-structurizr.json",
        "title": "Kroki vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-tldraw.json",
        "title": "Kroki vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-tldraw"
      }
    ],
    "scores": [
      {
        "by": 44,
        "diagrams-so": 30,
        "edge": "kroki",
        "key": "reliability",
        "kroki": 74,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "diagrams-so": 85,
        "edge": "diagrams-so",
        "key": "schema",
        "kroki": 48,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 15,
        "diagrams-so": 85,
        "edge": "diagrams-so",
        "key": "ergonomics",
        "kroki": 70,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 11,
        "diagrams-so": 67,
        "edge": "diagrams-so",
        "key": "security",
        "kroki": 56,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 28,
        "diagrams-so": 32,
        "edge": "kroki",
        "key": "payments",
        "kroki": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "diagrams-so": 71,
        "edge": "kroki",
        "key": "maintenance",
        "kroki": 86,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 12,
        "diagrams-so": 74,
        "edge": "diagrams-so",
        "key": "transparency",
        "kroki": 62,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Diagrams.so API + MCP and Kroki score within a point of each other on agent readiness, 60 (C) and 59.2 (C). Kroki leads on reliability, payments \u0026 pricing and maintenance \u0026 community. Both do diagram creation.",
    "verdicts": {
      "diagrams-so": "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.",
      "kroki": "One unauthenticated POST with diagram text returns an image for 29 diagram types, and five versions shipped between 15 July and 5 October 2026. Four advisories were published in July and August 2026, one an unauthenticated remote code execution on `/tikz/svg`, all fixed. No OpenAPI file exists, and the public instance has no terms, privacy policy or status page."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/diagrams-so-vs-kroki",
    "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.md",
    "slim": "https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.min.md"
  },
  "markdown": "Diagrams.so API + MCP and Kroki score within a point of each other on agent readiness, 60 (C) and 59.2 (C). Kroki leads on reliability, payments \u0026 pricing and maintenance \u0026 community. Both do diagram creation.\n\n- Diagrams.so API + MCP: grade C, 60/100, rank #531 of 950. Markdown https://www.anchorterminal.com/tools/diagrams-so.md · JSON https://www.anchorterminal.com/api/v1/tools/diagrams-so.json\n- Kroki: grade C, 59.2/100, rank #558 of 950. Markdown https://www.anchorterminal.com/tools/kroki.md · JSON https://www.anchorterminal.com/api/v1/tools/kroki.json\n- Best diagramming APIs and diagram-as-code for AI agents: https://www.anchorterminal.com/best/diagramming/index.md\n- All 99 diagrams comparisons: https://www.anchorterminal.com/compare/diagramming/index.md\n\n## Which one, for what\n\n### Diagrams.so API + MCP (C)\n\nGood 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.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 48\n- Agent ergonomics, 85 against 70\n- Security \u0026 auth, 67 against 56\n- Transparency \u0026 trust, 74 against 62\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: No status page or SLA, and the terms disclaim any service-level commitment\n\n### Kroki (C)\n\nGood for: Agents that write diagrams in several text formats and want one render endpoint, on a private network or through the public instance for non-sensitive diagrams.\n\nAhead on:\n- Reliability, 74 against 30\n- Payments \u0026 pricing, 60 against 32\n- Maintenance \u0026 community, 86 against 71\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: GHSA-wmpp-fj9c-w766 (CVSS 9.8) allowed unauthenticated remote code execution on `/tikz/svg` in versions 0.21.0 up to 0.32.0, whatever the safe mode. Fixed 3 August 2026\n\n\n## Score by category\n\n| Category | Weight | Diagrams.so API + MCP | Kroki | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 74 | Kroki +44 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 48 | Diagrams.so API + MCP +37 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 70 | Diagrams.so API + MCP +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 56 | Diagrams.so API + MCP +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 32 | 60 | Kroki +28 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 86 | Kroki +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 62 | Diagrams.so API + MCP +12 |\n| Negative events | ≤15 | -2 | -5 | |\n| **Total** | | **60 · C** | **59.2 · C** | |\n\n## Facts side by side\n\n| Fact | Diagrams.so API + MCP | Kroki |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Diagrams.so (RedHold LLC) | Yuzu tech |\n| Hosted endpoint | `https://api.diagrams.so/api/v2` | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT |\n| Tools exposed | 23 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `io.github.RedHold/diagrams-so-mcp` | not listed |\n| Last release | 2026-08-19 | 2026-10-05 |\n| Terms last updated | 2026-09-15 | no document linked |\n| Privacy policy last updated | 2026-09-15 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 0 stars, 172 npm/wk, 3 PyPI/wk | 4.4k stars |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**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.\n\n**Kroki.** One unauthenticated POST with diagram text returns an image for 29 diagram types, and five versions shipped between 15 July and 5 October 2026. Four advisories were published in July and August 2026, one an unauthenticated remote code execution on `/tikz/svg`, all fixed. No OpenAPI file exists, and the public instance has no terms, privacy policy or status page.\n\n## Before you call either\n\n### Diagrams.so API + MCP\n\n1. Send an Idempotency-Key on generate, edit, fix and re-layout. If a billable call times out, check `get_usage_history` before retrying\n2. Generation is synchronous and can run for minutes. The SDKs default to a 450 s timeout, or use `POST /diagrams/stream`\n3. Call `list_capabilities` first. `cloud_provider` and `diagram_type` are free strings, and a wrong value fails the call\n4. `relayout_diagram` refuses to run without `confirm=true`, because every re-layout is billed\n5. Test keys (dgz_test_) spend the same credits as live keys\n\n### Kroki\n\n1. Send `POST /\u003ctype\u003e/\u003cformat\u003e` with `Content-Type: text/plain` and the diagram as the body. This avoids the deflate and base64 encoding that GET needs\n2. Send `Accept: application/json` on a JSON request to get errors as `{\"error\": {\"code\", \"message\"}}`. With an SVG Accept header the error arrives as an image\n3. Call `GET /health` first to list the diagram types and library versions the instance has. Mermaid, BPMN, Excalidraw and diagrams.net need companion containers\n4. Run 0.32.1 or later before rendering untrusted text. Earlier versions allow remote code execution through `/tikz/svg` and file reads in `SECURE` mode\n5. Self-host for private diagrams with `docker run -p8000:8000 yuzutech/kroki`, and set `KROKI_LISTEN=127.0.0.1:8000` or a network rule, since the server has no authentication\n\n## Questions\n\n### Which is better for AI agents, Diagrams.so API + MCP or Kroki?\n\nDiagrams.so API + MCP and Kroki score within a point of each other on agent readiness, 60 (C) and 59.2 (C). Kroki leads on reliability, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Diagrams.so API + MCP and Kroki need an API key?\n\nDiagrams.so API + MCP takes an API key or an OAuth sign-in. Kroki needs no key.\n\n### Can an agent call Diagrams.so API + MCP and Kroki without installing anything?\n\nDiagrams.so API + MCP has a hosted endpoint at https://api.diagrams.so/api/v2. No hosted endpoint is listed for Kroki.\n\n### Are Diagrams.so API + MCP and Kroki open source?\n\nNo open-source release is listed for Diagrams.so API + MCP. Kroki is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.json, and with the fewest tokens: https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"diagrams-so\", \"b\": \"kroki\"}`. From a terminal: `anchor compare diagrams-so kroki`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/diagrams-so.json and https://www.anchorterminal.com/api/v1/tools/kroki.json\n\n## Other comparisons with Diagrams.so API + MCP or Kroki\n\n- [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md)\n- [Cloudviz API vs Kroki](https://www.anchorterminal.com/compare/cloudviz-vs-kroki.md)\n- [D2 vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/d2-vs-diagrams-so.md)\n- [Diagrams.so API + MCP vs draw.io + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-drawio.md)\n- [Diagrams.so API + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-eraser.md)\n- [Diagrams.so API + MCP vs Excalidraw](https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.md)\n- [Diagrams.so API + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-lucid.md)\n- [Diagrams.so API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mermaid-chart.md)\n- [Diagrams.so API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.md)\n- [Diagrams.so API + MCP vs PlantUML](https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.md)\n- [Diagrams.so API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md)\n- [Diagrams.so API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.md)\n- [Diagrams.so API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-whimsical.md)\n- [draw.io + MCP vs Kroki](https://www.anchorterminal.com/compare/drawio-vs-kroki.md)\n- [Eraser API + MCP vs Kroki](https://www.anchorterminal.com/compare/eraser-vs-kroki.md)\n- [Excalidraw vs Kroki](https://www.anchorterminal.com/compare/excalidraw-vs-kroki.md)\n- [Kroki vs Mural MCP](https://www.anchorterminal.com/compare/kroki-vs-mural-mcp.md)\n- [Kroki vs Whimsical MCP](https://www.anchorterminal.com/compare/kroki-vs-whimsical.md)\n- [D2 vs Kroki](https://www.anchorterminal.com/compare/d2-vs-kroki.md)\n- [Kroki vs Lucid API + MCP](https://www.anchorterminal.com/compare/kroki-vs-lucid.md)\n- [Kroki vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/kroki-vs-mermaid-chart.md)\n- [Kroki vs PlantUML](https://www.anchorterminal.com/compare/kroki-vs-plantuml.md)\n- [Kroki vs Structurizr + MCP](https://www.anchorterminal.com/compare/kroki-vs-structurizr.md)\n- [Kroki vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/kroki-vs-tldraw.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Diagrams.so API + MCP vs Kroki",
        "url": ""
      }
    ],
    "description": "Diagrams.so and Kroki score within a point of each other for diagram creation, 60 and 59.2 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Diagrams.so API + MCP C 60",
      "Kroki C 59.2",
      "scores"
    ],
    "h1": "Diagrams.so API + MCP vs Kroki",
    "image": "https://www.anchorterminal.com/assets/og/compare-diagrams-so-vs-kroki.png",
    "path": "/compare/diagrams-so-vs-kroki",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Diagrams.so vs Kroki for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-kroki"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 730
  },
  "version": 1
}
