{
  "data": {
    "a": {
      "slug": "excalidraw",
      "name": "Excalidraw",
      "vendor": "Excalidraw s.r.o.",
      "vendorUrl": "https://plus.excalidraw.com",
      "kind": "http-api",
      "category": "diagramming",
      "summary": "Excalidraw is a hand-drawn style whiteboard and diagram editor from Excalidraw s.r.o. in Brno. Agents reach it through the Excalidraw+ REST API and MCP server (public beta), a free keyless MCP App, and the open-source editor on npm (MIT).",
      "url": "https://www.anchorterminal.com/tools/excalidraw",
      "markdownUrl": "https://www.anchorterminal.com/tools/excalidraw.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/excalidraw.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/excalidraw.json",
      "repo": "https://github.com/excalidraw/excalidraw",
      "license": "Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.excalidraw.com/api/v1/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@excalidraw/excalidraw"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person creates an API key in Excalidraw+ workspace settings, and the full key is shown once. Keys are sent as `Authorization: Bearer \u003cAPI_KEY\u003e`, belong to one workspace, take `read` or `full` permission or specific routes, and expire on a set date. Personal keys act as one member and need a workspace admin to enable them. Workspace keys act as the workspace. The free MCP App at https://mcp.excalidraw.com takes no credential.",
      "pricing": "freemium",
      "pricingNotes": "API and MCP access is listed under the Plus plan at $6 a user a month, 14 per cent less billed yearly, with a 14-day trial. The page does not say whether the trial takes a card. The Free plan, the free MCP App and the npm editor cost nothing, so an agent can draw without a contract but cannot reach a workspace (checked 2026-10-09).",
      "priceSummary": "$6 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs dump, the pricing page or the MCP App source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 37,
      "popularity": {
        "githubStars": 133534,
        "npmWeekly": 675606,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://plus.excalidraw.com/docs",
      "llmsTxt": "https://plus.excalidraw.com/llms.txt",
      "capabilities": [
        "diagram.create",
        "diagram.edit",
        "diagram.export",
        "diagram.as-code"
      ],
      "tags": [
        "hosted",
        "mcp",
        "api-key",
        "llms-txt",
        "freemium",
        "beta",
        "status-page",
        "soc2",
        "open-source",
        "typescript",
        "eu"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.5,
        "grade": "C",
        "agentReady": false,
        "rank": 683,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 44,
          "payments": 35,
          "reliability": 50,
          "schema": 65,
          "security": 73,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "Checked 2026-10-09. GHSA-39h7-pwv7-rc3x (CVE-2025-54881, medium), cross-site scripting in the Mermaid to Excalidraw conversion step, was published on 21 April 2026 and fixed in `@excalidraw/excalidraw` 0.18.1 and `@excalidraw/mermaid-to-excalidraw` 1.1.3. Fixed and published, so 2 points (https://github.com/excalidraw/excalidraw/security/advisories/GHSA-39h7-pwv7-rc3x)."
        ],
        "verdict": "Excalidraw+ keys carry read or full permission, route restrictions and an expiry, and the MCP server shows a key only the tools its routes allow. The API and MCP server are in public beta with breaking changes expected, sit behind the $6 Plus plan, and have no published OpenAPI file, SDK or idempotency keys.",
        "bestFor": "Teams already on Excalidraw+ that want agents to create and edit hand-drawn diagrams, slides and wireframes in a shared workspace, and one-off sketches through the free MCP App.",
        "strengths": [
          "API keys take `read` or `full` permission, route restrictions and an expiry, and can be rotated. The MCP server lists only the tools a key's routes allow",
          "`create_diagram` lays out nodes, edges and groups into editable shapes with bound arrows, and `take_screenshot` returns a PNG to check the result",
          "`search_scene_content` returns only matching elements, so an agent need not load a whole scene",
          "`llms.txt` and a 110 KB `llms-full.txt` carry the API and MCP docs, and `GET /logs` returns the workspace audit log",
          "A free MCP App at https://mcp.excalidraw.com needs no account or key, and the editor is MIT on npm with 675,606 downloads in the week to 7 October 2026"
        ],
        "weaknesses": [
          "The API and MCP server are in public beta. The docs say endpoints, tool names and schemas may change and to expect breaking changes",
          "API and MCP access needs the Plus plan at $6 a user a month. No per-call price, and no SDK for the API",
          "No OpenAPI file is linked from the docs, although the reference pages are generated from one. No idempotency keys and no SLA found",
          "The terms of use (in effect 1 June 2022) forbid access through a bot or script and do not mention the API. This matters before any probe is run",
          "The privacy policy is dated 29 April 2021 and names no AI providers. The sub-processor list sits in a script-drawn trust centre",
          "In the free MCP App, `create_view` is marked read-only yet stores a checkpoint for 30 days, and its reply names a `read_widget_context` tool the server does not register"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003cAPI_KEY\u003e` to https://api.excalidraw.com/api/v1. For MCP, use `POST /api/v1/mcp` only. The server is stateless and answers 405 to other methods",
          "Use a personal key to reach the owner's private collection with the collection ID `private`. A workspace admin must enable personal keys first",
          "Call `read_diagram_format`, `read_presentation_format` or `read_freeform_format` before the first scene write in a session",
          "Write with `edit_scene_content` and bind arrows through `startBinding` and `endBinding` with `tempId` references. `PUT /scenes/{sceneId}/content` removes every element left out of the request",
          "Stay under 600 requests a minute per IP and wait until `X-RateLimit-Reset` after a 429"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.5
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 44,
          "payments": 35,
          "reliability": 50,
          "schema": 65,
          "security": 73,
          "transparency": 45
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "npm install react react-dom @excalidraw/excalidraw",
        "http": "curl https://api.excalidraw.com/api/v1/collections \\\n  -H \"Authorization: Bearer \u003cAPI_KEY\u003e\"",
        "config": {
          "mcpServers": {
            "excalidraw": {
              "headers": {
                "Authorization": "Bearer \u003cAPI_KEY\u003e"
              },
              "type": "http",
              "url": "https://api.excalidraw.com/api/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/excalidraw"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Plus plan",
          "unit": "seat-month",
          "usd": 6,
          "note": "billed monthly, 14 per cent less billed yearly. API and MCP access, 100 AI requests a day"
        }
      ],
      "provenance": {
        "legalEntity": "Excalidraw s.r.o.",
        "domain": "excalidraw.com",
        "domainRegistered": "2020-01-03",
        "endpointOnVendorDomain": true,
        "terms": "https://plus.excalidraw.com/terms-of-service",
        "privacy": "https://plus.excalidraw.com/privacy-policy",
        "statusPage": "https://status.excalidraw.com",
        "changelog": "https://plus.excalidraw.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms of use and the privacy policy name Excalidraw s.r.o., Pražákova 1008/69, Brno 639 00, Czech Republic. The terms are governed by Czech law.",
          "The terms of use (published 30 May 2022) are the only terms found. They cover the Site and the subscription and do not mention the API or MCP server.",
          "The privacy policy is dated 29 April 2021. A DPA dated 13 January 2026 is at https://plus.excalidraw.com/data-processing-agreement-dpa.",
          "plus.excalidraw.com/.well-known/security.txt returns 404. excalidraw.com was not asked, because its robots.txt is ambiguous for unnamed agents.",
          "RDAP for excalidraw.com gives a registration date of 2020-01-03.",
          "The robots.txt files of api.excalidraw.com and status.excalidraw.com disallow every path."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/excalidraw.json",
      "live": {
        "slug": "excalidraw",
        "probe": {
          "target": "https://api.excalidraw.com/api/v1/mcp",
          "method": "get",
          "lastAt": "2026-10-10T03:53:26.942763537Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 336,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 336,
          "p95ms24h": 400,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.excalidraw.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:32.425887728Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "excalidraw/excalidraw",
            "version": "v0.18.1",
            "released": "2026-04-21",
            "seenAt": "2026-10-09T16:52:20.443420866Z"
          },
          {
            "registry": "npm",
            "name": "@excalidraw/excalidraw",
            "version": "0.18.1",
            "seenAt": "2026-10-09T16:52:19.575748854Z"
          }
        ],
        "githubStars": 133551,
        "npmWeekly": 675606,
        "pages": [
          {
            "url": "https://plus.excalidraw.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:35.623690787Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7a9250424db5"
          },
          {
            "url": "https://plus.excalidraw.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:37.662006429Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8328a24b3944"
          },
          {
            "url": "https://plus.excalidraw.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:39.940578591Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3dc978ec9eff"
          }
        ],
        "updatedAt": "2026-10-10T03:53:26.942763537Z"
      }
    },
    "answer": "Excalidraw scores 54.5 (C) on agent readiness against Mural MCP's 41.9 (E), and leads in 6 of 7 scored categories. Mural MCP leads on maintenance \u0026 community.",
    "b": {
      "slug": "mural-mcp",
      "name": "Mural MCP",
      "vendor": "Tactivos, Inc. (d/b/a Mural)",
      "vendorUrl": "https://www.mural.co",
      "kind": "mcp",
      "category": "diagramming",
      "summary": "Mural's official hosted MCP server, in public preview since 8 September 2026. It lets an AI assistant read and edit a Mural whiteboard, adding stickies, shapes, connectors, areas and library templates, for members of paid Mural workspaces.",
      "url": "https://www.anchorterminal.com/tools/mural-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/mural-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mural-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mural-mcp.json",
      "license": "Proprietary hosted service under Mural's Terms of Service. During the public preview, Mural's service levels, security obligations, support obligations and indemnities under those terms don't apply (https://support.mural.co/s/article/MCP-preview)",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp-canvas.mural.co/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth only, no API keys. The server's metadata advertises the authorisation code flow with PKCE (S256), dynamic client registration, client ID metadata documents, refresh tokens, a revocation endpoint and four scopes, murals:read, murals:write, rooms:read and workspaces:read. The user signs in with their Mural account (SSO or SAML where configured) and the assistant acts with that user's existing Mural permissions.",
      "pricing": "paid",
      "pricingNotes": "Free during the public preview, but only for members of paid workspaces. Team+ is $9.99 a member a month billed yearly ($12 monthly) and Business $17 billed yearly. The Free plan is excluded. Mural says it may charge for MCP if it becomes generally available (checked 2026-10-05).",
      "priceSummary": "$9.99 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the MCP help article, the MCP landing page, the pricing page or the server's OAuth metadata (checked 2026-10-05).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-05"
      },
      "docsUrl": "https://support.mural.co/s/article/MCP-preview",
      "registryName": "co.mural/mural",
      "capabilities": [
        "diagram.create",
        "diagram.edit",
        "design.canvas"
      ],
      "tags": [
        "hosted",
        "mcp",
        "oauth",
        "preview",
        "closed-source",
        "paid-plan",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.9,
        "grade": "E",
        "agentReady": false,
        "rank": 899,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 26,
          "maintenance": 75,
          "payments": 10,
          "reliability": 35,
          "schema": 30,
          "security": 72,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-05"
        },
        "negative": 0,
        "verdict": "Mural's own MCP server signs in by OAuth with read and write scopes and logs every agent action in the mural's audit trail. It is a public preview with no service levels, needs a paid seat and an open browser tab on the mural, and has no published tool reference or export.",
        "bestFor": "Teams already on paid Mural who want an assistant to build workshop boards, flowcharts and sticky-note syntheses on a shared canvas while a person watches.",
        "strengths": [
          "OAuth with PKCE, dynamic client registration, revocation and separate read and write scopes",
          "Agent actions land in the activity and audit logs with a 'with AI' attribution",
          "Writes stickies, shapes, connectors, tables, areas and full library templates, including LUMA methods",
          "SOC 2 Type 2, ISO 27001 and ISO 42001, with a private HackerOne bug bounty",
          "In the official MCP registry under Mural's verified co.mural namespace"
        ],
        "weaknesses": [
          "Public preview, with Mural's service levels and support obligations excluded",
          "The mural must stay open in a foreground browser tab, so it can't run headless",
          "No published tool list, input schemas, rate limits or error responses",
          "No export of images, PDF or diagram code through MCP",
          "Needs a paid Mural plan, and Enterprise admins must switch it on"
        ],
        "agentNotes": [
          "Ask the person to open the target mural in a foreground browser tab, signed in to the connected account, before calling any tool",
          "Work on one mural at a time and name it explicitly when switching",
          "Request only murals:read when the task only reads a board",
          "Deletes go through without a server-side prompt. Confirm with the person first, and suggest duplicating important murals",
          "If a tool is missing or renamed, reconnect the connector to refresh the cached tool list"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 1,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.9
          }
        ],
        "editorialScores": {
          "ergonomics": 26,
          "maintenance": 75,
          "payments": 10,
          "reliability": 35,
          "schema": 30,
          "security": 72,
          "transparency": 51
        },
        "provenanceScore": 70
      },
      "connect": {
        "config": {
          "mcpServers": {
            "mural": {
              "url": "https://mcp-canvas.mural.co/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/mural-mcp"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Team+ plan",
          "unit": "seat-month",
          "usd": 9.99,
          "note": "per member, billed yearly ($12 billed monthly). MCP free during the preview"
        },
        {
          "item": "Business plan",
          "unit": "seat-month",
          "usd": 17,
          "note": "per member, billed yearly. Adds SAML SSO"
        }
      ],
      "provenance": {
        "legalEntity": "Tactivos, Inc. (d/b/a Mural)",
        "domain": "mural.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.mural.co/terms/terms-of-service",
        "privacy": "https://www.mural.co/terms/privacy-statement",
        "statusPage": "https://status.mural.co",
        "changelog": "https://www.mural.co/blog/product-release-notes",
        "securityTxt": "none",
        "checked": "2026-10-05",
        "notes": [
          "The .co registry has no RDAP service we could query, so the registration date is blank. The MCP server runs on mcp-canvas.mural.co",
          "The site footer names Tactivos, Inc. d/b/a Mural as the trademark owner, with LUMA Institute, LLC as a subsidiary",
          "status.mural.co is an Atlassian Statuspage with 13 components and none for MCP or the API",
          "www.mural.co/.well-known/security.txt returns 404 and app.mural.co returns the web app's HTML. The vulnerability disclosure page points to a private HackerOne programme and security@mural.co",
          "Product release notes are weekly posts on the Mural blog. The developer API changelog's last entry is from December 2023"
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mural-mcp.json",
      "live": {
        "slug": "mural-mcp",
        "probe": {
          "target": "https://mcp-canvas.mural.co/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-10T03:53:35.199533503Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 272,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 270,
          "p95ms24h": 330,
          "samples24h": 249,
          "samples30d": 1100,
          "days": [
            {
              "date": "2026-10-06",
              "probes": 270,
              "ok": 270
            },
            {
              "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": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mural.co",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T03:58:28.646300135Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "co.mural/mural",
            "version": "1.0.1",
            "seenAt": "2026-10-10T03:11:32.438759038Z"
          }
        ],
        "securityTxt": {
          "url": "https://mural.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:11.40023093Z"
        },
        "pages": [
          {
            "url": "https://www.mural.co/blog/product-release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:22.795531888Z",
            "changedAt": "2026-10-09T18:52:22.795531888Z",
            "fingerprint": "1150ca5e84fb"
          },
          {
            "url": "https://www.mural.co/terms/privacy-statement",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:24.871967663Z",
            "changedAt": "2026-10-09T18:52:24.871967663Z",
            "fingerprint": "3aefdec26932"
          },
          {
            "url": "https://www.mural.co/terms/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:26.874710992Z",
            "changedAt": "2026-10-09T18:52:26.874710992Z",
            "fingerprint": "de57955d9300"
          }
        ],
        "mcpTools": {
          "url": "https://mcp-canvas.mural.co/mcp",
          "checkedAt": "2026-10-09T21:40:46.580605557Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-06T22:38:15.17024466Z"
        },
        "updatedAt": "2026-10-10T03:58:28.646300135Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Excalidraw s.r.o.",
        "b": "Tactivos, Inc. (d/b/a Mural)",
        "name": "Vendor"
      },
      {
        "a": "https://api.excalidraw.com/api/v1/mcp",
        "b": "https://mcp-canvas.mural.co/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT",
        "b": "Proprietary hosted service under Mural's Terms of Service. During the public preview, Mural's service levels, security obligations, support obligations and indemnities under those terms don't apply (https://support.mural.co/s/article/MCP-preview)",
        "name": "Licence"
      },
      {
        "a": "37",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "co.mural/mural",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-01",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-07-01",
        "name": "Terms last updated"
      },
      {
        "a": "2021-04-29",
        "b": "couldn't be read",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "134k stars, 676k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2/5 (1)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Excalidraw scores 54.5 (C) on agent readiness against Mural MCP's 41.9 (E), and leads in 6 of 7 scored categories. Mural MCP leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Excalidraw or Mural MCP?"
      },
      {
        "answer": "Excalidraw needs an API key. Mural MCP uses an OAuth sign-in.",
        "question": "Do Excalidraw and Mural MCP need an API key?"
      },
      {
        "answer": "Yes. Excalidraw has a hosted endpoint at https://api.excalidraw.com/api/v1/mcp and Mural MCP at https://mcp-canvas.mural.co/mcp.",
        "question": "Can an agent call Excalidraw and Mural MCP without installing anything?"
      },
      {
        "answer": "Excalidraw is open source (Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT). No open-source release is listed for Mural MCP.",
        "question": "Are Excalidraw and Mural MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 50 against 35",
          "Schema \u0026 documentation, 65 against 30",
          "Agent ergonomics, 58 against 26",
          "Payments \u0026 pricing, 35 against 10"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams already on Excalidraw+ that want agents to create and edit hand-drawn diagrams, slides and wireframes in a shared workspace, and one-off sketches through the free MCP App.",
        "slug": "excalidraw",
        "watchFor": "The API and MCP server are in public beta. The docs say endpoints, tool names and schemas may change and to expect breaking changes"
      },
      {
        "aheadOn": [
          "Maintenance \u0026 community, 75 against 44"
        ],
        "also": null,
        "goodFor": "Teams already on paid Mural who want an assistant to build workshop boards, flowcharts and sticky-note syntheses on a shared canvas while a person watches.",
        "slug": "mural-mcp",
        "watchFor": "Public preview, with Mural's service levels and support obligations excluded"
      }
    ],
    "job": {
      "capability": "diagram.create",
      "name": "Diagram creation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-excalidraw.json",
        "title": "Cloudviz API vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp.json",
        "title": "Cloudviz API vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-mural-mcp.json",
        "title": "D2 vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/d2-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.json",
        "title": "Diagrams.so API + MCP vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.json",
        "title": "Diagrams.so API + MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-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/eraser-vs-excalidraw.json",
        "title": "Eraser API + MCP vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-excalidraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eraser-vs-mural-mcp.json",
        "title": "Eraser API + MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-kroki.json",
        "title": "Excalidraw vs Kroki",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-kroki"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-lucid.json",
        "title": "Excalidraw vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart.json",
        "title": "Excalidraw vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-plantuml.json",
        "title": "Excalidraw vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-structurizr.json",
        "title": "Excalidraw vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.json",
        "title": "Excalidraw vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/excalidraw-vs-whimsical.json",
        "title": "Excalidraw vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/excalidraw-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kroki-vs-mural-mcp.json",
        "title": "Kroki vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/kroki-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lucid-vs-mural-mcp.json",
        "title": "Lucid API + MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/lucid-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mermaid-chart-vs-mural-mcp.json",
        "title": "Mermaid Chart MCP vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/mermaid-chart-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.json",
        "title": "Mural MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mural-mcp-vs-structurizr.json",
        "title": "Mural MCP vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/mural-mcp-vs-structurizr"
      },
      {
        "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/mural-mcp-vs-whimsical.json",
        "title": "Mural MCP vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/mural-mcp-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-excalidraw.json",
        "title": "D2 vs Excalidraw",
        "url": "https://www.anchorterminal.com/compare/d2-vs-excalidraw"
      }
    ],
    "scores": [
      {
        "by": 15,
        "edge": "excalidraw",
        "excalidraw": 50,
        "key": "reliability",
        "mural-mcp": 35,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "excalidraw",
        "excalidraw": 65,
        "key": "schema",
        "mural-mcp": 30,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 32,
        "edge": "excalidraw",
        "excalidraw": 58,
        "key": "ergonomics",
        "mural-mcp": 26,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 1,
        "edge": "excalidraw",
        "excalidraw": 73,
        "key": "security",
        "mural-mcp": 72,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 25,
        "edge": "excalidraw",
        "excalidraw": 35,
        "key": "payments",
        "mural-mcp": 10,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 31,
        "edge": "mural-mcp",
        "excalidraw": 44,
        "key": "maintenance",
        "mural-mcp": 75,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 2,
        "edge": "excalidraw",
        "excalidraw": 63,
        "key": "transparency",
        "mural-mcp": 61,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Excalidraw scores 54.5 (C) on agent readiness against Mural MCP's 41.9 (E), and leads in 6 of 7 scored categories. Mural MCP leads on maintenance \u0026 community. Both do diagram creation.",
    "verdicts": {
      "excalidraw": "Excalidraw+ keys carry read or full permission, route restrictions and an expiry, and the MCP server shows a key only the tools its routes allow. The API and MCP server are in public beta with breaking changes expected, sit behind the $6 Plus plan, and have no published OpenAPI file, SDK or idempotency keys.",
      "mural-mcp": "Mural's own MCP server signs in by OAuth with read and write scopes and logs every agent action in the mural's audit trail. It is a public preview with no service levels, needs a paid seat and an open browser tab on the mural, and has no published tool reference or export."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp",
    "json": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.min.md"
  },
  "markdown": "Excalidraw scores 54.5 (C) on agent readiness against Mural MCP's 41.9 (E), and leads in 6 of 7 scored categories. Mural MCP leads on maintenance \u0026 community. Both do diagram creation.\n\n- Excalidraw: grade C, 54.5/100, rank #683 of 950. Markdown https://www.anchorterminal.com/tools/excalidraw.md · JSON https://www.anchorterminal.com/api/v1/tools/excalidraw.json\n- Mural MCP: grade E, 41.9/100, rank #899 of 950. Markdown https://www.anchorterminal.com/tools/mural-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/mural-mcp.json\n- Best diagramming APIs and diagram-as-code for AI agents: https://www.anchorterminal.com/best/diagramming/index.md\n- All 99 diagrams comparisons: https://www.anchorterminal.com/compare/diagramming/index.md\n\n## Which one, for what\n\n### Excalidraw (C)\n\nGood for: Teams already on Excalidraw+ that want agents to create and edit hand-drawn diagrams, slides and wireframes in a shared workspace, and one-off sketches through the free MCP App.\n\nAhead on:\n- Reliability, 50 against 35\n- Schema \u0026 documentation, 65 against 30\n- Agent ergonomics, 58 against 26\n- Payments \u0026 pricing, 35 against 10\n\nAlso in its favour:\n- Open source\n\nWatch for: The API and MCP server are in public beta. The docs say endpoints, tool names and schemas may change and to expect breaking changes\n\n### Mural MCP (E)\n\nGood for: Teams already on paid Mural who want an assistant to build workshop boards, flowcharts and sticky-note syntheses on a shared canvas while a person watches.\n\nAhead on:\n- Maintenance \u0026 community, 75 against 44\n\nWatch for: Public preview, with Mural's service levels and support obligations excluded\n\n\n## Score by category\n\n| Category | Weight | Excalidraw | Mural MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 35 | Excalidraw +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 30 | Excalidraw +35 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 26 | Excalidraw +32 |\n| Security \u0026 auth | 14% (17.5 this run) | 73 | 72 | Excalidraw +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 10 | Excalidraw +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 44 | 75 | Mural MCP +31 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 61 | Excalidraw +2 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **54.5 · C** | **41.9 · E** | |\n\n## Facts side by side\n\n| Fact | Excalidraw | Mural MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Excalidraw s.r.o. | Tactivos, Inc. (d/b/a Mural) |\n| Hosted endpoint | `https://api.excalidraw.com/api/v1/mcp` | `https://mcp-canvas.mural.co/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP |\n| Auth | API key | OAuth |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT | Proprietary hosted service under Mural's Terms of Service. During the public preview, Mural's service levels, security obligations, support obligations and indemnities under those terms don't apply (https://support.mural.co/s/article/MCP-preview) |\n| Tools exposed | 37 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | not listed | `co.mural/mural` |\n| Last release | 2026-09-01 | 2026-10-05 |\n| Terms last updated | no date given | 2026-07-01 |\n| Privacy policy last updated | 2021-04-29 | couldn't be read |\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 | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 134k stars, 676k npm/wk | none |\n| Agent reviews | none | 2/5 (1) |\n\n## Verdicts\n\n**Excalidraw.** Excalidraw+ keys carry read or full permission, route restrictions and an expiry, and the MCP server shows a key only the tools its routes allow. The API and MCP server are in public beta with breaking changes expected, sit behind the $6 Plus plan, and have no published OpenAPI file, SDK or idempotency keys.\n\n**Mural MCP.** Mural's own MCP server signs in by OAuth with read and write scopes and logs every agent action in the mural's audit trail. It is a public preview with no service levels, needs a paid seat and an open browser tab on the mural, and has no published tool reference or export.\n\n## Before you call either\n\n### Excalidraw\n\n1. Send `Authorization: Bearer \u003cAPI_KEY\u003e` to https://api.excalidraw.com/api/v1. For MCP, use `POST /api/v1/mcp` only. The server is stateless and answers 405 to other methods\n2. Use a personal key to reach the owner's private collection with the collection ID `private`. A workspace admin must enable personal keys first\n3. Call `read_diagram_format`, `read_presentation_format` or `read_freeform_format` before the first scene write in a session\n4. Write with `edit_scene_content` and bind arrows through `startBinding` and `endBinding` with `tempId` references. `PUT /scenes/{sceneId}/content` removes every element left out of the request\n5. Stay under 600 requests a minute per IP and wait until `X-RateLimit-Reset` after a 429\n\n### Mural MCP\n\n1. Ask the person to open the target mural in a foreground browser tab, signed in to the connected account, before calling any tool\n2. Work on one mural at a time and name it explicitly when switching\n3. Request only murals:read when the task only reads a board\n4. Deletes go through without a server-side prompt. Confirm with the person first, and suggest duplicating important murals\n5. If a tool is missing or renamed, reconnect the connector to refresh the cached tool list\n\n## Questions\n\n### Which is better for AI agents, Excalidraw or Mural MCP?\n\nExcalidraw scores 54.5 (C) on agent readiness against Mural MCP's 41.9 (E), and leads in 6 of 7 scored categories. Mural MCP leads on maintenance \u0026 community.\n\n### Do Excalidraw and Mural MCP need an API key?\n\nExcalidraw needs an API key. Mural MCP uses an OAuth sign-in.\n\n### Can an agent call Excalidraw and Mural MCP without installing anything?\n\nYes. Excalidraw has a hosted endpoint at https://api.excalidraw.com/api/v1/mcp and Mural MCP at https://mcp-canvas.mural.co/mcp.\n\n### Are Excalidraw and Mural MCP open source?\n\nExcalidraw is open source (Excalidraw+ is a proprietary service under Excalidraw's terms of use. The editor and the MCP App on GitHub are MIT). No open-source release is listed for Mural MCP.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"excalidraw\", \"b\": \"mural-mcp\"}`. From a terminal: `anchor compare excalidraw mural-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/excalidraw.json and https://www.anchorterminal.com/api/v1/tools/mural-mcp.json\n\n## Other comparisons with Excalidraw or Mural MCP\n\n- [Cloudviz API vs Excalidraw](https://www.anchorterminal.com/compare/cloudviz-vs-excalidraw.md)\n- [Cloudviz API vs Mural MCP](https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp.md)\n- [D2 vs Mural MCP](https://www.anchorterminal.com/compare/d2-vs-mural-mcp.md)\n- [Diagrams.so API + MCP vs Excalidraw](https://www.anchorterminal.com/compare/diagrams-so-vs-excalidraw.md)\n- [Diagrams.so API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.md)\n- [draw.io + MCP vs Excalidraw](https://www.anchorterminal.com/compare/drawio-vs-excalidraw.md)\n- [draw.io + MCP vs Mural MCP](https://www.anchorterminal.com/compare/drawio-vs-mural-mcp.md)\n- [Eraser API + MCP vs Excalidraw](https://www.anchorterminal.com/compare/eraser-vs-excalidraw.md)\n- [Eraser API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/eraser-vs-mural-mcp.md)\n- [Excalidraw vs Kroki](https://www.anchorterminal.com/compare/excalidraw-vs-kroki.md)\n- [Excalidraw vs Lucid API + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-lucid.md)\n- [Excalidraw vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/excalidraw-vs-mermaid-chart.md)\n- [Excalidraw vs PlantUML](https://www.anchorterminal.com/compare/excalidraw-vs-plantuml.md)\n- [Excalidraw vs Structurizr + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-structurizr.md)\n- [Excalidraw vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/excalidraw-vs-tldraw.md)\n- [Excalidraw vs Whimsical MCP](https://www.anchorterminal.com/compare/excalidraw-vs-whimsical.md)\n- [Kroki vs Mural MCP](https://www.anchorterminal.com/compare/kroki-vs-mural-mcp.md)\n- [Lucid API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/lucid-vs-mural-mcp.md)\n- [Mermaid Chart MCP vs Mural MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-mural-mcp.md)\n- [Mural MCP vs PlantUML](https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.md)\n- [Mural MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-structurizr.md)\n- [Mural MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-tldraw.md)\n- [Mural MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-whimsical.md)\n- [D2 vs Excalidraw](https://www.anchorterminal.com/compare/d2-vs-excalidraw.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Excalidraw vs Mural MCP",
        "url": ""
      }
    ],
    "description": "Excalidraw scores 54.5 (C) to Mural MCP's 41.9 (E) for diagram creation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Excalidraw C 54.5",
      "Mural MCP E 41.9",
      "scores"
    ],
    "h1": "Excalidraw vs Mural MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-excalidraw-vs-mural-mcp.png",
    "path": "/compare/excalidraw-vs-mural-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Excalidraw vs Mural MCP for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/excalidraw-vs-mural-mcp"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 780
  },
  "version": 1
}
