{
  "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-10T03:53:25.667626406Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 347,
          "authRequired": false,
          "uptime24h": 98.39,
          "uptime30d": 96.89,
          "p50ms24h": 345,
          "p95ms24h": 410,
          "samples24h": 249,
          "samples30d": 2476,
          "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": 40,
              "ok": 40
            }
          ],
          "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.7",
            "seenAt": "2026-10-10T03:11:32.438759038Z"
          },
          {
            "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-10T03:53:25.667626406Z"
      }
    },
    "answer": "Diagrams.so API + MCP scores 60 (C) on agent readiness against Excalidraw's 54.5 (C), and leads in 4 of 7 scored categories. Excalidraw leads on reliability and security \u0026 auth.",
    "b": {
      "slug": "excalidraw",
      "name": "Excalidraw",
      "vendor": "Excalidraw s.r.o.",
      "vendorUrl": "https://plus.excalidraw.com",
      "kind": "http-api",
      "category": "diagramming",
      "summary": "Excalidraw is a hand-drawn style whiteboard and diagram editor from Excalidraw s.r.o. in Brno. Agents reach it through the Excalidraw+ REST API and MCP server (public beta), a free keyless MCP App, and the open-source editor on npm (MIT).",
      "url": "https://www.anchorterminal.com/tools/excalidraw",
      "markdownUrl": "https://www.anchorterminal.com/tools/excalidraw.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/excalidraw.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/excalidraw.json",
      "repo": "https://github.com/excalidraw/excalidraw",
      "license": "Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.excalidraw.com/api/v1/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@excalidraw/excalidraw"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person creates an API key in Excalidraw+ workspace settings, and the full key is shown once. Keys are sent as `Authorization: Bearer \u003cAPI_KEY\u003e`, belong to one workspace, take `read` or `full` permission or specific routes, and expire on a set date. Personal keys act as one member and need a workspace admin to enable them. Workspace keys act as the workspace. The free MCP App at https://mcp.excalidraw.com takes no credential.",
      "pricing": "freemium",
      "pricingNotes": "API and MCP access is listed under the Plus plan at $6 a user a month, 14 per cent less billed yearly, with a 14-day trial. The page does not say whether the trial takes a card. The Free plan, the free MCP App and the npm editor cost nothing, so an agent can draw without a contract but cannot reach a workspace (checked 2026-10-09).",
      "priceSummary": "$6 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs dump, the pricing page or the MCP App source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 37,
      "popularity": {
        "githubStars": 133534,
        "npmWeekly": 675606,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://plus.excalidraw.com/docs",
      "llmsTxt": "https://plus.excalidraw.com/llms.txt",
      "capabilities": [
        "diagram.create",
        "diagram.edit",
        "diagram.export",
        "diagram.as-code"
      ],
      "tags": [
        "hosted",
        "mcp",
        "api-key",
        "llms-txt",
        "freemium",
        "beta",
        "status-page",
        "soc2",
        "open-source",
        "typescript",
        "eu"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.5,
        "grade": "C",
        "agentReady": false,
        "rank": 683,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 44,
          "payments": 35,
          "reliability": 50,
          "schema": 65,
          "security": 73,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "Checked 2026-10-09. GHSA-39h7-pwv7-rc3x (CVE-2025-54881, medium), cross-site scripting in the Mermaid to Excalidraw conversion step, was published on 21 April 2026 and fixed in `@excalidraw/excalidraw` 0.18.1 and `@excalidraw/mermaid-to-excalidraw` 1.1.3. Fixed and published, so 2 points (https://github.com/excalidraw/excalidraw/security/advisories/GHSA-39h7-pwv7-rc3x)."
        ],
        "verdict": "Excalidraw+ keys carry read or full permission, route restrictions and an expiry, and the MCP server shows a key only the tools its routes allow. The API and MCP server are in public beta with breaking changes expected, sit behind the $6 Plus plan, and have no published OpenAPI file, SDK or idempotency keys.",
        "bestFor": "Teams already on Excalidraw+ that want agents to create and edit hand-drawn diagrams, slides and wireframes in a shared workspace, and one-off sketches through the free MCP App.",
        "strengths": [
          "API keys take `read` or `full` permission, route restrictions and an expiry, and can be rotated. The MCP server lists only the tools a key's routes allow",
          "`create_diagram` lays out nodes, edges and groups into editable shapes with bound arrows, and `take_screenshot` returns a PNG to check the result",
          "`search_scene_content` returns only matching elements, so an agent need not load a whole scene",
          "`llms.txt` and a 110 KB `llms-full.txt` carry the API and MCP docs, and `GET /logs` returns the workspace audit log",
          "A free MCP App at https://mcp.excalidraw.com needs no account or key, and the editor is MIT on npm with 675,606 downloads in the week to 7 October 2026"
        ],
        "weaknesses": [
          "The API and MCP server are in public beta. The docs say endpoints, tool names and schemas may change and to expect breaking changes",
          "API and MCP access needs the Plus plan at $6 a user a month. No per-call price, and no SDK for the API",
          "No OpenAPI file is linked from the docs, although the reference pages are generated from one. No idempotency keys and no SLA found",
          "The terms of use (in effect 1 June 2022) forbid access through a bot or script and do not mention the API. This matters before any probe is run",
          "The privacy policy is dated 29 April 2021 and names no AI providers. The sub-processor list sits in a script-drawn trust centre",
          "In the free MCP App, `create_view` is marked read-only yet stores a checkpoint for 30 days, and its reply names a `read_widget_context` tool the server does not register"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003cAPI_KEY\u003e` to https://api.excalidraw.com/api/v1. For MCP, use `POST /api/v1/mcp` only. The server is stateless and answers 405 to other methods",
          "Use a personal key to reach the owner's private collection with the collection ID `private`. A workspace admin must enable personal keys first",
          "Call `read_diagram_format`, `read_presentation_format` or `read_freeform_format` before the first scene write in a session",
          "Write with `edit_scene_content` and bind arrows through `startBinding` and `endBinding` with `tempId` references. `PUT /scenes/{sceneId}/content` removes every element left out of the request",
          "Stay under 600 requests a minute per IP and wait until `X-RateLimit-Reset` after a 429"
        ],
        "metrics": {
          "kind": "remote",
          "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": 54.5
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 44,
          "payments": 35,
          "reliability": 50,
          "schema": 65,
          "security": 73,
          "transparency": 45
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "npm install react react-dom @excalidraw/excalidraw",
        "http": "curl https://api.excalidraw.com/api/v1/collections \\\n  -H \"Authorization: Bearer \u003cAPI_KEY\u003e\"",
        "config": {
          "mcpServers": {
            "excalidraw": {
              "headers": {
                "Authorization": "Bearer \u003cAPI_KEY\u003e"
              },
              "type": "http",
              "url": "https://api.excalidraw.com/api/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/excalidraw"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Plus plan",
          "unit": "seat-month",
          "usd": 6,
          "note": "billed monthly, 14 per cent less billed yearly. API and MCP access, 100 AI requests a day"
        }
      ],
      "provenance": {
        "legalEntity": "Excalidraw s.r.o.",
        "domain": "excalidraw.com",
        "domainRegistered": "2020-01-03",
        "endpointOnVendorDomain": true,
        "terms": "https://plus.excalidraw.com/terms-of-service",
        "privacy": "https://plus.excalidraw.com/privacy-policy",
        "statusPage": "https://status.excalidraw.com",
        "changelog": "https://plus.excalidraw.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms of use and the privacy policy name Excalidraw s.r.o., Pražákova 1008/69, Brno 639 00, Czech Republic. The terms are governed by Czech law.",
          "The terms of use (published 30 May 2022) are the only terms found. They cover the Site and the subscription and do not mention the API or MCP server.",
          "The privacy policy is dated 29 April 2021. A DPA dated 13 January 2026 is at https://plus.excalidraw.com/data-processing-agreement-dpa.",
          "plus.excalidraw.com/.well-known/security.txt returns 404. excalidraw.com was not asked, because its robots.txt is ambiguous for unnamed agents.",
          "RDAP for excalidraw.com gives a registration date of 2020-01-03.",
          "The robots.txt files of api.excalidraw.com and status.excalidraw.com disallow every path."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/excalidraw.json",
      "live": {
        "slug": "excalidraw",
        "probe": {
          "target": "https://api.excalidraw.com/api/v1/mcp",
          "method": "get",
          "lastAt": "2026-10-10T03:53:26.942763537Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 336,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 336,
          "p95ms24h": 400,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.excalidraw.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:32.425887728Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "excalidraw/excalidraw",
            "version": "v0.18.1",
            "released": "2026-04-21",
            "seenAt": "2026-10-09T16:52:20.443420866Z"
          },
          {
            "registry": "npm",
            "name": "@excalidraw/excalidraw",
            "version": "0.18.1",
            "seenAt": "2026-10-09T16:52:19.575748854Z"
          }
        ],
        "githubStars": 133551,
        "npmWeekly": 675606,
        "pages": [
          {
            "url": "https://plus.excalidraw.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:35.623690787Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7a9250424db5"
          },
          {
            "url": "https://plus.excalidraw.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:37.662006429Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8328a24b3944"
          },
          {
            "url": "https://plus.excalidraw.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:39.940578591Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3dc978ec9eff"
          }
        ],
        "updatedAt": "2026-10-10T03:53:26.942763537Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Diagrams.so (RedHold LLC)",
        "b": "Excalidraw s.r.o.",
        "name": "Vendor"
      },
      {
        "a": "https://api.diagrams.so/api/v2",
        "b": "https://api.excalidraw.com/api/v1/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "23",
        "b": "37",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.RedHold/diagrams-so-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-19",
        "b": "2026-09-01",
        "name": "Last release"
      },
      {
        "a": "2026-09-15",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-15",
        "b": "2021-04-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars, 172 npm/wk, 3 PyPI/wk",
        "b": "134k stars, 676k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Diagrams.so API + MCP scores 60 (C) on agent readiness against Excalidraw's 54.5 (C), and leads in 4 of 7 scored categories. Excalidraw leads on reliability and security \u0026 auth.",
        "question": "Which is better for AI agents, Diagrams.so API + MCP or Excalidraw?"
      },
      {
        "answer": "Diagrams.so API + MCP takes an API key or an OAuth sign-in. Excalidraw needs an API key.",
        "question": "Do Diagrams.so API + MCP and Excalidraw need an API key?"
      },
      {
        "answer": "Yes. Diagrams.so API + MCP has a hosted endpoint at https://api.diagrams.so/api/v2 and Excalidraw at https://api.excalidraw.com/api/v1/mcp.",
        "question": "Can an agent call Diagrams.so API + MCP and Excalidraw without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Diagrams.so API + MCP. Excalidraw is open source (Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT).",
        "question": "Are Diagrams.so API + MCP and Excalidraw open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 65",
          "Agent ergonomics, 85 against 58",
          "Maintenance \u0026 community, 71 against 44",
          "Transparency \u0026 trust, 74 against 63"
        ],
        "also": [
          "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, 50 against 30",
          "Security \u0026 auth, 73 against 67"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams already on Excalidraw+ that want agents to create and edit hand-drawn diagrams, slides and wireframes in a shared workspace, and one-off sketches through the free MCP App.",
        "slug": "excalidraw",
        "watchFor": "The API and MCP server are in public beta. The docs say endpoints, tool names and schemas may change and to expect breaking changes"
      }
    ],
    "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-excalidraw.json",
        "title": "Cloudviz API vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-excalidraw"
      },
      {
        "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-kroki.json",
        "title": "Diagrams.so API + MCP vs Kroki",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-kroki"
      },
      {
        "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-excalidraw.json",
        "title": "draw.io + MCP vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eraser-vs-excalidraw.json",
        "title": "Eraser API + MCP vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-excalidraw"
      },
      {
        "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/excalidraw-vs-lucid.json",
        "title": "Excalidraw vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart.json",
        "title": "Excalidraw vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.json",
        "title": "Excalidraw vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-plantuml.json",
        "title": "Excalidraw vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-structurizr.json",
        "title": "Excalidraw vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.json",
        "title": "Excalidraw vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-whimsical.json",
        "title": "Excalidraw vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-excalidraw.json",
        "title": "D2 vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/d2-vs-excalidraw"
      }
    ],
    "scores": [
      {
        "by": 20,
        "diagrams-so": 30,
        "edge": "excalidraw",
        "excalidraw": 50,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "diagrams-so": 85,
        "edge": "diagrams-so",
        "excalidraw": 65,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 27,
        "diagrams-so": 85,
        "edge": "diagrams-so",
        "excalidraw": 58,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 6,
        "diagrams-so": 67,
        "edge": "excalidraw",
        "excalidraw": 73,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 3,
        "diagrams-so": 32,
        "edge": "excalidraw",
        "excalidraw": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "diagrams-so": 71,
        "edge": "diagrams-so",
        "excalidraw": 44,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 11,
        "diagrams-so": 74,
        "edge": "diagrams-so",
        "excalidraw": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Diagrams.so API + MCP scores 60 (C) on agent readiness against Excalidraw's 54.5 (C), and leads in 4 of 7 scored categories. Excalidraw leads on reliability and security \u0026 auth. 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.",
      "excalidraw": "Excalidraw+ keys carry read or full permission, route restrictions and an expiry, and the MCP server shows a key only the tools its routes allow. The API and MCP server are in public beta with breaking changes expected, sit behind the $6 Plus plan, and have no published OpenAPI file, SDK or idempotency keys."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw",
    "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.md",
    "slim": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.min.md"
  },
  "markdown": "Diagrams.so API + MCP scores 60 (C) on agent readiness against Excalidraw's 54.5 (C), and leads in 4 of 7 scored categories. Excalidraw leads on reliability and security \u0026 auth. 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- Excalidraw: grade C, 54.5/100, rank #683 of 950. Markdown https://www.anchorterminal.com/tools/excalidraw.md · JSON https://www.anchorterminal.com/api/v1/tools/excalidraw.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 65\n- Agent ergonomics, 85 against 58\n- Maintenance \u0026 community, 71 against 44\n- Transparency \u0026 trust, 74 against 63\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No status page or SLA, and the terms disclaim any service-level commitment\n\n### Excalidraw (C)\n\nGood for: Teams already on Excalidraw+ that want agents to create and edit hand-drawn diagrams, slides and wireframes in a shared workspace, and one-off sketches through the free MCP App.\n\nAhead on:\n- Reliability, 50 against 30\n- Security \u0026 auth, 73 against 67\n\nAlso in its favour:\n- Open source\n\nWatch for: The API and MCP server are in public beta. The docs say endpoints, tool names and schemas may change and to expect breaking changes\n\n\n## Score by category\n\n| Category | Weight | Diagrams.so API + MCP | Excalidraw | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 50 | Excalidraw +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 65 | Diagrams.so API + MCP +20 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 58 | Diagrams.so API + MCP +27 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 73 | Excalidraw +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 32 | 35 | Excalidraw +3 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 44 | Diagrams.so API + MCP +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 63 | Diagrams.so API + MCP +11 |\n| Negative events | ≤15 | -2 | -2 | |\n| **Total** | | **60 · C** | **54.5 · C** | |\n\n## Facts side by side\n\n| Fact | Diagrams.so API + MCP | Excalidraw |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Diagrams.so (RedHold LLC) | Excalidraw s.r.o. |\n| Hosted endpoint | `https://api.diagrams.so/api/v2` | `https://api.excalidraw.com/api/v1/mcp` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT |\n| Tools exposed | 23 | 37 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.RedHold/diagrams-so-mcp` | not listed |\n| Last release | 2026-08-19 | 2026-09-01 |\n| Terms last updated | 2026-09-15 | no date given |\n| Privacy policy last updated | 2026-09-15 | 2021-04-29 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 0 stars, 172 npm/wk, 3 PyPI/wk | 134k stars, 676k npm/wk |\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**Excalidraw.** Excalidraw+ keys carry read or full permission, route restrictions and an expiry, and the MCP server shows a key only the tools its routes allow. The API and MCP server are in public beta with breaking changes expected, sit behind the $6 Plus plan, and have no published OpenAPI file, SDK or idempotency keys.\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### Excalidraw\n\n1. Send `Authorization: Bearer \u003cAPI_KEY\u003e` to https://api.excalidraw.com/api/v1. For MCP, use `POST /api/v1/mcp` only. The server is stateless and answers 405 to other methods\n2. Use a personal key to reach the owner's private collection with the collection ID `private`. A workspace admin must enable personal keys first\n3. Call `read_diagram_format`, `read_presentation_format` or `read_freeform_format` before the first scene write in a session\n4. Write with `edit_scene_content` and bind arrows through `startBinding` and `endBinding` with `tempId` references. `PUT /scenes/{sceneId}/content` removes every element left out of the request\n5. Stay under 600 requests a minute per IP and wait until `X-RateLimit-Reset` after a 429\n\n## Questions\n\n### Which is better for AI agents, Diagrams.so API + MCP or Excalidraw?\n\nDiagrams.so API + MCP scores 60 (C) on agent readiness against Excalidraw's 54.5 (C), and leads in 4 of 7 scored categories. Excalidraw leads on reliability and security \u0026 auth.\n\n### Do Diagrams.so API + MCP and Excalidraw need an API key?\n\nDiagrams.so API + MCP takes an API key or an OAuth sign-in. Excalidraw needs an API key.\n\n### Can an agent call Diagrams.so API + MCP and Excalidraw without installing anything?\n\nYes. Diagrams.so API + MCP has a hosted endpoint at https://api.diagrams.so/api/v2 and Excalidraw at https://api.excalidraw.com/api/v1/mcp.\n\n### Are Diagrams.so API + MCP and Excalidraw open source?\n\nNo open-source release is listed for Diagrams.so API + MCP. Excalidraw is open source (Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.json, and with the fewest tokens: https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"diagrams-so\", \"b\": \"excalidraw\"}`. From a terminal: `anchor compare diagrams-so excalidraw`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/diagrams-so.json and https://www.anchorterminal.com/api/v1/tools/excalidraw.json\n\n## Other comparisons with Diagrams.so API + MCP or Excalidraw\n\n- [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md)\n- [Cloudviz API vs Excalidraw](https://www.anchorterminal.com/compare/cloudviz-vs-excalidraw.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 Kroki](https://www.anchorterminal.com/compare/diagrams-so-vs-kroki.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 Excalidraw](https://www.anchorterminal.com/compare/drawio-vs-excalidraw.md)\n- [Eraser API + MCP vs Excalidraw](https://www.anchorterminal.com/compare/eraser-vs-excalidraw.md)\n- [Excalidraw vs Kroki](https://www.anchorterminal.com/compare/excalidraw-vs-kroki.md)\n- [Excalidraw vs Lucid API + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-lucid.md)\n- [Excalidraw vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart.md)\n- [Excalidraw vs Mural MCP](https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.md)\n- [Excalidraw vs PlantUML](https://www.anchorterminal.com/compare/excalidraw-vs-plantuml.md)\n- [Excalidraw vs Structurizr + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-structurizr.md)\n- [Excalidraw vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.md)\n- [Excalidraw vs Whimsical MCP](https://www.anchorterminal.com/compare/excalidraw-vs-whimsical.md)\n- [D2 vs Excalidraw](https://www.anchorterminal.com/compare/d2-vs-excalidraw.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 Excalidraw",
        "url": ""
      }
    ],
    "description": "Diagrams.so scores 60 (C) to Excalidraw's 54.5 (C) for diagram creation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Diagrams.so API + MCP C 60",
      "Excalidraw C 54.5",
      "scores"
    ],
    "h1": "Diagrams.so API + MCP vs Excalidraw",
    "image": "https://www.anchorterminal.com/assets/og/compare-diagrams-so-vs-excalidraw.png",
    "path": "/compare/diagrams-so-vs-excalidraw",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Diagrams.so vs Excalidraw for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 730
  },
  "version": 1
}
