{
  "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": "tldraw SDK + MCP scores 57 (C) 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 security \u0026 auth.",
    "b": {
      "slug": "tldraw",
      "name": "tldraw SDK + MCP",
      "vendor": "tldraw",
      "vendorUrl": "https://tldraw.dev",
      "kind": "sdk",
      "category": "diagramming",
      "summary": "A React infinite-canvas SDK that an agent can drive through the editor API, creating, reading and changing shapes, turning Mermaid into shapes and exporting images.",
      "url": "https://www.anchorterminal.com/tools/tldraw",
      "markdownUrl": "https://www.anchorterminal.com/tools/tldraw.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tldraw.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tldraw.json",
      "dns": "tldraw.grade.anchorterminal.com",
      "repo": "https://github.com/tldraw/tldraw",
      "license": "tldraw licence (source-available, production needs a licence key)",
      "transports": [
        "streamable-http",
        "sse"
      ],
      "remoteUrl": "https://tldraw-mcp-app.tldraw.workers.dev/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "tldraw"
        }
      ],
      "auth": "none",
      "authNotes": "The SDK runs in your app and needs no API key. It checks a public licence key on the client, offline, and won't run in production without one. The hosted MCP App needs no auth.",
      "pricing": "paid",
      "pricingNotes": "Free to use in development. Production needs a licence key. A 100-day trial is free with no card, a hobby licence for non-commercial projects is free at tldraw's discretion and shows a watermark, and commercial licences are annual with value-based pricing agreed with sales. Startup discounts are available. The MCP App is free (https://tldraw.dev/pricing).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 50672,
        "npmWeekly": 490141,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://tldraw.dev/docs/ai",
      "llmsTxt": "https://tldraw.dev/llms.txt",
      "registryName": "io.github.tldraw/tldraw",
      "capabilities": [
        "diagram.create",
        "diagram.as-code",
        "diagram.edit",
        "diagram.export"
      ],
      "tags": [
        "typescript",
        "hosted",
        "mcp",
        "llms-txt",
        "free-tier"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57,
        "grade": "C",
        "agentReady": false,
        "rank": 808,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 89,
          "payments": 35,
          "reliability": 70,
          "schema": 79,
          "security": 40,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": -5,
        "negativeNotes": [
          "Checked 2026-11-03. The licence page still says hobby licences send nothing by default and trial licences send only a hash of the key, with no user data. The SDK's LicenseManager sends the licence ID, SKU, environment and the full page URL (window.location.href) for trial, hobby-with-watermark, tracked and unlicensed production deployments, and the licence key page lists most of this. A full page URL can carry user data in its path or query (-2) (https://github.com/tldraw/tldraw/blob/main/packages/editor/src/lib/license/LicenseManager.ts, https://tldraw.dev/community/license).",
          "Checked 2026-11-03. Minor releases v5.2.0 (1 July 2026), v5.3.0 (5 August) and v5.5.0 (30 September) each mark breaking API changes in their release notes, among them removed triple and quadruple click handlers, the removed `usePassThroughMouseOverEvents` hook, a new `store.query.filterHistory()` counter and removed debug flags. None was deprecated in an earlier release's notes or API report, so one folded -3 (https://tldraw.dev/releases/v5.5.0, https://github.com/tldraw/tldraw/blob/main/apps/docs/content/releases/v5.3.0.mdx)."
        ],
        "verdict": "Full editor API to create, read, bind and export shapes from code, with agent, chat and workflow starter kits and a hosted MCP App. Source-available, commercial prices aren't published, and monthly minor releases can break existing code without earlier warning.",
        "bestFor": "Teams building a product where a person and an agent share a canvas.",
        "strengths": [
          "Full editor API to create, read, bind and export shapes from code, with agent, chat and workflow starter kits",
          "Hosted MCP App with two model-facing tools, all six tools annotated",
          "At least eleven releases between 5 August and 28 October 2026, with dated release notes",
          "Development use and a 100-day production trial need no payment"
        ],
        "weaknesses": [
          "Source-available, and commercial prices aren't published",
          "`exec` runs model-written JavaScript on the canvas with no approval step",
          "Licence pings send the licence ID and full page URL for trial and hobby keys, more than the licence page says",
          "Minor releases v5.2.0, v5.3.0 and v5.5.0 removed or changed APIs with no earlier deprecation",
          "No server-side REST API, and the MCP App needs a host that renders MCP Apps"
        ],
        "agentNotes": [
          "Through the MCP App, call `search` on the Editor API spec first, then `exec` with JavaScript that calls `editor` methods",
          "Omit `canvasId` to start a blank canvas, and pass the returned `canvasId` to keep editing the same one",
          "Paste Mermaid into the canvas to get editable shapes instead of placing each shape by hand",
          "Return `editor.getCurrentPageShapes()` from `exec` to check what was drawn",
          "Read the release notes before a minor upgrade. Minor versions can break"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 89,
          "payments": 35,
          "reliability": 70,
          "schema": 79,
          "security": 40,
          "transparency": 45
        },
        "provenanceScore": 57,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "lastMoved": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install tldraw",
        "claudeCode": "claude mcp add --transport http tldraw https://tldraw-mcp-app.tldraw.workers.dev/mcp",
        "config": {
          "mcpServers": {
            "tldraw": {
              "url": "https://tldraw-mcp-app.tldraw.workers.dev/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/tldraw"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "tldraw, Inc.",
        "domain": "tldraw.dev",
        "domainRegistered": "2022-04-11",
        "endpointOnVendorDomain": false,
        "terms": "https://www.tldraw.com/tos.html",
        "privacy": "https://www.tldraw.com/privacy.html",
        "statusPage": "",
        "changelog": "https://tldraw.dev/releases",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The hosted MCP App runs on a workers.dev subdomain, not on a tldraw domain",
          "tldraw.dev/.well-known/security.txt is 404 (3 November 2026). tldraw.dev's robots.txt carries Content-Signal search=yes, ai-input=yes, ai-train=yes."
        ],
        "score": 57
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tldraw.json",
      "live": {
        "slug": "tldraw",
        "probe": {
          "target": "https://tldraw-mcp-app.tldraw.workers.dev/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:21:00.26868548Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 1045,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.82,
          "p50ms24h": 771,
          "p95ms24h": 1088,
          "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": 252
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 241
            },
            {
              "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 246
            },
            {
              "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
            }
          ],
          "outages": [
            {
              "start": "2026-10-24T08:51:12.694449612Z",
              "end": "2026-10-24T09:08:49.734715902Z",
              "note": "timed out"
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "tldraw/tldraw",
            "version": "v5.6.0",
            "released": "2026-10-28",
            "seenAt": "2026-11-07T00:11:53.122853049Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.tldraw/tldraw",
            "version": "0.1.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "tldraw",
            "version": "5.6.0",
            "seenAt": "2026-11-07T00:11:52.358139073Z"
          }
        ],
        "githubStars": 51384,
        "npmWeekly": 804062,
        "securityTxt": {
          "url": "https://tldraw.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:30.766101511Z"
        },
        "llmsTxt": {
          "url": "https://tldraw.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:08.003411079Z"
        },
        "domain": {
          "domain": "tldraw.dev",
          "registered": "2022-04-11",
          "source": "https://pubapi.registry.google/rdap/domain/tldraw.dev",
          "checkedAt": "2026-11-01T14:19:45.094666522Z"
        },
        "pages": [
          {
            "url": "https://tldraw.dev/releases",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:22:19.569337207Z",
            "changedAt": "2026-10-29T05:17:48.563076702Z",
            "fingerprint": "6d12c5dc763d"
          },
          {
            "url": "https://tldraw.dev/releases/v5.2.0",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:22:21.61987034Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "96c72ef2b48a"
          },
          {
            "url": "https://tldraw.dev/releases/v5.3.0",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:22:23.645525635Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af37057dd7d1"
          },
          {
            "url": "https://tldraw.dev/releases/v5.4.0",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:22:25.657241515Z",
            "changedAt": "2026-10-29T05:17:50.428087449Z",
            "fingerprint": "ef597ced21e1"
          },
          {
            "url": "https://tldraw.dev/releases/v5.5.0",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:22:27.650776224Z",
            "changedAt": "2026-10-29T05:17:52.644003352Z",
            "fingerprint": "bbcf6721b547"
          },
          {
            "url": "https://tldraw.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:17.410822368Z",
            "changedAt": "2026-11-07T14:22:17.410822368Z",
            "fingerprint": "85db48c1e06d"
          },
          {
            "url": "https://www.tldraw.com/privacy.html",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-11-07T14:35:43.065789137Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://www.tldraw.com/tos.html",
            "kind": "terms",
            "status": 0,
            "checkedAt": "2026-11-07T14:35:43.243537598Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          }
        ],
        "mcpTools": {
          "url": "https://tldraw-mcp-app.tldraw.workers.dev/mcp",
          "checkedAt": "2026-11-07T01:48:39.219355762Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "search",
              "title": "Search Editor API",
              "description": "Search the tldraw Editor API spec by writing JavaScript that receives a `spec` object and returns a result. The spec contains: spec.members (all Editor methods/properties with name, kind, signature, description, category), spec.categories (category names), spec.types.shapes (focused shape type definitions with props), spec.types.shapeTypes (list of all shape type strings), spec.helpers (exec helper functions with descriptions, params, examples).\n\nExamples:\n- Find shape methods: return spec.members.filter(m =\u003e m.category === \"shapes\").map(m =\u003e ({ name: m.name, signature: m.signature }))\n- Get arrow shape props: return spec.types.shapes.find(s =\u003e s.shapeType === \"arrow\")\n- List all categories: return spec.categories\n- Find a helper: return spec.helpers.find(h =\u003e h.name === \"createArrowBetweenShapes\")",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "code": {
                    "description": "JavaScript code that receives `spec` and returns a result. Must use `return` to produce output.",
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "exec",
              "title": "Execute Code",
              "description": "Execute JavaScript code on a tldraw canvas. The code runs in the widget with access to the live `editor` instance, helper functions, and normal js. Use the `search` tool first to discover available Editor methods and shape types.\n\nEach canvas has a unique `canvasId`. Omit `canvasId` to create a new blank canvas. To edit an existing canvas, pass the `canvasId` that was returned by a previous exec call.\n\nShapes and text grow depending on the amount of text they have. Use clever scripting to ensure there are no unintended overlaps.\n\nExamples:\n- Create a rectangle: editor.createShape({ _type: 'rectangle', shapeId: 'box1', x: 200, y: 120, w: 320, h: 180, text: 'Hello' })\n- Connect shapes with an arrow: editor.createShape({ _type: 'arrow', shapeId: 'a1', fromId: 'box1', toId: 'box2', x1: 0, y1: 0, x2: 100, y2: 0 })\n- Select and zoom: editor.select('box1'); editor.zoomToSelection()\n- Read shapes: return editor.getCurrentPageShapes()\n- Distribute evenly: editor.distributeShapes(editor.getSelectedShapeIds(), 'horizontal')\n- Box around shapes: boxShapes(['box1', 'box2'], { text: 'Group label', color: 'blue' })\n- Stack shapes dynamically: editor.createShape({ _type: 'rectangle', shapeId: 'a', x: 0, y: 0, w: 300, h: 200, text: 'First box\\nwith wrapping text' }); const bounds = editor.getShapePageBounds('a'); editor.createShape({ _type: 'rectangle', shapeId: 'b', x: 0, y: bounds.maxY + 20, w: 300, h: 200, text: 'Below first' })",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "canvasId": {
                    "description": "Canvas ID to edit. Omit to create a new blank canvas. Pass a canvasId from a previous exec result to continue editing that canvas.",
                    "type": "string"
                  },
                  "code": {
                    "description": "JavaScript code to execute. Has access to `editor` (tldraw Editor instance) and helper functions.",
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false
              }
            },
            {
              "name": "_exec_callback",
              "title": "Exec Callback",
              "description": "App-only: widget calls this to resolve a pending exec request.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "channel": {
                    "type": "string"
                  },
                  "error": {
                    "type": "string"
                  },
                  "execKey": {
                    "type": "string"
                  },
                  "result": {
                    "properties": {
                      "canvasId": {
                        "type": "string"
                      },
                      "error": {
                        "type": "string"
                      },
                      "result": {},
                      "success": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "success"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "channel"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false
              }
            },
            {
              "name": "_get_canvas_state",
              "title": "Get Canvas State",
              "description": "App-only: get the latest checkpoint for a canvas by its canvasId.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "canvasId": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "canvasId"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "read_checkpoint",
              "title": "Read Checkpoint",
              "description": "App-only: read shapes from a checkpoint by ID.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "checkpointId": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "checkpointId"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "save_checkpoint",
              "title": "Save Checkpoint",
              "description": "App-only: save shapes to a checkpoint (from user edits). shapesJson and assetsJson must be JSON array strings.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "assetsJson": {
                    "type": "string"
                  },
                  "bindingsJson": {
                    "type": "string"
                  },
                  "canvasId": {
                    "type": "string"
                  },
                  "checkpointId": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "shapesJson": {
                    "type": "string"
                  }
                },
                "required": [
                  "checkpointId",
                  "shapesJson"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false
              }
            }
          ],
          "schemaTokens": 1448,
          "changedAt": "2026-11-07T01:48:39.219355762Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 1448,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 5
            },
            "findings": [
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "_exec_callback",
                "message": "none of its 4 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "_get_canvas_state",
                "message": "its one parameter, canvasId, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "read_checkpoint",
                "message": "its one parameter, checkpointId, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "save_checkpoint",
                "message": "none of its 5 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC12",
                "severity": "warn",
                "tool": "_exec_callback",
                "message": "no type for result.result",
                "fix": "Give every parameter a type (or an enum)."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "6 of 6 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "github": {
          "repo": "tldraw/tldraw",
          "checkedAt": "2026-11-02T09:32:05.929511192Z",
          "stars": 51194,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T17:57:52Z",
          "openIssues": 414,
          "openPRs": 147,
          "issuesOpened90d": 341,
          "issuesClosed90d": 284,
          "prsMerged90d": 783,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 48,
            "failure": 2,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-30T14:26:42Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 17,
            "medianDays": 0.6
          }
        },
        "updatedAt": "2026-11-07T18:21:00.26868548Z"
      }
    },
    "edges": [
      {
        "by": 72,
        "category": "maintenance",
        "leads": "tldraw",
        "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": "v5.6.0 tagged on 28 October 2026 (30). At least eleven releases since 5 August, v5.3.0 to v5.3.2, v5.4.0 to v5.4.2, v5.5.0, v5.5.1, v5.5.2, v5.5.4 and v5.6.0 (20). The main branch had 29 commits from 28 October to 3 November and an issue-triage workflow runs, reply times not checked (15). The MCP App is in the official registry as io.github.tldraw/tldraw, active (15). CI checks, a dependency dedupe workflow and a licence report (9)."
        },
        "scores": {
          "a": 17,
          "b": 89
        }
      },
      {
        "by": 40,
        "category": "reliability",
        "leads": "tldraw",
        "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": "Scored as an SDK. The `tldraw` npm package with React runtimes stated in the docs (20). A public `checks.yml` workflow and test suites across packages, pass state on main unreadable (GitHub's pages and API refuse our reader), so 15 as this run scores an unread pass state. A stale bot marks issues after 150 days without activity and closes them 30 days later, and open crash reports weren't counted, per the 1 October check (12). RELEASES.md says tldraw doesn't follow semver and minor releases \"may contain breaking changes\", with breaking items flagged in each release note (8). v5 is a stable line (15). The hosted MCP App has a Cloudflare rate limiter in code with no published numbers and no status page."
        },
        "scores": {
          "a": 30,
          "b": 70
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "tldraw",
        "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": "Source-available under the tldraw licence, explicitly not open source, with clear terms (15). The SDK runs in your app. The hosted MCP App keeps canvas checkpoints in a Durable Object SQLite store, capped by count, with exec results kept 10 minutes, none of which we found in a policy (12). RELEASES.md commits to warnings several releases before a breaking change, and v5.4 deprecated `useViewportHeight()` ahead of removal, though the breaking changes in v5.2.0, v5.3.0 and v5.5.0 came without earlier warnings (12). Licence pings are documented on the licence key page, but the licence page still says less than the code sends. Opting out means a commercial licence (6)."
        },
        "scores": {
          "a": 35,
          "b": 51
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "tldraw",
        "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": "No payment protocol (0). Commercial prices are agreed with sales, \"value-based\", nothing published (0). Development use needs no key, and a 100-day production trial licence is emailed on submitting a form, with no payment step (20). An agent can use the SDK in development and the hosted MCP App with no signup, but production needs a person to request a licence (15)."
        },
        "scores": {
          "a": 20,
          "b": 35
        }
      },
      {
        "by": 5,
        "category": "ergonomics",
        "leads": "tldraw",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Five compact tools (25). Output can be SVG or PNG and the API can return the D2 source with `debug`, but there's nothing to page or trim, and results carry the rendered image (10 of 20). Typed error bodies with codes, a 422 that returns the failing D2 code, and retryAfter on 429 (16 of 20). No readOnlyHint or other annotations in the source and no idempotency key, and every call spends credits (5 of 20). Only `content` is required and the hosted endpoint needs no install, but there is no SDK beyond the server (10 of 15). 25 + 10 + 16 + 5 + 10 = 66.",
          "b": "Two model-facing MCP tools, with four more hidden from the model as app-only (25). `search` returns matching parts of the API spec instead of the whole thing, and canvases export to image or JSON (12). `exec` returns the thrown error text (10). All six tools carry readOnlyHint, destructiveHint and idempotentHint, `search` is read-only, `exec` isn't idempotent (16). TypeScript only, and the canvas needs a host that renders MCP Apps (8)."
        },
        "scores": {
          "a": 66,
          "b": 71
        }
      },
      {
        "by": 5,
        "category": "security",
        "leads": "ai-diagram-maker-mcp",
        "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 API key. Licence keys are public and checked offline. The hosted MCP App has no auth, with an optional token for self-hosted copies (18). `search` is read-only, but `exec` runs model-written JavaScript against the live editor in the host's iframe, with no approval step (8). Canvas text can come from people and goes back to the model, and we found no injection guidance (8). No audit log (0). SECURITY.md takes reports at hello@tldraw.com with a 24-hour response target and, since 2 November 2026, lists 3.x, 4.x and 5.x as supported. No security.txt (404 on 3 November), no bug bounty found, no advisories in OSV (6)."
        },
        "scores": {
          "a": 45,
          "b": 40
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "AI Diagram Maker (Rajasekar Elango)",
        "b": "tldraw",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.aidiagrammaker.com/mcp",
        "b": "https://tldraw-mcp-app.tldraw.workers.dev/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "Streamable HTTP, SSE (legacy)",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "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": "tldraw licence (source-available, production needs a licence key)",
        "name": "Licence"
      },
      {
        "a": "5",
        "b": "6",
        "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.github.tldraw/tldraw",
        "name": "MCP registry"
      },
      {
        "a": "2026-04-10",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2025-09-24",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-24",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "63 npm/wk",
        "b": "51k stars, 490k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "tldraw SDK + MCP scores 57 (C) 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 security \u0026 auth.",
        "question": "Which is better for AI agents, AI Diagram Maker MCP or tldraw SDK + MCP?"
      },
      {
        "answer": "Yes. AI Diagram Maker MCP has a hosted endpoint at https://mcp.aidiagrammaker.com/mcp and tldraw SDK + MCP at https://tldraw-mcp-app.tldraw.workers.dev/mcp.",
        "question": "Can an agent call AI Diagram Maker MCP and tldraw SDK + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 45 against 40"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where tldraw SDK + MCP loses 5 points for them"
        ],
        "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, 70 against 30",
          "Agent ergonomics, 71 against 66",
          "Payments \u0026 pricing, 35 against 20",
          "Maintenance \u0026 community, 89 against 17",
          "Transparency \u0026 trust, 51 against 35"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "Teams building a product where a person and an agent share a canvas.",
        "slug": "tldraw",
        "watchFor": "Source-available, and commercial prices aren't published"
      }
    ],
    "history": {
      "ai-diagram-maker-mcp": null,
      "tldraw": [
        {
          "causes": [
            "correction",
            "event"
          ],
          "date": "2026-11-03",
          "delta": -4,
          "from": 61,
          "fromGrade": "C",
          "to": 57,
          "toGrade": "C"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.2,
          "from": 60.8,
          "fromGrade": "C",
          "to": 61,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 60.7,
          "fromGrade": "C",
          "to": 60.8,
          "toGrade": "C"
        }
      ]
    },
    "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-drawio.json",
        "title": "AI Diagram Maker MCP vs draw.io + MCP",
        "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio"
      },
      {
        "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-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-tldraw.json",
        "title": "Cloudviz API vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.json",
        "title": "Diagrams.so API + MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/eraser-vs-tldraw.json",
        "title": "Eraser API + MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excaliclaw-vs-tldraw.json",
        "title": "ExcaliClaw vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/excaliclaw-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.json",
        "title": "Excalidraw vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lucid-vs-tldraw.json",
        "title": "Lucid API + MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/lucid-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mermaid-chart-vs-tldraw.json",
        "title": "Mermaid Chart MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/mermaid-chart-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mumble-vs-tldraw.json",
        "title": "Mumble vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/mumble-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mural-mcp-vs-tldraw.json",
        "title": "Mural MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/mural-mcp-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/structurizr-vs-tldraw.json",
        "title": "Structurizr + MCP vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/structurizr-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tldraw-vs-whimsical.json",
        "title": "tldraw SDK + MCP vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/tldraw-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-tldraw.json",
        "title": "D2 vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-tldraw.json",
        "title": "Kroki vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plantuml-vs-tldraw.json",
        "title": "PlantUML vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/plantuml-vs-tldraw"
      }
    ],
    "panel": null,
    "scores": [
      {
        "ai-diagram-maker-mcp": 30,
        "by": 40,
        "edge": "tldraw",
        "key": "reliability",
        "name": "Reliability",
        "tldraw": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "ai-diagram-maker-mcp": 75,
        "by": 4,
        "edge": "tldraw",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tldraw": 79,
        "weight": 13
      },
      {
        "ai-diagram-maker-mcp": 66,
        "by": 5,
        "edge": "tldraw",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tldraw": 71,
        "weight": 13
      },
      {
        "ai-diagram-maker-mcp": 45,
        "by": 5,
        "edge": "ai-diagram-maker-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "tldraw": 40,
        "weight": 14
      },
      {
        "ai-diagram-maker-mcp": 20,
        "by": 15,
        "edge": "tldraw",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tldraw": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "ai-diagram-maker-mcp": 17,
        "by": 72,
        "edge": "tldraw",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tldraw": 89,
        "weight": 7
      },
      {
        "ai-diagram-maker-mcp": 35,
        "by": 16,
        "edge": "tldraw",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tldraw": 51,
        "weight": 7
      }
    ],
    "summary": "tldraw SDK + MCP scores 57 (C) 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 security \u0026 auth. 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.",
      "tldraw": "Full editor API to create, read, bind and export shapes from code, with agent, chat and workflow starter kits and a hosted MCP App. Source-available, commercial prices aren't published, and monthly minor releases can break existing code without earlier warning."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw",
    "json": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.min.md"
  },
  "markdown": "tldraw SDK + MCP scores 57 (C) 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 security \u0026 auth. 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- tldraw SDK + MCP: grade C, 57/100, rank #808 of 1486. Markdown https://www.anchorterminal.com/tools/tldraw.md · JSON https://www.anchorterminal.com/api/v1/tools/tldraw.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- Security \u0026 auth, 45 against 40\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where tldraw SDK + MCP loses 5 points for them\n\nWatch for: Last release 3.0.8 on 10 April 2026, and the registry entry still says 1.0.0\n\n### tldraw SDK + MCP (C)\n\nGood for: Teams building a product where a person and an agent share a canvas.\n\nAhead on:\n- Reliability, 70 against 30\n- Agent ergonomics, 71 against 66\n- Payments \u0026 pricing, 35 against 20\n- Maintenance \u0026 community, 89 against 17\n- Transparency \u0026 trust, 51 against 35\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Source-available, and commercial prices aren't published\n\n\n## Why the edge\n\n### Maintenance \u0026 community: tldraw SDK + MCP +72\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- tldraw SDK + MCP (89): v5.6.0 tagged on 28 October 2026 (30). At least eleven releases since 5 August, v5.3.0 to v5.3.2, v5.4.0 to v5.4.2, v5.5.0, v5.5.1, v5.5.2, v5.5.4 and v5.6.0 (20). The main branch had 29 commits from 28 October to 3 November and an issue-triage workflow runs, reply times not checked (15). The MCP App is in the official registry as io.github.tldraw/tldraw, active (15). CI checks, a dependency dedupe workflow and a licence report (9).\n\n### Reliability: tldraw SDK + MCP +40\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- tldraw SDK + MCP (70): Scored as an SDK. The `tldraw` npm package with React runtimes stated in the docs (20). A public `checks.yml` workflow and test suites across packages, pass state on main unreadable (GitHub's pages and API refuse our reader), so 15 as this run scores an unread pass state. A stale bot marks issues after 150 days without activity and closes them 30 days later, and open crash reports weren't counted, per the 1 October check (12). RELEASES.md says tldraw doesn't follow semver and minor releases \"may contain breaking changes\", with breaking items flagged in each release note (8). v5 is a stable line (15). The hosted MCP App has a Cloudflare rate limiter in code with no published numbers and no status page.\n\n### Transparency \u0026 trust: tldraw SDK + MCP +16\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- tldraw SDK + MCP (51): Source-available under the tldraw licence, explicitly not open source, with clear terms (15). The SDK runs in your app. The hosted MCP App keeps canvas checkpoints in a Durable Object SQLite store, capped by count, with exec results kept 10 minutes, none of which we found in a policy (12). RELEASES.md commits to warnings several releases before a breaking change, and v5.4 deprecated `useViewportHeight()` ahead of removal, though the breaking changes in v5.2.0, v5.3.0 and v5.5.0 came without earlier warnings (12). Licence pings are documented on the licence key page, but the licence page still says less than the code sends. Opting out means a commercial licence (6).\n\n### Payments \u0026 pricing: tldraw SDK + MCP +15\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- tldraw SDK + MCP (35): No payment protocol (0). Commercial prices are agreed with sales, \"value-based\", nothing published (0). Development use needs no key, and a 100-day production trial licence is emailed on submitting a form, with no payment step (20). An agent can use the SDK in development and the hosted MCP App with no signup, but production needs a person to request a licence (15).\n\n### Agent ergonomics: tldraw SDK + MCP +5\n\n- AI Diagram Maker MCP (66): Five compact tools (25). Output can be SVG or PNG and the API can return the D2 source with `debug`, but there's nothing to page or trim, and results carry the rendered image (10 of 20). Typed error bodies with codes, a 422 that returns the failing D2 code, and retryAfter on 429 (16 of 20). No readOnlyHint or other annotations in the source and no idempotency key, and every call spends credits (5 of 20). Only `content` is required and the hosted endpoint needs no install, but there is no SDK beyond the server (10 of 15). 25 + 10 + 16 + 5 + 10 = 66.\n- tldraw SDK + MCP (71): Two model-facing MCP tools, with four more hidden from the model as app-only (25). `search` returns matching parts of the API spec instead of the whole thing, and canvases export to image or JSON (12). `exec` returns the thrown error text (10). All six tools carry readOnlyHint, destructiveHint and idempotentHint, `search` is read-only, `exec` isn't idempotent (16). TypeScript only, and the canvas needs a host that renders MCP Apps (8).\n\n### Security \u0026 auth: AI Diagram Maker MCP +5\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- tldraw SDK + MCP (40): No API key. Licence keys are public and checked offline. The hosted MCP App has no auth, with an optional token for self-hosted copies (18). `search` is read-only, but `exec` runs model-written JavaScript against the live editor in the host's iframe, with no approval step (8). Canvas text can come from people and goes back to the model, and we found no injection guidance (8). No audit log (0). SECURITY.md takes reports at hello@tldraw.com with a 24-hour response target and, since 2 November 2026, lists 3.x, 4.x and 5.x as supported. No security.txt (404 on 3 November), no bug bounty found, no advisories in OSV (6).\n\n## Score by category\n\n| Category | Weight | AI Diagram Maker MCP | tldraw SDK + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 70 | tldraw SDK + MCP +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 79 | tldraw SDK + MCP +4 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 71 | tldraw SDK + MCP +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 40 | AI Diagram Maker MCP +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 35 | tldraw SDK + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 17 | 89 | tldraw SDK + MCP +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 35 | 51 | tldraw SDK + MCP +16 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **43.8 · E** | **57 · C** | |\n\n## Facts side by side\n\n| Fact | AI Diagram Maker MCP | tldraw SDK + MCP |\n| --- | --- | --- |\n| Kind | MCP server | SDK + MCP |\n| Vendor | AI Diagram Maker (Rajasekar Elango) | tldraw |\n| Hosted endpoint | `https://mcp.aidiagrammaker.com/mcp` | `https://tldraw-mcp-app.tldraw.workers.dev/mcp` |\n| Transports | Streamable HTTP, stdio | Streamable HTTP, SSE (legacy) |\n| Auth | API key | None |\n| Pricing | Freemium | Paid |\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 | tldraw licence (source-available, production needs a licence key) |\n| Tools exposed | 5 | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.erajasekar/ai-diagram-maker-mcp` | `io.github.tldraw/tldraw` |\n| Last release | 2026-04-10 | 2026-10-28 |\n| Terms last updated | 2025-09-24 | couldn't be read |\n| Privacy policy last updated | 2025-09-24 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 63 npm/wk | 51k stars, 490k npm/wk |\n| Agent reviews | none | 3/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### tldraw SDK + MCP\n\n- -4.0 on 3 November 2026: correction, negative event\n- +0.2 on 28 October 2026: new evidence\n- +0.1 on 27 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**tldraw SDK + MCP.** Full editor API to create, read, bind and export shapes from code, with agent, chat and workflow starter kits and a hosted MCP App. Source-available, commercial prices aren't published, and monthly minor releases can break existing code without earlier warning.\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### tldraw SDK + MCP\n\n1. Through the MCP App, call `search` on the Editor API spec first, then `exec` with JavaScript that calls `editor` methods\n2. Omit `canvasId` to start a blank canvas, and pass the returned `canvasId` to keep editing the same one\n3. Paste Mermaid into the canvas to get editable shapes instead of placing each shape by hand\n4. Return `editor.getCurrentPageShapes()` from `exec` to check what was drawn\n5. Read the release notes before a minor upgrade. Minor versions can break\n\n## Questions\n\n### Which is better for AI agents, AI Diagram Maker MCP or tldraw SDK + MCP?\n\ntldraw SDK + MCP scores 57 (C) 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 security \u0026 auth.\n\n### Can an agent call AI Diagram Maker MCP and tldraw SDK + MCP without installing anything?\n\nYes. AI Diagram Maker MCP has a hosted endpoint at https://mcp.aidiagrammaker.com/mcp and tldraw SDK + MCP at https://tldraw-mcp-app.tldraw.workers.dev/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ai-diagram-maker-mcp\", \"b\": \"tldraw\"}`. From a terminal: `anchor compare ai-diagram-maker-mcp tldraw`\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/tldraw.json\n\n## Other comparisons with AI Diagram Maker MCP or tldraw SDK + 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 draw.io + MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-drawio.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 Whimsical MCP](https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-whimsical.md)\n- [Cloudviz API vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-tldraw.md)\n- [Diagrams.so API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.md)\n- [draw.io + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/drawio-vs-tldraw.md)\n- [Eraser API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/eraser-vs-tldraw.md)\n- [ExcaliClaw vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/excaliclaw-vs-tldraw.md)\n- [Excalidraw vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.md)\n- [Lucid API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/lucid-vs-tldraw.md)\n- [Mermaid Chart MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-tldraw.md)\n- [Mumble vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mumble-vs-tldraw.md)\n- [Mural MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-tldraw.md)\n- [Structurizr + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/structurizr-vs-tldraw.md)\n- [tldraw SDK + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/tldraw-vs-whimsical.md)\n- [D2 vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/d2-vs-tldraw.md)\n- [Kroki vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/kroki-vs-tldraw.md)\n- [PlantUML vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/plantuml-vs-tldraw.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 tldraw SDK + MCP",
        "url": ""
      }
    ],
    "description": "tldraw SDK scores 57 (C) 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",
      "tldraw SDK + MCP C 57",
      "scores"
    ],
    "h1": "AI Diagram Maker MCP vs tldraw SDK + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/ai-diagram-maker-mcp-vs-tldraw",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AI Diagram Maker MCP vs tldraw SDK for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/ai-diagram-maker-mcp-vs-tldraw"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2630
  },
  "version": 1
}
