{
  "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.1,
        "grade": "C",
        "agentReady": false,
        "rank": 255,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 71,
          "payments": 32,
          "reliability": 30,
          "schema": 85,
          "security": 67,
          "transparency": 75
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.1
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 71,
          "payments": 32,
          "reliability": 30,
          "schema": 85,
          "security": 67,
          "transparency": 75
        },
        "provenanceScore": 75
      },
      "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": 75
      },
      "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-04T23:48:07.536692053Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 340,
          "authRequired": false,
          "uptime24h": 97.06,
          "uptime30d": 97,
          "p50ms24h": 345,
          "p95ms24h": 405,
          "samples24h": 272,
          "samples30d": 1100,
          "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": 270,
              "ok": 262
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.RedHold/diagrams-so-mcp",
            "version": "1.4.6",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@diagrams-so/mcp",
            "version": "1.4.6",
            "seenAt": "2026-10-04T16:25:36.673190162Z"
          },
          {
            "registry": "npm",
            "name": "@diagrams-so/sdk",
            "version": "1.3.0",
            "seenAt": "2026-10-04T16:25:37.522112948Z"
          },
          {
            "registry": "pypi",
            "name": "diagrams-so",
            "version": "1.3.0",
            "released": "2026-08-05",
            "seenAt": "2026-10-04T16:25:38.902347471Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 91,
        "pypiWeekly": 4,
        "securityTxt": {
          "url": "https://diagrams.so/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-01T00:00:00Z",
          "checkedAt": "2026-10-04T15:16:00.348168997Z"
        },
        "llmsTxt": {
          "url": "https://diagrams.so/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:30.857189856Z"
        },
        "domain": {
          "domain": "diagrams.so",
          "checkedAt": "2026-10-04T13:04:27.501679981Z"
        },
        "pages": [
          {
            "url": "https://diagrams.so/developers/resources/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:04.874729172Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "496d4c3074ab"
          },
          {
            "url": "https://diagrams.so/policy/terms",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:08.963882503Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "862f66aa7b0b"
          },
          {
            "url": "https://diagrams.so/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:10.965792916Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ae91841e9c40"
          },
          {
            "url": "https://diagrams.so/policy/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:06.971241586Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6fa8d4562829"
          }
        ],
        "updatedAt": "2026-10-04T23:48:07.536692053Z"
      }
    },
    "b": {
      "slug": "structurizr",
      "name": "Structurizr + MCP",
      "vendor": "Structurizr",
      "vendorUrl": "https://structurizr.com",
      "kind": "http-api",
      "category": "diagramming",
      "summary": "Diagram-as-code tool for software architecture using the C4 model.",
      "url": "https://www.anchorterminal.com/tools/structurizr",
      "markdownUrl": "https://www.anchorterminal.com/tools/structurizr.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/structurizr.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/structurizr.json",
      "repo": "https://github.com/structurizr/structurizr",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.structurizr.com/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "The workspace API on a Structurizr server takes a per-workspace key in the X-Authorization header, and listing all workspaces needs the admin API key. Server authentication can be switched off. The hosted MCP at mcp.structurizr.com needs no key.",
      "pricing": "freemium",
      "pricingNotes": "The DSL, local, the playground and the MCP server are free and Apache 2.0. Running the server from the prebuilt binaries needs a yearly licence priced by unique users (people or automated processes) per installation, from £300 a month for 1 to 20 users up to £2,400 a month for over 1,000, billed annually and bought by email, paid by bank transfer or PayPal invoice. 14-day trial licence from trial.structurizr.com. Building the server from source needs no licence. The cloud service took no new sign-ups after 31 December 2025 and shut down on 30 September 2026 (https://docs.structurizr.com/server/pricing).",
      "priceSummary": "$400 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 419,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.structurizr.com",
      "openapi": "https://raw.githubusercontent.com/structurizr/structurizr/refs/heads/main/structurizr-json/structurizr.yaml",
      "capabilities": [
        "diagram.create",
        "diagram.as-code",
        "diagram.edit",
        "diagram.export",
        "diagram.architecture"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "hosted",
        "mcp",
        "diagram-as-code",
        "openapi",
        "free-tier"
      ],
      "lastRelease": "2026-09-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.2,
        "grade": "C",
        "agentReady": false,
        "rank": 252,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 68,
          "payments": 50,
          "reliability": 73,
          "schema": 61,
          "security": 43,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "One model can generate several C4 architecture views. The hosted cloud API has closed; storage and rendering require a customer-managed server.",
        "strengths": [
          "One text model yields context, container, component, dynamic and deployment views",
          "Free hosted MCP at mcp.structurizr.com validates, parses, inspects and exports DSL with no key",
          "Apache 2.0 code, an OpenAPI 3.0 definition and dated changelogs",
          "Release 2026.09.19 on 19 September 2026, with reported issues fixed within weeks",
          "Nine months' dated notice before the cloud service shut down"
        ],
        "weaknesses": [
          "The hosted cloud API is gone. Storage and rendering need your own server",
          "Prebuilt server binaries need a paid licence counted per unique user, including API clients",
          "The MCP module is labelled experimental, with one-line tool descriptions",
          "Self-hosted MCP server tools take the workspace API key as a tool argument",
          "No security.txt or disclosure policy, and one maintainer wrote every commit since February"
        ],
        "agentNotes": [
          "Call `validate` and then `inspect` on the DSL before pushing a workspace",
          "Use the Mermaid export when the diagram has to render in Markdown without a Structurizr server",
          "Export needs a view key. Parse the DSL first to list the views",
          "Run the `structurizr/mcp` image with only the flags you need, such as `-dsl -server-read`, to keep write and delete tools out of reach",
          "The workspace API returns JSON, never images. PNG and SVG come from the separate export command"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 68,
          "payments": 50,
          "reliability": 73,
          "schema": 61,
          "security": 43,
          "transparency": 80
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl \"$STRUCTURIZR_URL/api/workspace/1\" -H \"X-Authorization: $STRUCTURIZR_API_KEY\"",
        "claudeCode": "claude mcp add --transport http structurizr https://mcp.structurizr.com/mcp",
        "config": {
          "mcpServers": {
            "structurizr": {
              "url": "https://mcp.structurizr.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/structurizr"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Server licence, 1 to 20 users",
          "unit": "month",
          "usd": 400,
          "note": "£300 a month billed annually, converted at about $1.34 a pound"
        },
        {
          "item": "Server licence, 21 to 50 users",
          "unit": "month",
          "usd": 800,
          "note": "£600 a month billed annually, converted at about $1.34 a pound"
        }
      ],
      "provenance": {
        "legalEntity": "Structurizr Limited",
        "domain": "structurizr.com",
        "domainRegistered": "2013-11-04",
        "endpointOnVendorDomain": true,
        "terms": "https://structurizr.com/terms-and-conditions",
        "privacy": "https://structurizr.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/structurizr/structurizr/blob/main/changelog-application.md",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "Structurizr Limited is a private company registered in Jersey, Channel Islands, Jersey Financial Services Commission registry number 303857 (server EULA)",
          "The Pingdom status page linked from structurizr.com monitored the cloud service, which shut down on 30 September 2026, so it isn't listed",
          "Server terms and privacy policy for the licence also live at https://docs.structurizr.com/server/terms-and-conditions and https://docs.structurizr.com/server/privacy-policy"
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/structurizr.json",
      "live": {
        "slug": "structurizr",
        "probe": {
          "target": "https://mcp.structurizr.com/mcp",
          "method": "get",
          "lastAt": "2026-10-04T23:48:16.533081123Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 60,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 73,
          "p95ms24h": 130,
          "samples24h": 272,
          "samples30d": 1100,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 270,
              "ok": 270
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "structurizr/structurizr",
            "version": "v2026.09.19",
            "released": "2026-09-19",
            "seenAt": "2026-10-04T16:40:53.233176332Z"
          }
        ],
        "githubStars": 430,
        "securityTxt": {
          "url": "https://structurizr.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:01.092085413Z"
        },
        "domain": {
          "domain": "structurizr.com",
          "registered": "2013-11-04",
          "source": "https://rdap.verisign.com/com/v1/domain/structurizr.com",
          "checkedAt": "2026-10-04T13:06:16.957209253Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/structurizr/structurizr/main/changelog-application.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:53.255452397Z",
            "changedAt": "2026-10-02T15:24:03.368547202Z",
            "fingerprint": "7d7f8d519415"
          },
          {
            "url": "https://docs.structurizr.com/cloud",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:04.126207686Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f3914c04c843"
          },
          {
            "url": "https://docs.structurizr.com/server/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:44:06.275958227Z",
            "changedAt": "2026-10-02T15:20:28.925834824Z",
            "fingerprint": "30400863f0dd"
          },
          {
            "url": "https://structurizr.com/privacy-policy",
            "kind": "privacy",
            "status": 404,
            "checkedAt": "2026-10-04T15:48:12.397727012Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://structurizr.com/terms-and-conditions",
            "kind": "terms",
            "status": 404,
            "checkedAt": "2026-10-04T15:48:14.526904538Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-04T23:48:16.533081123Z"
      }
    },
    "summary": "Structurizr + MCP has a score of 60.2 (C) against Diagrams.so API + MCP's 60.1 (C). Both do diagram create. The largest gap is reliability, 43 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr",
    "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md",
    "slim": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.min.md"
  },
  "markdown": "Structurizr + MCP has a score of 60.2 (C) against Diagrams.so API + MCP's 60.1 (C). Both do diagram create. The largest gap is reliability, 43 points.\n\n- Diagrams.so API + MCP: grade C, 60.1/100, rank #255 of 452. Markdown https://www.anchorterminal.com/tools/diagrams-so.md · JSON https://www.anchorterminal.com/api/v1/tools/diagrams-so.json\n- Structurizr + MCP: grade C, 60.2/100, rank #252 of 452. Markdown https://www.anchorterminal.com/tools/structurizr.md · JSON https://www.anchorterminal.com/api/v1/tools/structurizr.json\n\n## Which one, for what\n\nPick Diagrams.so API + MCP for schema \u0026 documentation (+24), agent ergonomics (+30), security \u0026 auth (+24).\n\nPick Structurizr + MCP for reliability (+43), payments \u0026 pricing (+18), transparency \u0026 trust (+5).\n\n## Score by category\n\n| Category | Weight | Diagrams.so API + MCP | Structurizr + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 73 | Structurizr + MCP +43 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 61 | Diagrams.so API + MCP +24 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 55 | Diagrams.so API + MCP +30 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 43 | Diagrams.so API + MCP +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 32 | 50 | Structurizr + MCP +18 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 68 | Diagrams.so API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 80 | Structurizr + MCP +5 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **60.1 · C** | **60.2 · C** | |\n\n## Facts side by side\n\n| Fact | Diagrams.so API + MCP | Structurizr + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Diagrams.so (RedHold LLC) | Structurizr |\n| Hosted endpoint | `https://api.diagrams.so/api/v2` | `https://mcp.structurizr.com/mcp` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Tools exposed | 23 | 6 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\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-09-19 |\n| Popularity | 0 stars, 172 npm/wk, 3 PyPI/wk | 419 stars |\n| Agent reviews | 4/5 (2) | 3/5 (2) |\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**Structurizr + MCP.** One model can generate several C4 architecture views. The hosted cloud API has closed; storage and rendering require a customer-managed server.\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### Structurizr + MCP\n\n1. Call `validate` and then `inspect` on the DSL before pushing a workspace\n2. Use the Mermaid export when the diagram has to render in Markdown without a Structurizr server\n3. Export needs a view key. Parse the DSL first to list the views\n4. Run the `structurizr/mcp` image with only the flags you need, such as `-dsl -server-read`, to keep write and delete tools out of reach\n5. The workspace API returns JSON, never images. PNG and SVG come from the separate export command\n\n## Other comparisons with Diagrams.so API + MCP or Structurizr + MCP\n\n- [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md)\n- [Cloudviz API vs Structurizr + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-structurizr.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 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 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 Structurizr + MCP](https://www.anchorterminal.com/compare/drawio-vs-structurizr.md)\n- [Eraser API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/eraser-vs-structurizr.md)\n- [Lucid API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/lucid-vs-structurizr.md)\n- [Mermaid Chart MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-structurizr.md)\n- [Structurizr + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/structurizr-vs-tldraw.md)\n- [Structurizr + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/structurizr-vs-whimsical.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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 Structurizr + MCP",
        "url": ""
      }
    ],
    "description": "Structurizr + MCP has a score of 60.2 (C) against Diagrams.so API + MCP's 60.1 (C). Both do diagram create. The largest gap is reliability, 43 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Diagrams.so API + MCP C 60.1",
      "Structurizr + MCP C 60.2",
      "scores"
    ],
    "h1": "Diagrams.so API + MCP vs Structurizr + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-diagrams-so-vs-structurizr.png",
    "path": "/compare/diagrams-so-vs-structurizr",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Diagrams.so API + MCP vs Structurizr + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 380
  },
  "version": 1
}
