{
  "data": {
    "a": {
      "slug": "ai-diagram-maker-mcp",
      "name": "AI Diagram Maker MCP",
      "vendor": "AI Diagram Maker (Rajasekar Elango)",
      "vendorUrl": "https://www.aidiagrammaker.com",
      "kind": "mcp",
      "category": "diagramming",
      "summary": "AI Diagram Maker MCP is an MIT-licensed MCP server, hosted or run with npx, that sends text, JSON, ASCII art, images or Mermaid to the AI Diagram Maker service and returns a D2 software diagram with an edit link.",
      "url": "https://www.anchorterminal.com/tools/ai-diagram-maker-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/ai-diagram-maker-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ai-diagram-maker-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ai-diagram-maker-mcp.json",
      "dns": "ai-diagram-maker-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/erajasekar/ai-diagram-maker-mcp",
      "license": "MIT for the MCP server. The AI Diagram Maker service it calls is closed, under terms last updated 24 September 2025",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.aidiagrammaker.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "ai-diagram-maker-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "An API key created in the AI Diagram Maker app under Settings \u003e API Keys, shown once, named, and deactivated, reactivated or deleted from the same page. No scopes; the user guide says anyone with the key can access the account. The hosted server takes it in `X-ADM-API-Key` or `Authorization: Bearer`, the local server in `ADM_API_KEY`. No OAuth.",
      "pricing": "freemium",
      "pricingNotes": "Basic is free with 50 AI credits a month. Plus $10 a month ($96 a year) with 250 credits, Max $20 a month ($192 a year) with 500. One credit is 1,000 tokens, and extra credits can't be bought. Which plans include API and MCP use isn't stated.",
      "priceSummary": "$10 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "Plans sold through Lemon Squeezy checkout links. No x402, MPP or L402 in the repository, the OpenAPI file or the site (checked 2026-11-06). Out of credits returns 402 with no payment requirements.",
        "endpoints": []
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 63,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://github.com/erajasekar/ai-diagram-maker-mcp#readme",
      "openapi": "https://github.com/erajasekar/ai-diagram-maker-mcp/blob/main/apispec/adm-openapi.json",
      "registryName": "io.github.erajasekar/ai-diagram-maker-mcp",
      "capabilities": [
        "diagram.create",
        "diagram.architecture",
        "diagram.as-code",
        "diagram.export"
      ],
      "tags": [
        "hosted",
        "local",
        "mcp",
        "remote-mcp",
        "stdio",
        "mcp-registry",
        "openapi",
        "api-key",
        "freemium",
        "d2",
        "mcp-apps"
      ],
      "lastRelease": "2026-04-10",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.8,
        "grade": "E",
        "agentReady": false,
        "rank": 1225,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 17,
          "payments": 20,
          "reliability": 30,
          "schema": 75,
          "security": 45,
          "transparency": 35
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Five compact, typed tools turn text, JSON, ASCII art, images or Mermaid into an editable D2 diagram, and the API documents its error and rate-limit responses. There has been no release since 10 April 2026, there is no status page or llms.txt, and the API key opens the whole account with no scopes.",
        "bestFor": "Quick architecture, sequence, ERD and flowchart diagrams from a coding agent, with a link to edit them.",
        "strengths": [
          "Five tools with zod schemas, a diagramType enum and descriptions that say when to use each",
          "OpenAPI 3 file for the generate endpoint with documented 402, 422 and 429 responses",
          "A 429 body gives limit, remaining, resetAt and retryAfter",
          "Hosted endpoint with nothing to install, or a local npx server",
          "Output stays editable as D2 in the app and exports to SVG, PNG or Mermaid"
        ],
        "weaknesses": [
          "Last release 3.0.8 on 10 April 2026, and the registry entry still says 1.0.0",
          "No status page, SLA, llms.txt, changelog or security policy found",
          "API keys have no scopes and give full account access",
          "Plans don't say whether API and MCP calls are included, and an open issue asks how hosted MCP credits are counted",
          "The privacy policy names no AI model providers or other processors"
        ],
        "agentNotes": [
          "Send the key in the `X-ADM-API-Key` header to https://mcp.aidiagrammaker.com/mcp, never in the URL",
          "Pick `diagramType` from the enum when the user names one; leave it out to let the service choose",
          "On a 402 stop and tell the user credits are gone; they reset monthly and can't be topped up",
          "On a 429 wait for `retryAfter` seconds before the next call",
          "Give the user the returned diagram link so they can edit it, since the tools can't revise an existing diagram"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.8
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 17,
          "payments": 20,
          "reliability": 30,
          "schema": 75,
          "security": 45,
          "transparency": 28
        },
        "provenanceScore": 42,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "ADM_API_KEY=your_api_key npx ai-diagram-maker-mcp@latest",
        "claudeCode": "claude mcp add ai-diagram-maker -t stdio -e ADM_API_KEY=\u003capi_key\u003e -- npx -y ai-diagram-maker-mcp@latest",
        "config": {
          "mcpServers": {
            "ai-diagram-maker": {
              "headers": {
                "X-ADM-API-Key": "YOUR_API_KEY"
              },
              "url": "https://mcp.aidiagrammaker.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/ai-diagram-maker-mcp"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Plus plan",
          "unit": "month",
          "usd": 10,
          "note": "250 AI credits a month; $96 billed yearly"
        },
        {
          "item": "Max plan",
          "unit": "month",
          "usd": 20,
          "note": "500 AI credits a month; $192 billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "aidiagrammaker.com",
        "domainRegistered": "2025-08-21",
        "endpointOnVendorDomain": true,
        "terms": "https://www.aidiagrammaker.com/terms",
        "privacy": "https://www.aidiagrammaker.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms and privacy policy, both last updated 24 September 2025, name the company only as AI Diagram Maker, under United States law, with aidiagrammaker@gmail.com as the contact. The npm package names Rajasekar Elango as author.",
          "The terms list scraping among prohibited uses. Public pages were read as data.",
          "www.aidiagrammaker.com/robots.txt allows all paths.",
          "RDAP gives aidiagrammaker.com a registration date of 21 August 2025.",
          "/.well-known/security.txt returns 404. No status page or changelog found; the GitHub releases are the only dated record."
        ],
        "score": 42
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ai-diagram-maker-mcp.json",
      "live": {
        "slug": "ai-diagram-maker-mcp",
        "probe": {
          "target": "https://mcp.aidiagrammaker.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:09.018580127Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "TLS certificate problem",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 0
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-11-06T22:45:03.399368446Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "TLS certificate problem"
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.erajasekar/ai-diagram-maker-mcp",
            "version": "1.0.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "ai-diagram-maker-mcp",
            "version": "3.0.8",
            "seenAt": "2026-11-06T23:04:20.113009064Z"
          }
        ],
        "githubStars": 10,
        "npmWeekly": 63,
        "securityTxt": {
          "url": "https://aidiagrammaker.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:48.542497373Z"
        },
        "pages": [
          {
            "url": "https://www.aidiagrammaker.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:24:25.783359417Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "40a879ba4963"
          },
          {
            "url": "https://www.aidiagrammaker.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:24:27.95923952Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9b4e6f213ed0"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.aidiagrammaker.com/mcp",
          "checkedAt": "2026-11-07T01:42:20.967941233Z",
          "status": "error",
          "note": "Post \"https://mcp.aidiagrammaker.com/mcp\": tls: failed to verify certificate: x509: certificate is valid for *.up.railway.app, up.railway.app, not mcp.aidiagrammaker.com",
          "changedAt": "2026-11-07T01:42:20.967941233Z"
        },
        "updatedAt": "2026-11-07T18:20:09.018580127Z"
      }
    },
    "answer": "draw.io + MCP scores 64.5 (B) on agent readiness against AI Diagram Maker MCP's 43.8 (E), and leads in 6 of 7 scored categories. AI Diagram Maker MCP leads on agent ergonomics.",
    "b": {
      "slug": "drawio",
      "name": "draw.io + MCP",
      "vendor": "draw.io",
      "vendorUrl": "https://www.drawio.com",
      "kind": "mcp",
      "category": "diagramming",
      "summary": "The open-source diagram editor (also diagrams.net) with an official MCP server.",
      "url": "https://www.anchorterminal.com/tools/drawio",
      "markdownUrl": "https://www.anchorterminal.com/tools/drawio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/drawio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/drawio.json",
      "dns": "drawio.grade.anchorterminal.com",
      "repo": "https://github.com/jgraph/drawio",
      "license": "Apache-2.0",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.draw.io/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@drawio/mcp"
        }
      ],
      "auth": "none",
      "authNotes": "No keys anywhere. The hosted MCP App, the npm tool server, the web editor and the embed mode are all open. Diagrams live in files or in the storage you pick (Google Drive, OneDrive, GitHub, local).",
      "pricing": "free",
      "pricingNotes": "The web app, desktop app, MCP servers and assistant plugins are free. The source is Apache 2.0 and self-hostable with Docker. Only the Confluence and Jira apps are paid, sold per user through the Atlassian Marketplace (https://www.drawio.com/docs/integrations/atlassian/licensing/).",
      "priceSummary": "Free · OSS",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": 8497,
        "npmWeekly": 24959,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.drawio.com/docs/manual/generate/drawio-mcp-server/",
      "llmsTxt": "https://www.drawio.com/llms.txt",
      "registryName": "io.draw/mcp",
      "capabilities": [
        "diagram.create",
        "diagram.as-code",
        "diagram.edit",
        "diagram.export",
        "diagram.architecture"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "hosted",
        "mcp",
        "diagram-as-code",
        "free-tier",
        "no-card"
      ],
      "lastRelease": "2026-10-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.5,
        "grade": "B",
        "agentReady": false,
        "rank": 464,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 86,
          "payments": 60,
          "reliability": 45,
          "schema": 87,
          "security": 55,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "Free, keyless and Apache 2.0. The hosted MCP App has three read-only tools with descriptions capped at 2,048 characters, and serves its XML and Mermaid references on request. A privacy policy for the MCP server says diagrams aren't stored. No rate limits, SLA or status monitor cover mcp.draw.io, and the npm server's eight tools carry no annotations.",
        "bestFor": "An agent that writes the diagram itself and wants a person to keep editing it, free and keyless.",
        "strengths": [
          "Free, keyless and Apache 2.0, with a Docker image for self-hosting",
          "The hosted `create_diagram` takes Mermaid or draw.io XML, with optional ELK layout and libavoid edge routing, and its description stays under 2,048 characters",
          "`search_shapes` covers about 10,000 stencils plus an icon service and returns exact style strings",
          "A privacy policy for mcp.draw.io (13 October 2026) says diagrams and requests aren't stored and names Cloudflare and Google Cloud as sub-processors",
          "Listed in the official MCP registry as io.draw/mcp, current at 1.4.7 (31 October 2026)"
        ],
        "weaknesses": [
          "No REST API to save, list or render diagrams",
          "PNG, SVG and PDF export need draw.io Desktop's CLI or a person in the editor",
          "No rate limits, SLA or security.txt, and mcp.draw.io isn't on the status page",
          "The npm tool server's eight tools carry no readOnlyHint or destructiveHint annotations",
          "Tests run only in the manual npm publish workflow, not on every push"
        ],
        "agentNotes": [
          "Call `get_drawio_reference` once per format before the first diagram, then pass `mermaid` to `create_diagram` for any type on its Mermaid list. Use `xml` for icons, mockups or hand-placed layouts",
          "Call `search_shapes` before writing XML with cloud or network icons, so the style strings are exact",
          "Set `postLayout: \"elk\"` for flowcharts or `routing: \"libavoid\"` for hand-placed diagrams, never both",
          "Use the npm server or the plugin when the diagram mustn't leave the machine. The hosted App sends it to draw.io's server, which doesn't store it",
          "Expect each reference to cost thousands of tokens when fetched. Fetch only the format you will use"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.5
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 86,
          "payments": 60,
          "reliability": 45,
          "schema": 87,
          "security": 55,
          "transparency": 75
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx -y @drawio/mcp",
        "claudeCode": "claude mcp add --transport http drawio https://mcp.draw.io/mcp",
        "config": {
          "mcpServers": {
            "drawio": {
              "args": [
                "-y",
                "@drawio/mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/drawio"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "draw.io Ltd",
        "domain": "drawio.com",
        "domainRegistered": "2008-07-10",
        "endpointOnVendorDomain": true,
        "terms": "https://www.drawio.com/trust/terms-of-use/",
        "privacy": "https://www.drawio.com/trust/",
        "statusPage": "https://status.draw.io",
        "changelog": "https://github.com/jgraph/drawio/blob/dev/ChangeLog",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "draw.io Limited is registered in England and Wales, company number 04051179, at Artisans' House, 7 Queensbridge, Northampton, NN4 7BF (privacy policy v2.3.1, 18 October 2026)",
          "The hosted MCP runs on draw.io, the company's own product domain, and has its own privacy policy at https://www.drawio.com/trust/privacy-ai-assistants/ (v1.1, 13 October 2026)",
          "The Better Stack status page monitors app.diagrams.net and the Atlassian apps, not mcp.draw.io",
          "/.well-known/security.txt returns 404. The core repository's SECURITY.md takes reports through GitHub's private advisory form"
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/drawio.json",
      "live": {
        "slug": "drawio",
        "probe": {
          "target": "https://mcp.draw.io/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:21.601913798Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 112,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 59,
          "p95ms24h": 164,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.draw.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:40.203992802Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "jgraph/drawio",
            "version": "v32.6.10",
            "released": "2026-11-04",
            "seenAt": "2026-11-06T23:22:29.794671237Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.draw/mcp",
            "version": "1.7.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@drawio/mcp",
            "version": "1.11.0",
            "seenAt": "2026-11-06T23:22:29.573006653Z"
          }
        ],
        "githubStars": 9225,
        "npmWeekly": 43220,
        "securityTxt": {
          "url": "https://drawio.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:47.322927416Z"
        },
        "llmsTxt": {
          "url": "https://www.drawio.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:19.154679904Z"
        },
        "domain": {
          "domain": "drawio.com",
          "registered": "2008-07-10",
          "source": "https://rdap.verisign.com/com/v1/domain/drawio.com",
          "checkedAt": "2026-11-01T14:16:58.487984121Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/jgraph/drawio/dev/ChangeLog",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:21:27.947372105Z",
            "changedAt": "2026-11-05T13:05:35.759668205Z",
            "fingerprint": "80955a154b93"
          },
          {
            "url": "https://www.drawio.com/trust/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:05.912999498Z",
            "changedAt": "2026-11-07T14:28:05.912999498Z",
            "fingerprint": "4d025982c59d"
          },
          {
            "url": "https://www.drawio.com/trust/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:08.32621086Z",
            "changedAt": "2026-10-22T01:31:33.020042402Z",
            "fingerprint": "d82fefc16465"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.draw.io/mcp",
          "checkedAt": "2026-11-07T01:43:43.358978843Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "create_diagram",
              "title": "Create Diagram",
              "description": "Creates and displays an interactive draw.io diagram from Mermaid.js syntax or draw.io XML — provide exactly one.\n\n**Choose the format first.** Use `xml` for diagrams of boxes and lines up to about 30 shapes: flowcharts, pipelines, decision trees, org charts, ER schemas, UML class, state and use case diagrams, mind maps, timelines, architecture, cloud and network diagrams, swimlanes, UI mockups, floor plans and anything with stencils. You place every shape yourself, laid out for the chat view (see the XML reference). Use `mermaid` for sequenceDiagram, gantt, gitGraph, pie, journey, quadrantChart, xychart-beta, sankey-beta, requirementDiagram, C4Context/C4Container/C4Component, block-beta, packet-beta, kanban, radar-beta, treemap-beta, treeView-beta, venn-beta, ishikawa-beta, zenuml, wardley-beta, eventmodeling, and for flowcharts, class and state diagrams of more than about 30 shapes (flowcharts with postLayout elk). Whenever the user asks for draw.io XML or no Mermaid, use XML for the rest of the conversation.\n\n**Call `get_drawio_reference` before your first diagram in a conversation**, once per format, with the format you chose: \"mermaid\" has the syntax for every type (a misspelled header renders blank), \"xml\" the styles, layout grid, edges, containers, layers and dark mode. Call `search_shapes` first for industry icons (AWS, Azure, GCP, Cisco, Kubernetes, P\u0026ID, electrical) or logos.\n\nXML essentials: \u003cmxGraphModel adaptiveColors=\"auto\"\u003e\u003croot\u003e\u003cmxCell id=\"0\"/\u003e\u003cmxCell id=\"1\" parent=\"0\"/\u003e…\u003c/root\u003e\u003c/mxGraphModel\u003e. Every cell has a unique id. Vertices: vertex=\"1\" with \u003cmxGeometry x y width height as=\"geometry\"/\u003e. Edges: edge=\"1\" with source and target, always with a child \u003cmxGeometry relative=\"1\" as=\"geometry\"/\u003e. Put html=1 in every style and XML-escape HTML in values (\u0026lt; \u0026gt; \u0026amp; \u0026quot;). No XML comments. Don't add waypoints. Place the shapes yourself (no postLayout) and set `routing: \"libavoid\"` only when an edge would otherwise cross a shape.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "direction": {
                    "description": "**XML only** — the flow direction for `postLayout: \"elk\"` on XML diagrams: `vertical` (top-down) or `horizontal` (left-to-right). Defaults to `vertical`. **Ignored for Mermaid**, where direction is read from the flowchart code (`flowchart TD/TB` vs `LR/RL`). Only meaningful together with `postLayout: \"elk\"`.",
                    "enum": [
                      "vertical",
                      "horizontal"
                    ],
                    "type": "string"
                  },
                  "mermaid": {
                    "description": "Mermaid.js diagram definition (e.g. 'graph TD\\n  A--\u003eB'). Supports 28 diagram types — see the tool description for the full list. The diagram is parsed and laid out natively (no upstream mermaid runtime) and converted to draw.io format. Mutually exclusive with 'xml'.",
                    "type": "string"
                  },
                  "postLayout": {
                    "description": "Optional client-side ELK (Eclipse Layout Kernel) layered-flow pass applied after the diagram renders. The only value is `\"elk\"`. Vertices animate (morph) from the positions you supplied to the layered layout — they are **replaced**, so only your edge topology survives. Set it for large Mermaid flowcharts (see below) and for directional XML flows of more than about 30 shapes that you don't lay out yourself; XML you place on the grid (see the XML reference) omits it. Flow direction (top-down vs left-to-right): for **Mermaid** it is taken from the flowchart code (`flowchart TD/TB` → top-down, `LR/RL` → left-to-right) — do not try to set it here; for **XML** set the optional `direction` field (defaults to top-down).\n**Omit** for diagrams whose layout carries meaning you hand-crafted: swimlanes/pools, containers, architecture / deployment / network topology with grouped regions, P\u0026ID or circuit schematics, floor plans, UML diagrams with deliberate placement.\n\n**For Mermaid flowcharts**, the native parser does its own layout, but it produces cramped or unbalanced output once the diagram has any structural complexity. Request `postLayout: \"elk\"` whenever ANY of the following holds: ≥ ~20 nodes, OR ≥ 3 decision diamonds (`{...}` shapes), OR any feedback/back-edges (an edge that points to an earlier node, e.g. an error path looping back to a retry), OR ≥ 3 distinct endpoints — the flow direction follows the flowchart code, so you never pass `direction` for Mermaid. Skip for simple flowcharts (linear chains, \u003c 20 nodes, no branching/back-edges) and for non-flowchart Mermaid types (sequence, class, ER, sankey, etc. — postLayout doesn't apply).",
                    "enum": [
                      "elk"
                    ],
                    "type": "string"
                  },
                  "routing": {
                    "description": "**XML only** — optional obstacle-avoiding orthogonal **edge-routing** pass (libavoid). The only value is `\"libavoid\"`. Unlike `postLayout`, this does **not** move any vertices — it keeps your hand-placed coordinates and only recomputes the path of each right-angle edge (`edgeStyle=orthogonalEdgeStyle` or `entityRelationEdgeStyle`) so wires run in clean right-angle segments that route *around* the boxes instead of cutting through them; straight and curved lines stay as drawn. Set it for XML diagrams where you have placed nodes deliberately (architecture, deployment, swimlanes, UML class, floor plans) and want tidy connectors without overlaps — exactly the diagrams where you'd OMIT `postLayout`.\ndraw.io's default router is basic (straight or simple right-angle lines with **no obstacle avoidance** — wires cut straight through any box between the endpoints), so reach for `\"libavoid\"` whenever edges would otherwise cross shapes or you want uniformly clean orthogonal wiring on a layout you placed yourself. Think of `routing` and `postLayout` as **alternatives**: use `routing: \"libavoid\"` to keep your positions and only fix the wires, or `postLayout: \"elk\"` to re-lay-out the vertices — and note ELK already routes its edges decently, so when you use `postLayout` you normally should **not** also set `routing` (the combination is redundant in almost all cases). Do not add `\u003cArray as=\"points\"\u003e` waypoints yourself when routing is set; libavoid computes them. **Ignored for Mermaid** (its native/ELK layout already routes).",
                    "enum": [
                      "libavoid"
                    ],
                    "type": "string"
                  },
                  "xml": {
                    "description": "draw.io XML content in mxGraphModel format. Must be well-formed XML: no XML comments (\u003c!-- --\u003e), no unescaped special characters in attribute values. Mutually exclusive with 'mermaid'.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "search_shapes",
              "title": "Search Shapes",
              "description": "Search the draw.io shape library by keywords. Returns matching shapes with their exact style strings, dimensions, and titles. Covers ~10,000 built-in stencils (cloud architecture, network topology, P\u0026ID, electrical, Cisco, Kubernetes, BPMN) and, when those are sparse, supplements results with the draw.io icon service (brand/product logos and general-purpose concept icons, e.g. 'react', 'slack', 'shopping cart', 'solar panel'). Use ONLY for diagrams that need industry-specific, branded, or pictorial icons. Do NOT use for standard diagram types like flowcharts, UML, ERD, org charts, or mind maps — these use basic geometric shapes (rectangles, diamonds, circles, cylinders) that are already covered in the XML reference. Also skip if the user asks to use basic/simple shapes or says not to search. The style string from the results can be used directly in mxCell style attributes.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "limit": {
                    "description": "Maximum number of results to return (default: 10, max: 50)",
                    "type": "number"
                  },
                  "query": {
                    "description": "Space-separated search keywords (e.g. 'pid globe valve', 'aws lambda', 'cisco router', 'kubernetes pod')",
                    "type": "string"
                  }
                },
                "required": [
                  "query"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "shapes": {
                    "description": "Matching shapes, best match first — empty when nothing matched the query.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "h": {
                          "description": "Default height in pixels",
                          "type": "number"
                        },
                        "style": {
                          "description": "mxCell style string, usable verbatim in a style attribute",
                          "type": "string"
                        },
                        "title": {
                          "description": "Shape name",
                          "type": "string"
                        },
                        "w": {
                          "description": "Default width in pixels",
                          "type": "number"
                        }
                      },
                      "required": [
                        "style",
                        "w",
                        "h",
                        "title"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "shapes"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "get_drawio_reference",
              "title": "Get draw.io Reference",
              "description": "Returns the draw.io diagram generation reference as Markdown. Format \"xml\": styles, the layout grid, edges, containers, swimlanes, layers, tags, metadata, dark mode, the layout and routing passes, and the well-formedness rules for create_diagram's xml. Format \"mermaid\": the header keyword and syntax hints for every Mermaid type draw.io supports, flowchart styling and the ELK layout. Call it once per format and conversation, before the first diagram in that format; the reference stays valid for the rest of the conversation.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "format": {
                    "description": "Which reference to return: \"xml\" or \"mermaid\", matching the create_diagram parameter you will use.",
                    "enum": [
                      "xml",
                      "mermaid"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "format"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 2584,
          "changedAt": "2026-10-13T22:07:06.55619692Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 2584,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 2
            },
            "findings": [
              {
                "rule": "TC18",
                "severity": "warn",
                "tool": "create_diagram",
                "message": "readOnlyHint is true but the name says \"create\"",
                "fix": "If it changes anything, readOnlyHint must be false."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "create_diagram",
                "message": "the definition is about 1,689 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "2 of 3 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "github": {
          "repo": "jgraph/drawio",
          "checkedAt": "2026-11-02T08:57:25.681412994Z",
          "stars": 9128,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T21:28:34Z",
          "openIssues": 40,
          "openPRs": 0,
          "issuesOpened90d": 69,
          "issuesClosed90d": 143,
          "prsMerged90d": 0,
          "advisories": [
            {
              "ghsa": "GHSA-55cm-f4p8-xq88",
              "severity": "medium",
              "published": "2026-10-31T00:26:47Z"
            },
            {
              "ghsa": "GHSA-ff67-v9r9-6877",
              "severity": "medium",
              "published": "2026-09-16T21:53:15Z"
            },
            {
              "ghsa": "GHSA-v2pv-rjf8-9w9v",
              "severity": "medium",
              "published": "2026-09-16T21:52:56Z"
            },
            {
              "ghsa": "GHSA-w9xf-933m-9g4m",
              "severity": "medium",
              "published": "2026-09-07T07:36:20Z"
            },
            {
              "ghsa": "GHSA-xj4f-x55f-699c",
              "severity": "medium",
              "published": "2026-09-06T10:20:46Z"
            },
            {
              "ghsa": "GHSA-r85c-2h2r-46rw",
              "severity": "medium",
              "published": "2026-09-04T23:33:17Z"
            },
            {
              "ghsa": "GHSA-34m6-jq4j-m83m",
              "severity": "medium",
              "published": "2026-08-20T23:19:05Z"
            },
            {
              "ghsa": "GHSA-m3q9-cwfq-hcjc",
              "cve": "CVE-2026-76898",
              "severity": "high",
              "published": "2026-08-20T19:13:32Z"
            },
            {
              "ghsa": "GHSA-vvpv-f297-2ghp",
              "cve": "CVE-2026-115762",
              "severity": "medium",
              "published": "2026-07-29T22:24:28Z"
            },
            {
              "ghsa": "GHSA-xc39-mcq4-fr4q",
              "cve": "CVE-2026-97373",
              "severity": "medium",
              "published": "2026-07-14T08:12:52Z"
            },
            {
              "ghsa": "GHSA-ghcc-x248-vj2j",
              "severity": "medium",
              "published": "2026-07-14T08:11:57Z"
            },
            {
              "ghsa": "GHSA-3pq9-9hg4-ggfw",
              "cve": "CVE-2026-63416",
              "severity": "low",
              "published": "2026-06-30T21:10:25Z"
            },
            {
              "ghsa": "GHSA-mcj5-3pww-7g49",
              "cve": "CVE-2026-63373",
              "severity": "medium",
              "published": "2026-06-30T21:10:12Z"
            },
            {
              "ghsa": "GHSA-3v4h-8r2c-m8c5",
              "cve": "CVE-2026-63334",
              "severity": "medium",
              "published": "2026-06-30T21:10:05Z"
            },
            {
              "ghsa": "GHSA-c76x-r78m-phwx",
              "cve": "CVE-2026-58504",
              "severity": "medium",
              "published": "2026-06-19T21:57:15Z"
            },
            {
              "ghsa": "GHSA-fqhg-287p-c6vf",
              "cve": "CVE-2026-46642",
              "severity": "medium",
              "published": "2026-05-15T13:32:42Z"
            },
            {
              "ghsa": "GHSA-8x7j-m8px-7p8x",
              "cve": "CVE-2026-42195",
              "severity": "low",
              "published": "2026-04-20T19:08:56Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 7,
            "medianDays": 0
          }
        },
        "updatedAt": "2026-11-07T18:20:21.601913798Z"
      }
    },
    "edges": [
      {
        "by": 69,
        "category": "maintenance",
        "leads": "drawio",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Last release v3.0.8, published to npm on 10 April 2026, 210 days before this check (0). No release since 8 August (0). Four issues in all. The two open ones, from 4 May (hosted MCP credit usage) and 13 October 2026, show no reply, and one closed issue had a comment (5 of 25). In the official MCP registry under the GitHub-verified namespace io.github.erajasekar, but the entry is 1.0.0 from 19 March 2026 while npm is on 3.0.8 (10 of 15). The only workflow publishes to the registry. No tests or CI, and the MCP SDK floor is ^1.9.0 (2 of 10). 0 + 0 + 5 + 10 + 2 = 17.",
          "b": "The hosted App went to 1.4.7 on 31 October 2026 and was published to the official registry that day, @drawio/mcp went to 1.10.1 on 30 October, and core v32.6.9 was tagged the same day (30). The tool server went from 1.6.3 to 1.10.1 and the App server from 1.0.6 to 1.4.7 in October, and the core repository tagged 20 versions from v31.1.8 (7 August) to v32.6.9 (20). Commits land most days, with weekly triage fixes. The core repo doesn't take pull requests, and we couldn't read issue replies because github.com refuses our requests (15). In the official MCP registry as io.draw/mcp under the draw.io domain namespace, at 1.4.7 with mcp.draw.io as its remote (15). Description-size and tool tests exist, but run only in the manual npm publish workflow, not on every push (6). 30 + 20 + 15 + 15 + 6 = 86."
        },
        "scores": {
          "a": 17,
          "b": 86
        }
      },
      {
        "by": 46,
        "category": "transparency",
        "leads": "drawio",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The MCP server is MIT (package.json and LICENSE, added 18 March 2026). The service is closed, under terms last updated 24 September 2025 that name the operator only as AI Diagram Maker (20 of 30). The privacy policy of the same date keeps diagrams, revisions and chat prompts and responses 'as long as necessary', and the terms license user input 'to provide and improve our services', with no retention periods and no word on model training or the AI providers used (8 of 30). No deprecation policy or dated notices (0). No subprocessors or data locations named (0). The MCP server's source sends no telemetry of its own. 20 + 8 + 0 + 0 = 28.",
          "b": "Apache 2.0 (30). The privacy policy, v2.3.1 of 18 October 2026, says diagrams are processed and not kept, sets retention for logs (30 days) and user counts (24 months), and lists where data goes. A separate policy for the hosted MCP server (v1.1, 13 October 2026) says diagrams and requests aren't stored or logged, gives retention per item and names Cloudflare and Google Cloud as sub-processors. The two agree, and the 2023 policy's UK-only statement is gone. Neither policy publishes a DPA or says one is available, so the line sits with pen-dev (24) and pushary (25), whose retention tables and sub-processor lists come with a DPA on request (24, 15 on 1 October). No deprecation policy found, though the core ChangeLog records changes such as the Dropbox removal in 32.5.1 (3). Providers and data locations are listed in both policies, with Cloudflare processing in the data centre nearest the caller, which may be outside the UK. We found no telemetry in the MCP tool definitions (18, 10 on 1 October). 30 + 24 + 3 + 18 = 75."
        },
        "scores": {
          "a": 35,
          "b": 81
        }
      },
      {
        "by": 40,
        "category": "payments",
        "leads": "drawio",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public (Plus $10, Max $20 a month), with credits counted at 1,000 tokens each, so there's no per-diagram price (10 of 20). Basic is free forever with 50 credits a month, but the page doesn't say whether a card is needed or whether API and MCP calls are included (10 of 20, half as with an unstated card rule). A person signs up in the app and creates the key (0). 0 + 10 + 10 + 0 = 20.",
          "b": "Free and Apache 2.0, nothing to buy for the MCP servers or the editor, so the self-hosted rule applies. No payment protocol (0). Nothing to price (20). Free with no account or card (20). Keyless, an agent can connect with no signup (20)."
        },
        "scores": {
          "a": 20,
          "b": 60
        }
      },
      {
        "by": 15,
        "category": "reliability",
        "leads": "drawio",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted lines, because every tool call is generated on the AI Diagram Maker service, through the hosted endpoint or the npx server. No status page found on the site or in the README (0). No readable incident history (5). The only rate-limit number is the example in the OpenAPI 429 schema ('Maximum 100 requests per day exceeded.'), which isn't stated as the limit (5 of 15). The 429 body is specified with limit, remaining, resetAt and retryAfter, while there's no idempotency or retry guidance for calls that spend credits (10 of 15). No SLA found (0). Nothing labels the service or server beta (10). 0 + 5 + 5 + 10 + 0 + 10 = 30.",
          "b": "Better Stack status page at status.draw.io with 30, 60 and 90-day bars for app.diagrams.net and the Atlassian apps, but mcp.draw.io isn't one of the monitored components (15). Every bar reads 100 per cent bar one 99.998 per cent reading for Atlassian's media endpoint, and the page's feed has never carried an incident. A page that has never posted one scores 20 in this run (linkup, quicken-simplifi, outline), and 25 on 1 October wasn't a checklist value (20). No rate limits published, and none found in the hosted server's source (0). No 429 or retry guidance (0). No SLA found (0). The hosted MCP App (1.4.7) and @drawio/mcp (1.10.1) are released, not preview (10). 15 + 20 + 0 + 0 + 0 + 10 = 45."
        },
        "scores": {
          "a": 30,
          "b": 45
        }
      },
      {
        "by": 12,
        "category": "schema",
        "leads": "drawio",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "All five tools have zod input schemas in src/tools, and the repository ships an OpenAPI 3 file for POST /api/v2/diagrams/generate (25). No llms.txt (404) and no docs site for agents beyond the README (0). Each description says what the tool does and when to use it, listing trigger phrases and the diagram types, without saying when another tool fits better (16 of 20). `content` has a minimum length and `diagramType` an eight-value enum; the OpenAPI adds `inputType` and `format` enums (13 of 15). Examples in the parameter descriptions and README, and the OpenAPI documents 400, 401, 402, 422 (D2 failed to compile) and 429 with typed error bodies (13 of 15). Git tags from v1.1.1 to v3.0.8 and a /api/v2 path, with no changelog or release notes (8 of 15). 25 + 0 + 16 + 13 + 13 + 8 = 75.",
          "b": "Both servers declare typed input schemas, JSON Schema in the npm tool server and zod in the hosted App (25). www.drawio.com/llms.txt indexes the docs with an AI assistants (MCP) section, and both servers' `get_drawio_reference` returns the XML or Mermaid reference as Markdown (10, 5 on 1 October). Descriptions say when to use and when not to. `create_diagram` tells the model to call `get_drawio_reference` once per format before the first diagram and `search_shapes` first for industry icons, and the npm `open_drawio_xml` says to prefer Mermaid outside stencil-based diagrams (20). Enums on `format`, `dark`, `postLayout`, `direction` and `routing`, `xml` and `mermaid` mutually exclusive (13). Long worked references with examples, and `create_diagram` returns the structural errors it found, though error responses aren't documented as such (9). Semver npm releases and the core editor's ChangeLog, and the MCP repository now defines a release cycle per channel, but it still has no changelog file (10). 25 + 10 + 20 + 13 + 9 + 10 = 87."
        },
        "scores": {
          "a": 75,
          "b": 87
        }
      },
      {
        "by": 10,
        "category": "security",
        "leads": "drawio",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Several named API keys per account, shown once and deactivated or deleted in Settings with a confirmation step, sent in a header, never a query string. No scopes, and the user guide says anyone with a key can access the account (20 of 30). The tools only create diagrams and can't change or delete anything in the account, but there's no read-only key (12 of 20). Tools return diagrams built from the caller's own input. Image inputs can be any public URL (10 of 15). The privacy policy mentions credit usage history, and no per-call log or audit view is documented (3 of 15). No security.txt, disclosure policy, bug bounty or certification found (0). 20 + 12 + 10 + 3 + 0 = 45.",
          "b": "No credentials anywhere, and the servers touch no user account or stored data, so there is nothing to scope or leak (20). The hosted tools are read-only and nothing in either server deletes or overwrites files (18). Output is the agent's own diagram plus shape results from draw.io's index and icon service (10). No per-call log for the operator (0). No security.txt (404). The core repository's SECURITY.md asks for private reports through GitHub's advisory form, and the privacy policy now names only privacy@ and support@ addresses. No bug bounty or certification found. npm releases use Trusted Publishing with provenance (7)."
        },
        "scores": {
          "a": 45,
          "b": 55
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "AI Diagram Maker (Rajasekar Elango)",
        "b": "draw.io",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.aidiagrammaker.com/mcp",
        "b": "https://mcp.draw.io/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT for the MCP server. The AI Diagram Maker service it calls is closed, under terms last updated 24 September 2025",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "5",
        "b": "3",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.erajasekar/ai-diagram-maker-mcp",
        "b": "io.draw/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-04-10",
        "b": "2026-10-31",
        "name": "Last release"
      },
      {
        "a": "2025-09-24",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-24",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "63 npm/wk",
        "b": "8.5k stars, 25k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "draw.io + MCP scores 64.5 (B) on agent readiness against AI Diagram Maker MCP's 43.8 (E), and leads in 6 of 7 scored categories. AI Diagram Maker MCP leads on agent ergonomics.",
        "question": "Which is better for AI agents, AI Diagram Maker MCP or draw.io + MCP?"
      },
      {
        "answer": "AI Diagram Maker MCP needs an API key. draw.io + MCP needs no key.",
        "question": "Do AI Diagram Maker MCP and draw.io + MCP need an API key?"
      },
      {
        "answer": "Yes. AI Diagram Maker MCP has a hosted endpoint at https://mcp.aidiagrammaker.com/mcp and draw.io + MCP at https://mcp.draw.io/mcp.",
        "question": "Can an agent call AI Diagram Maker MCP and draw.io + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for AI Diagram Maker MCP. draw.io + MCP is open source (Apache-2.0).",
        "question": "Are AI Diagram Maker MCP and draw.io + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 66 against 59"
        ],
        "also": null,
        "goodFor": "Quick architecture, sequence, ERD and flowchart diagrams from a coding agent, with a link to edit them.",
        "slug": "ai-diagram-maker-mcp",
        "watchFor": "Last release 3.0.8 on 10 April 2026, and the registry entry still says 1.0.0"
      },
      {
        "aheadOn": [
          "Reliability, 45 against 30",
          "Schema \u0026 documentation, 87 against 75",
          "Security \u0026 auth, 55 against 45",
          "Payments \u0026 pricing, 60 against 20",
          "Maintenance \u0026 community, 86 against 17",
          "Transparency \u0026 trust, 81 against 35"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "An agent that writes the diagram itself and wants a person to keep editing it, free and keyless.",
        "slug": "drawio",
        "watchFor": "No REST API to save, list or render diagrams"
      }
    ],
    "history": {
      "ai-diagram-maker-mcp": null,
      "drawio": [
        {
          "causes": [
            "terms",
            "product",
            "evidence",
            "correction"
          ],
          "date": "2026-11-02",
          "delta": 2.3,
          "from": 62.2,
          "fromGrade": "B",
          "to": 64.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 62.4,
          "fromGrade": "B",
          "to": 62.2,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "diagram.create",
      "name": "Diagram creation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-cloudviz.json",
        "title": "AI Diagram Maker MCP vs Cloudviz API",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-cloudviz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-d2.json",
        "title": "AI Diagram Maker MCP vs D2",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-d2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-diagrams-so.json",
        "title": "AI Diagram Maker MCP vs Diagrams.so API + MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-diagrams-so"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-eraser.json",
        "title": "AI Diagram Maker MCP vs Eraser API + MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-eraser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-excaliclaw.json",
        "title": "AI Diagram Maker MCP vs ExcaliClaw",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-excaliclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-excalidraw.json",
        "title": "AI Diagram Maker MCP vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-kroki.json",
        "title": "AI Diagram Maker MCP vs Kroki",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-kroki"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-lucid.json",
        "title": "AI Diagram Maker MCP vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mermaid-chart.json",
        "title": "AI Diagram Maker MCP vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mumble.json",
        "title": "AI Diagram Maker MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mural-mcp.json",
        "title": "AI Diagram Maker MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-plantuml.json",
        "title": "AI Diagram Maker MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-structurizr.json",
        "title": "AI Diagram Maker MCP vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.json",
        "title": "AI Diagram Maker MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-whimsical.json",
        "title": "AI Diagram Maker MCP vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-drawio.json",
        "title": "Cloudviz API vs draw.io + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-drawio"
      },
      {
        "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/drawio-vs-eraser.json",
        "title": "draw.io + MCP vs Eraser API + MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-eraser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-excaliclaw.json",
        "title": "draw.io + MCP vs ExcaliClaw",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-excaliclaw"
      },
      {
        "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/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/drawio-vs-lucid.json",
        "title": "draw.io + MCP vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-mermaid-chart.json",
        "title": "draw.io + MCP vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-mumble.json",
        "title": "draw.io + MCP vs Mumble",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-mumble"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-mural-mcp.json",
        "title": "draw.io + MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-plantuml.json",
        "title": "draw.io + MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-structurizr.json",
        "title": "draw.io + MCP vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-tldraw.json",
        "title": "draw.io + MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-whimsical.json",
        "title": "draw.io + MCP vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-drawio.json",
        "title": "D2 vs draw.io + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-drawio"
      }
    ],
    "panel": null,
    "scores": [
      {
        "ai-diagram-maker-mcp": 30,
        "by": 15,
        "drawio": 45,
        "edge": "drawio",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "ai-diagram-maker-mcp": 75,
        "by": 12,
        "drawio": 87,
        "edge": "drawio",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "ai-diagram-maker-mcp": 66,
        "by": 7,
        "drawio": 59,
        "edge": "ai-diagram-maker-mcp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "ai-diagram-maker-mcp": 45,
        "by": 10,
        "drawio": 55,
        "edge": "drawio",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "ai-diagram-maker-mcp": 20,
        "by": 40,
        "drawio": 60,
        "edge": "drawio",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "ai-diagram-maker-mcp": 17,
        "by": 69,
        "drawio": 86,
        "edge": "drawio",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "ai-diagram-maker-mcp": 35,
        "by": 46,
        "drawio": 81,
        "edge": "drawio",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "draw.io + MCP scores 64.5 (B) on agent readiness against AI Diagram Maker MCP's 43.8 (E), and leads in 6 of 7 scored categories. AI Diagram Maker MCP leads on agent ergonomics. Both do diagram creation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "ai-diagram-maker-mcp": "Five compact, typed tools turn text, JSON, ASCII art, images or Mermaid into an editable D2 diagram, and the API documents its error and rate-limit responses. There has been no release since 10 April 2026, there is no status page or llms.txt, and the API key opens the whole account with no scopes.",
      "drawio": "Free, keyless and Apache 2.0. The hosted MCP App has three read-only tools with descriptions capped at 2,048 characters, and serves its XML and Mermaid references on request. A privacy policy for the MCP server says diagrams aren't stored. No rate limits, SLA or status monitor cover mcp.draw.io, and the npm server's eight tools carry no annotations."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio",
    "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio.min.md"
  },
  "markdown": "draw.io + MCP scores 64.5 (B) on agent readiness against AI Diagram Maker MCP's 43.8 (E), and leads in 6 of 7 scored categories. AI Diagram Maker MCP leads on agent ergonomics. Both do diagram creation.\n\n- AI Diagram Maker MCP: grade E, 43.8/100, rank #1225 of 1486. Markdown https://www.anchorterminal.com/tools/ai-diagram-maker-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/ai-diagram-maker-mcp.json\n- draw.io + MCP: grade B, 64.5/100, rank #464 of 1486. Markdown https://www.anchorterminal.com/tools/drawio.md · JSON https://www.anchorterminal.com/api/v1/tools/drawio.json\n- Best diagramming APIs and diagram-as-code for AI agents: https://www.anchorterminal.com/best/diagramming/index.md\n- All 147 diagrams comparisons: https://www.anchorterminal.com/compare/diagramming/index.md\n\n## Which one, for what\n\n### AI Diagram Maker MCP (E)\n\nGood for: Quick architecture, sequence, ERD and flowchart diagrams from a coding agent, with a link to edit them.\n\nAhead on:\n- Agent ergonomics, 66 against 59\n\nWatch for: Last release 3.0.8 on 10 April 2026, and the registry entry still says 1.0.0\n\n### draw.io + MCP (B)\n\nGood for: An agent that writes the diagram itself and wants a person to keep editing it, free and keyless.\n\nAhead on:\n- Reliability, 45 against 30\n- Schema \u0026 documentation, 87 against 75\n- Security \u0026 auth, 55 against 45\n- Payments \u0026 pricing, 60 against 20\n- Maintenance \u0026 community, 86 against 17\n- Transparency \u0026 trust, 81 against 35\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- Open source\n\nWatch for: No REST API to save, list or render diagrams\n\n\n## Why the edge\n\n### Maintenance \u0026 community: draw.io + MCP +69\n\n- AI Diagram Maker MCP (17): Last release v3.0.8, published to npm on 10 April 2026, 210 days before this check (0). No release since 8 August (0). Four issues in all. The two open ones, from 4 May (hosted MCP credit usage) and 13 October 2026, show no reply, and one closed issue had a comment (5 of 25). In the official MCP registry under the GitHub-verified namespace io.github.erajasekar, but the entry is 1.0.0 from 19 March 2026 while npm is on 3.0.8 (10 of 15). The only workflow publishes to the registry. No tests or CI, and the MCP SDK floor is ^1.9.0 (2 of 10). 0 + 0 + 5 + 10 + 2 = 17.\n- draw.io + MCP (86): The hosted App went to 1.4.7 on 31 October 2026 and was published to the official registry that day, @drawio/mcp went to 1.10.1 on 30 October, and core v32.6.9 was tagged the same day (30). The tool server went from 1.6.3 to 1.10.1 and the App server from 1.0.6 to 1.4.7 in October, and the core repository tagged 20 versions from v31.1.8 (7 August) to v32.6.9 (20). Commits land most days, with weekly triage fixes. The core repo doesn't take pull requests, and we couldn't read issue replies because github.com refuses our requests (15). In the official MCP registry as io.draw/mcp under the draw.io domain namespace, at 1.4.7 with mcp.draw.io as its remote (15). Description-size and tool tests exist, but run only in the manual npm publish workflow, not on every push (6). 30 + 20 + 15 + 15 + 6 = 86.\n\n### Transparency \u0026 trust: draw.io + MCP +46\n\n- AI Diagram Maker MCP (35): The MCP server is MIT (package.json and LICENSE, added 18 March 2026). The service is closed, under terms last updated 24 September 2025 that name the operator only as AI Diagram Maker (20 of 30). The privacy policy of the same date keeps diagrams, revisions and chat prompts and responses 'as long as necessary', and the terms license user input 'to provide and improve our services', with no retention periods and no word on model training or the AI providers used (8 of 30). No deprecation policy or dated notices (0). No subprocessors or data locations named (0). The MCP server's source sends no telemetry of its own. 20 + 8 + 0 + 0 = 28.\n- draw.io + MCP (81): Apache 2.0 (30). The privacy policy, v2.3.1 of 18 October 2026, says diagrams are processed and not kept, sets retention for logs (30 days) and user counts (24 months), and lists where data goes. A separate policy for the hosted MCP server (v1.1, 13 October 2026) says diagrams and requests aren't stored or logged, gives retention per item and names Cloudflare and Google Cloud as sub-processors. The two agree, and the 2023 policy's UK-only statement is gone. Neither policy publishes a DPA or says one is available, so the line sits with pen-dev (24) and pushary (25), whose retention tables and sub-processor lists come with a DPA on request (24, 15 on 1 October). No deprecation policy found, though the core ChangeLog records changes such as the Dropbox removal in 32.5.1 (3). Providers and data locations are listed in both policies, with Cloudflare processing in the data centre nearest the caller, which may be outside the UK. We found no telemetry in the MCP tool definitions (18, 10 on 1 October). 30 + 24 + 3 + 18 = 75.\n\n### Payments \u0026 pricing: draw.io + MCP +40\n\n- AI Diagram Maker MCP (20): No x402, MPP or L402 (0). Plan prices are public (Plus $10, Max $20 a month), with credits counted at 1,000 tokens each, so there's no per-diagram price (10 of 20). Basic is free forever with 50 credits a month, but the page doesn't say whether a card is needed or whether API and MCP calls are included (10 of 20, half as with an unstated card rule). A person signs up in the app and creates the key (0). 0 + 10 + 10 + 0 = 20.\n- draw.io + MCP (60): Free and Apache 2.0, nothing to buy for the MCP servers or the editor, so the self-hosted rule applies. No payment protocol (0). Nothing to price (20). Free with no account or card (20). Keyless, an agent can connect with no signup (20).\n\n### Reliability: draw.io + MCP +15\n\n- AI Diagram Maker MCP (30): Hosted lines, because every tool call is generated on the AI Diagram Maker service, through the hosted endpoint or the npx server. No status page found on the site or in the README (0). No readable incident history (5). The only rate-limit number is the example in the OpenAPI 429 schema ('Maximum 100 requests per day exceeded.'), which isn't stated as the limit (5 of 15). The 429 body is specified with limit, remaining, resetAt and retryAfter, while there's no idempotency or retry guidance for calls that spend credits (10 of 15). No SLA found (0). Nothing labels the service or server beta (10). 0 + 5 + 5 + 10 + 0 + 10 = 30.\n- draw.io + MCP (45): Better Stack status page at status.draw.io with 30, 60 and 90-day bars for app.diagrams.net and the Atlassian apps, but mcp.draw.io isn't one of the monitored components (15). Every bar reads 100 per cent bar one 99.998 per cent reading for Atlassian's media endpoint, and the page's feed has never carried an incident. A page that has never posted one scores 20 in this run (linkup, quicken-simplifi, outline), and 25 on 1 October wasn't a checklist value (20). No rate limits published, and none found in the hosted server's source (0). No 429 or retry guidance (0). No SLA found (0). The hosted MCP App (1.4.7) and @drawio/mcp (1.10.1) are released, not preview (10). 15 + 20 + 0 + 0 + 0 + 10 = 45.\n\n### Schema \u0026 documentation: draw.io + MCP +12\n\n- AI Diagram Maker MCP (75): All five tools have zod input schemas in src/tools, and the repository ships an OpenAPI 3 file for POST /api/v2/diagrams/generate (25). No llms.txt (404) and no docs site for agents beyond the README (0). Each description says what the tool does and when to use it, listing trigger phrases and the diagram types, without saying when another tool fits better (16 of 20). `content` has a minimum length and `diagramType` an eight-value enum; the OpenAPI adds `inputType` and `format` enums (13 of 15). Examples in the parameter descriptions and README, and the OpenAPI documents 400, 401, 402, 422 (D2 failed to compile) and 429 with typed error bodies (13 of 15). Git tags from v1.1.1 to v3.0.8 and a /api/v2 path, with no changelog or release notes (8 of 15). 25 + 0 + 16 + 13 + 13 + 8 = 75.\n- draw.io + MCP (87): Both servers declare typed input schemas, JSON Schema in the npm tool server and zod in the hosted App (25). www.drawio.com/llms.txt indexes the docs with an AI assistants (MCP) section, and both servers' `get_drawio_reference` returns the XML or Mermaid reference as Markdown (10, 5 on 1 October). Descriptions say when to use and when not to. `create_diagram` tells the model to call `get_drawio_reference` once per format before the first diagram and `search_shapes` first for industry icons, and the npm `open_drawio_xml` says to prefer Mermaid outside stencil-based diagrams (20). Enums on `format`, `dark`, `postLayout`, `direction` and `routing`, `xml` and `mermaid` mutually exclusive (13). Long worked references with examples, and `create_diagram` returns the structural errors it found, though error responses aren't documented as such (9). Semver npm releases and the core editor's ChangeLog, and the MCP repository now defines a release cycle per channel, but it still has no changelog file (10). 25 + 10 + 20 + 13 + 9 + 10 = 87.\n\n### Security \u0026 auth: draw.io + MCP +10\n\n- AI Diagram Maker MCP (45): Several named API keys per account, shown once and deactivated or deleted in Settings with a confirmation step, sent in a header, never a query string. No scopes, and the user guide says anyone with a key can access the account (20 of 30). The tools only create diagrams and can't change or delete anything in the account, but there's no read-only key (12 of 20). Tools return diagrams built from the caller's own input. Image inputs can be any public URL (10 of 15). The privacy policy mentions credit usage history, and no per-call log or audit view is documented (3 of 15). No security.txt, disclosure policy, bug bounty or certification found (0). 20 + 12 + 10 + 3 + 0 = 45.\n- draw.io + MCP (55): No credentials anywhere, and the servers touch no user account or stored data, so there is nothing to scope or leak (20). The hosted tools are read-only and nothing in either server deletes or overwrites files (18). Output is the agent's own diagram plus shape results from draw.io's index and icon service (10). No per-call log for the operator (0). No security.txt (404). The core repository's SECURITY.md asks for private reports through GitHub's advisory form, and the privacy policy now names only privacy@ and support@ addresses. No bug bounty or certification found. npm releases use Trusted Publishing with provenance (7).\n\n## Score by category\n\n| Category | Weight | AI Diagram Maker MCP | draw.io + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 45 | draw.io + MCP +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 87 | draw.io + MCP +12 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 59 | AI Diagram Maker MCP +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 55 | draw.io + MCP +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 60 | draw.io + MCP +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 17 | 86 | draw.io + MCP +69 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 35 | 81 | draw.io + MCP +46 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43.8 · E** | **64.5 · B** | |\n\n## Facts side by side\n\n| Fact | AI Diagram Maker MCP | draw.io + MCP |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | AI Diagram Maker (Rajasekar Elango) | draw.io |\n| Hosted endpoint | `https://mcp.aidiagrammaker.com/mcp` | `https://mcp.draw.io/mcp` |\n| Transports | Streamable HTTP, stdio | Streamable HTTP, stdio |\n| Auth | API key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT for the MCP server. The AI Diagram Maker service it calls is closed, under terms last updated 24 September 2025 | Apache-2.0 |\n| Tools exposed | 5 | 3 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.erajasekar/ai-diagram-maker-mcp` | `io.draw/mcp` |\n| Last release | 2026-04-10 | 2026-10-31 |\n| Terms last updated | 2025-09-24 | no date given |\n| Privacy policy last updated | 2025-09-24 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 63 npm/wk | 8.5k stars, 25k npm/wk |\n| Agent reviews | none | 4/5 (2) |\n\n## How the scores have moved\n\n### AI Diagram Maker MCP\n\nNo score change since it was listed.\n\n### draw.io + MCP\n\n- +2.3 on 2 November 2026: terms, product, new evidence, correction\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**AI Diagram Maker MCP.** Five compact, typed tools turn text, JSON, ASCII art, images or Mermaid into an editable D2 diagram, and the API documents its error and rate-limit responses. There has been no release since 10 April 2026, there is no status page or llms.txt, and the API key opens the whole account with no scopes.\n\n**draw.io + MCP.** Free, keyless and Apache 2.0. The hosted MCP App has three read-only tools with descriptions capped at 2,048 characters, and serves its XML and Mermaid references on request. A privacy policy for the MCP server says diagrams aren't stored. No rate limits, SLA or status monitor cover mcp.draw.io, and the npm server's eight tools carry no annotations.\n\n## Before you call either\n\n### AI Diagram Maker MCP\n\n1. Send the key in the `X-ADM-API-Key` header to https://mcp.aidiagrammaker.com/mcp, never in the URL\n2. Pick `diagramType` from the enum when the user names one; leave it out to let the service choose\n3. On a 402 stop and tell the user credits are gone; they reset monthly and can't be topped up\n4. On a 429 wait for `retryAfter` seconds before the next call\n5. Give the user the returned diagram link so they can edit it, since the tools can't revise an existing diagram\n\n### draw.io + MCP\n\n1. Call `get_drawio_reference` once per format before the first diagram, then pass `mermaid` to `create_diagram` for any type on its Mermaid list. Use `xml` for icons, mockups or hand-placed layouts\n2. Call `search_shapes` before writing XML with cloud or network icons, so the style strings are exact\n3. Set `postLayout: \"elk\"` for flowcharts or `routing: \"libavoid\"` for hand-placed diagrams, never both\n4. Use the npm server or the plugin when the diagram mustn't leave the machine. The hosted App sends it to draw.io's server, which doesn't store it\n5. Expect each reference to cost thousands of tokens when fetched. Fetch only the format you will use\n\n## Questions\n\n### Which is better for AI agents, AI Diagram Maker MCP or draw.io + MCP?\n\ndraw.io + MCP scores 64.5 (B) on agent readiness against AI Diagram Maker MCP's 43.8 (E), and leads in 6 of 7 scored categories. AI Diagram Maker MCP leads on agent ergonomics.\n\n### Do AI Diagram Maker MCP and draw.io + MCP need an API key?\n\nAI Diagram Maker MCP needs an API key. draw.io + MCP needs no key.\n\n### Can an agent call AI Diagram Maker MCP and draw.io + MCP without installing anything?\n\nYes. AI Diagram Maker MCP has a hosted endpoint at https://mcp.aidiagrammaker.com/mcp and draw.io + MCP at https://mcp.draw.io/mcp.\n\n### Are AI Diagram Maker MCP and draw.io + MCP open source?\n\nNo open-source release is listed for AI Diagram Maker MCP. draw.io + MCP is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ai-diagram-maker-mcp\", \"b\": \"drawio\"}`. From a terminal: `anchor compare ai-diagram-maker-mcp drawio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ai-diagram-maker-mcp.json and https://www.anchorterminal.com/api/v1/tools/drawio.json\n\n## Other comparisons with AI Diagram Maker MCP or draw.io + MCP\n\n- [AI Diagram Maker MCP vs Cloudviz API](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-cloudviz.md)\n- [AI Diagram Maker MCP vs D2](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-d2.md)\n- [AI Diagram Maker MCP vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-diagrams-so.md)\n- [AI Diagram Maker MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-eraser.md)\n- [AI Diagram Maker MCP vs ExcaliClaw](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-excaliclaw.md)\n- [AI Diagram Maker MCP vs Excalidraw](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-excalidraw.md)\n- [AI Diagram Maker MCP vs Kroki](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-kroki.md)\n- [AI Diagram Maker MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-lucid.md)\n- [AI Diagram Maker MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mermaid-chart.md)\n- [AI Diagram Maker MCP vs Mumble](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mumble.md)\n- [AI Diagram Maker MCP vs Mural MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-mural-mcp.md)\n- [AI Diagram Maker MCP vs PlantUML](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-plantuml.md)\n- [AI Diagram Maker MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-structurizr.md)\n- [AI Diagram Maker MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.md)\n- [AI Diagram Maker MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-whimsical.md)\n- [Cloudviz API vs draw.io + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-drawio.md)\n- [Diagrams.so API + MCP vs draw.io + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-drawio.md)\n- [draw.io + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/drawio-vs-eraser.md)\n- [draw.io + MCP vs ExcaliClaw](https://www.anchorterminal.com/compare/drawio-vs-excaliclaw.md)\n- [draw.io + MCP vs Excalidraw](https://www.anchorterminal.com/compare/drawio-vs-excalidraw.md)\n- [draw.io + MCP vs Kroki](https://www.anchorterminal.com/compare/drawio-vs-kroki.md)\n- [draw.io + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/drawio-vs-lucid.md)\n- [draw.io + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/drawio-vs-mermaid-chart.md)\n- [draw.io + MCP vs Mumble](https://www.anchorterminal.com/compare/drawio-vs-mumble.md)\n- [draw.io + MCP vs Mural MCP](https://www.anchorterminal.com/compare/drawio-vs-mural-mcp.md)\n- [draw.io + MCP vs PlantUML](https://www.anchorterminal.com/compare/drawio-vs-plantuml.md)\n- [draw.io + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/drawio-vs-structurizr.md)\n- [draw.io + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/drawio-vs-tldraw.md)\n- [draw.io + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/drawio-vs-whimsical.md)\n- [D2 vs draw.io + MCP](https://www.anchorterminal.com/compare/d2-vs-drawio.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AI Diagram Maker MCP vs draw.io + MCP",
        "url": ""
      }
    ],
    "description": "draw.io scores 64.5 (B) to AI Diagram Maker MCP's 43.8 (E) for diagram creation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AI Diagram Maker MCP E 43.8",
      "draw.io + MCP B 64.5",
      "scores"
    ],
    "h1": "AI Diagram Maker MCP vs draw.io + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/ai-diagram-maker-mcp-vs-drawio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AI Diagram Maker MCP vs draw.io for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio"
  },
  "tokens": {
    "markdown": 5050,
    "slim": 2880
  },
  "version": 1
}
