{
  "data": {
    "a": {
      "slug": "miro",
      "name": "Miro API + MCP",
      "vendor": "Miro",
      "vendorUrl": "https://miro.com",
      "kind": "http-api",
      "category": "design",
      "summary": "Miro's REST API v2 reads and writes boards and board items (sticky notes, shapes, connectors, frames, cards, text, images, documents), tags and members, so an agent can lay out diagrams as well as notes.",
      "url": "https://www.anchorterminal.com/tools/miro",
      "markdownUrl": "https://www.anchorterminal.com/tools/miro.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/miro.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/miro.json",
      "repo": "https://github.com/miroapp/miro-ai",
      "license": "proprietary",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.miro.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@mirohq/miro-api"
        }
      ],
      "auth": "oauth",
      "authNotes": "REST uses OAuth 2.0 tokens from a Miro app you create in the developer settings, with scopes such as boards:read and boards:write. The MCP server uses OAuth 2.1 with dynamic client registration and sees only boards the user can already open. On Enterprise, MCP is off until an admin enables it.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 3 editable boards. Starter $8 and Business $20 per member a month billed yearly (about 20 per cent more monthly). Enterprise custom, from 30 members. The REST API works on every plan. MCP tool calls a day are 100 on Free, 500 on Starter, 2,000 on Business and 10,000 on Enterprise (https://miro.com/pricing/).",
      "priceSummary": "$8 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payment support in the REST or MCP docs.",
        "endpoints": []
      },
      "toolCount": 18,
      "popularity": {
        "githubStars": 156,
        "npmWeekly": 19028,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.miro.com/docs/rest-api-reference-guide",
      "llmsTxt": "https://developers.miro.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/miroapp/api-clients/main/packages/generator/spec.json",
      "registryName": "io.github.miroapp/mcp-server",
      "capabilities": [
        "design.files",
        "design.canvas",
        "design.comments",
        "diagram.create",
        "diagram.edit"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "closed-source",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "enterprise"
      ],
      "lastRelease": "2026-09-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65,
        "grade": "B",
        "agentReady": false,
        "rank": 302,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 77,
          "payments": 30,
          "reliability": 73,
          "schema": 85,
          "security": 70,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "-3: the changelog announced on 2026-09-08 that legacy MCP board tools would go, with a migration deadline of 14 September, and removed them on 2026-09-17. Notice was given, but nine days is short for a breaking change, so the lowest deduction (https://developers.miro.com/changelog.rss)."
        ],
        "verdict": "REST creates shapes, connectors and frames, so flowcharts and architecture sketches can be drawn directly. Legacy MCP board tools were removed nine days after the deprecation notice.",
        "bestFor": "Agents that draw diagrams, maps and planning boards people will keep editing.",
        "strengths": [
          "REST creates shapes, connectors and frames, so flowcharts and architecture sketches can be drawn directly",
          "Hosted MCP server with OAuth 2.1 on every plan including Free, and no delete tool in its 18",
          "Published REST credit limits and MCP daily caps per plan",
          "ISO/IEC 27001, SOC 2 Type II, a public bug bounty and four data-residency regions",
          "Dated changelog with an RSS feed"
        ],
        "weaknesses": [
          "Legacy MCP board tools were removed nine days after the deprecation notice",
          "No prompt-injection guidance for board content written by collaborators",
          "OAuth scopes are coarse (`boards:read`, `boards:write`)",
          "The official Node client hasn't been released since February 2025",
          "MCP daily caps are low on Free (100) and Starter (500)"
        ],
        "agentNotes": [
          "Create shapes first, then connectors with `startItem` and `endItem` ids",
          "Put related items in a frame and set `parent` so they move together",
          "Watch `X-RateLimit-Remaining`. There's no `Retry-After`, so back off exponentially on 429",
          "Through MCP, call `canvas_read_as_svg` before `canvas_update_from_svg` so the model sees the current layout",
          "Don't call the legacy MCP board tools. They were removed on 17 September 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 77,
          "payments": 30,
          "reliability": 73,
          "schema": 85,
          "security": 70,
          "transparency": 67
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl https://api.miro.com/v2/boards -H \"Authorization: Bearer $MIRO_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http miro https://mcp.miro.com/",
        "config": {
          "mcpServers": {
            "miro": {
              "url": "https://mcp.miro.com/"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.files",
        "tool": "https://letme.dev/miro"
      },
      "alsoIn": [
        "diagramming"
      ],
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "seat-month",
          "usd": 8,
          "note": "billed yearly, API and MCP included"
        },
        {
          "item": "Business plan",
          "unit": "seat-month",
          "usd": 20,
          "note": "billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "RealtimeBoard Inc. dba Miro",
        "domain": "miro.com",
        "domainRegistered": "1995-09-08",
        "domainNote": "miro.com was registered in 1995, long before RealtimeBoard renamed itself Miro in 2019.",
        "endpointOnVendorDomain": true,
        "terms": "https://miro.com/legal/terms-of-service/",
        "privacy": "https://miro.com/legal/privacy-policy/",
        "statusPage": "https://status.miro.com",
        "changelog": "https://developers.miro.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/miro.json",
      "live": {
        "slug": "miro",
        "probe": {
          "target": "https://api.miro.com/v2",
          "method": "get",
          "lastAt": "2026-10-09T10:14:20.98135752Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 69,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 78,
          "p95ms24h": 136,
          "samples24h": 260,
          "samples30d": 2295,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 275
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 109,
              "ok": 109
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.miro.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:11:04.675626913Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.miroapp/mcp-server",
            "version": "1.0.2",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@mirohq/miro-api",
            "version": "2.2.4",
            "seenAt": "2026-10-08T16:21:08.966031976Z"
          }
        ],
        "githubStars": 160,
        "npmWeekly": 23857,
        "securityTxt": {
          "url": "https://miro.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:30.439563908Z"
        },
        "llmsTxt": {
          "url": "https://developers.miro.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:37.164712191Z"
        },
        "domain": {
          "domain": "miro.com",
          "registered": "1995-09-08",
          "source": "https://rdap.verisign.com/com/v1/domain/miro.com",
          "checkedAt": "2026-10-04T13:10:39.715166897Z"
        },
        "pages": [
          {
            "url": "https://developers.miro.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:53.151713888Z",
            "changedAt": "2026-10-08T18:17:53.151713888Z",
            "fingerprint": "54b1003abb90"
          },
          {
            "url": "https://miro.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:07.70460347Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a1d5947bca11"
          },
          {
            "url": "https://miro.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:03.614211046Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "143fa2733740"
          },
          {
            "url": "https://miro.com/legal/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:05.686252623Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "64f4211c5b7e"
          }
        ],
        "updatedAt": "2026-10-09T10:14:20.98135752Z"
      }
    },
    "answer": "Miro API + MCP scores 65 (B) on agent readiness against pen.dev's 47.6 (D), and leads in 5 of 7 scored categories. pen.dev leads on payments \u0026 pricing.",
    "b": {
      "slug": "pen-dev",
      "name": "pen.dev",
      "vendor": "High Agency, Inc.",
      "vendorUrl": "https://pen.dev",
      "kind": "mcp",
      "category": "design",
      "summary": "Design canvas from High Agency, Inc. that stores designs as JSON `.pen` files. Agents edit them through a local MCP server in the desktop app or IDE extension, or through a headless CLI. It was called Pencil until 2026.",
      "url": "https://www.anchorterminal.com/tools/pen-dev",
      "markdownUrl": "https://www.anchorterminal.com/tools/pen-dev.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pen-dev.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pen-dev.json",
      "repo": "https://github.com/highagency/pen-desktop-releases",
      "license": "Proprietary. The CLI package on npm carries a proprietary licence file, and the apps fall under the vendor's EULA",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@pen.dev/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "A pen.dev account is required for the desktop app, the extension and the CLI. The MCP server takes no credential of its own and reaches the signed-in app over a local socket, after the owner enables each client in Settings, MCP. The CLI signs in with `pen login` (email with password or one-time code) or with `PEN_CLI_KEY`, an organisation-scoped key created in Developer Keys on the web app. No key scopes are documented. Access is self-serve.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 5 agent days and 25 image or SVG generations a month, including the CLI, MCP access and personal developer keys, so an agent's owner can start without a contract. Pro is $16 and Ultra $48 a user a month, and Enterprise is priced on request. Model usage on the user's own provider key is billed by that provider (https://pen.dev/pricing, checked 2026-10-08).",
      "priceSummary": "$16 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the CLI reference (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 3548,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.pen.dev",
      "capabilities": [
        "design.files",
        "design.canvas",
        "design.components",
        "design.code"
      ],
      "tags": [
        "local",
        "desktop",
        "cli",
        "headless",
        "mcp",
        "stdio",
        "closed-source",
        "freemium",
        "free-tier",
        "vscode",
        "design-to-code"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.6,
        "grade": "D",
        "agentReady": false,
        "rank": 740,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 59,
          "payments": 38,
          "reliability": 33,
          "schema": 61,
          "security": 33,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "An agent can create, edit and export `.pen` designs without a GUI through the `pen` CLI, with four compact MCP tools that carry annotations and a documented JSON format. The software is closed and needs a pen.dev account. No changelog, status page or security contact was found, and 14 public issue reports had no reply on 8 October 2026.",
        "bestFor": "A coding agent that designs screens beside the code and keeps them in Git, including in CI.",
        "strengths": [
          "Headless CLI (`@pen.dev/cli`) runs the same editor engine as the desktop app and exports PNG, JPEG, WEBP, PDF and HTML",
          "Four standard MCP tools with typed inputs and readOnlyHint and destructiveHint annotations, plus two conditional tools",
          "The `.pen` format is JSON with a published TypeScript schema, so designs sit in Git beside code",
          "Free plan includes the CLI, MCP access and personal developer keys, with five agent days a month",
          "Privacy policy has a retention table and says prompts sent with the user's own provider key never reach the vendor's servers"
        ],
        "weaknesses": [
          "No changelog. The three desktop releases on GitHub have empty notes, and the format docs reserve the right to make breaking changes",
          "14 issues opened between 28 July and 6 October 2026 in highagency/pen-desktop-releases had no comment or closure on 8 October",
          "No status page, security.txt, disclosure policy, bug bounty or certification was found",
          "`execute` takes one JavaScript snippet and carries destructiveHint true, with no read-only mode for an external MCP client",
          "Closed source under a proprietary licence that forbids reverse engineering, and every surface needs a pen.dev account"
        ],
        "agentNotes": [
          "Call `read_skill()`, then `read_skill({ path: \"pen-schema.md\" })` and `read_skill({ path: \"execute.md\" })` before the first `execute`. The tool description alone doesn't document the operations",
          "Call `get_app_state()` and confirm the active document before editing. The MCP server works on whichever `.pen` file is open in the app",
          "In headless `pen interactive`, call `save()` before `exit()`, and keep `--in` and `--out` on different paths to preserve the source",
          "Check that an export file exists. The docs say an export failure can print an error without a nonzero exit status",
          "In CI set `PEN_CLI_KEY` plus a provider key such as `ANTHROPIC_API_KEY`. Run `pen version`, since `pen --version` is not a flag"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.6
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 59,
          "payments": 38,
          "reliability": 33,
          "schema": 61,
          "security": 33,
          "transparency": 54
        },
        "provenanceScore": 51
      },
      "connect": {
        "install": "npm install -g @pen.dev/cli",
        "headless": {
          "command": "pen --out design.pen --prompt \"$TASK\"",
          "env": {
            "ANTHROPIC_API_KEY": "\u003ckey\u003e",
            "PEN_CLI_KEY": "\u003ckey starting pencil_cli_\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.files",
        "tool": "https://letme.dev/pen-dev"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "seat-month",
          "usd": 16,
          "note": "unlimited agent days, 350 image or SVG generations a month, up to 3 agents in parallel"
        },
        {
          "item": "Ultra plan",
          "unit": "seat-month",
          "usd": 48,
          "note": "750 image or SVG generations a month, up to 6 agents in parallel"
        }
      ],
      "provenance": {
        "legalEntity": "High Agency, Inc.",
        "domain": "pen.dev",
        "domainRegistered": "2025-09-10",
        "endpointOnVendorDomain": true,
        "terms": "https://pen.dev/terms-of-use",
        "privacy": "https://pen.dev/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of use, EULA and privacy policy, each effective 6 October 2026, name High Agency, Inc., 440 N Barranca Ave #2993, Covina, CA 91723, USA, and choose Delaware law.",
          "The terms of use cover the desktop app, web app, extensions and CLI and hold the billing terms. A separate EULA at https://pen.dev/eula governs the installed software and prevails for it where the two conflict.",
          "The MCP server is local. The CLI and app sign in against https://api.pen.dev, and the web app is app.pen.dev.",
          "RDAP gives pen.dev a registration date of 2025-09-10 with Name.com, and pencil.dev the same day with GoDaddy. www.pencil.dev now answers with the pen.dev site.",
          "pen.dev/.well-known/security.txt and /security.txt return 404. status.pen.dev, pen.dev/changelog and pen.dev/security return 404.",
          "The footer says the company is backed by a16z speedrun."
        ],
        "score": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pen-dev.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Miro",
        "b": "High Agency, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.miro.com/v2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "proprietary",
        "b": "Proprietary. The CLI package on npm carries a proprietary licence file, and the apps fall under the vendor's EULA",
        "name": "Licence"
      },
      {
        "a": "18",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.miroapp/mcp-server",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-17",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "2021-09-01",
        "b": "2026-10-06",
        "name": "Terms last updated"
      },
      {
        "a": "2025-08-01",
        "b": "2026-10-06",
        "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": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "156 stars, 19k npm/wk",
        "b": "3.5k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Miro API + MCP scores 65 (B) on agent readiness against pen.dev's 47.6 (D), and leads in 5 of 7 scored categories. pen.dev leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Miro API + MCP or pen.dev?"
      },
      {
        "answer": "Miro API + MCP uses an OAuth sign-in. pen.dev takes an API key or an OAuth sign-in.",
        "question": "Do Miro API + MCP and pen.dev need an API key?"
      },
      {
        "answer": "Miro API + MCP has a hosted endpoint at https://api.miro.com/v2. pen.dev runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Miro API + MCP and pen.dev without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 73 against 33",
          "Schema \u0026 documentation, 85 against 61",
          "Security \u0026 auth, 70 against 33",
          "Maintenance \u0026 community, 77 against 59",
          "Transparency \u0026 trust, 76 against 53"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Agents that draw diagrams, maps and planning boards people will keep editing.",
        "slug": "miro",
        "watchFor": "Legacy MCP board tools were removed nine days after the deprecation notice"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 38 against 30"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where Miro API + MCP loses 3 points for them"
        ],
        "goodFor": "A coding agent that designs screens beside the code and keeps them in Git, including in CI.",
        "slug": "pen-dev",
        "watchFor": "No changelog. The three desktop releases on GitHub have empty notes, and the format docs reserve the right to make breaking changes"
      }
    ],
    "job": {
      "capability": "design.files",
      "name": "Design files"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/figma-mcp-vs-miro.json",
        "title": "Figma API + MCP vs Miro API + MCP",
        "url": "https://www.anchorterminal.com/compare/figma-mcp-vs-miro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/figma-mcp-vs-pen-dev.json",
        "title": "Figma API + MCP vs pen.dev",
        "url": "https://www.anchorterminal.com/compare/figma-mcp-vs-pen-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-miro.json",
        "title": "Framer Server API vs Miro API + MCP",
        "url": "https://www.anchorterminal.com/compare/framer-vs-miro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-pen-dev.json",
        "title": "Framer Server API vs pen.dev",
        "url": "https://www.anchorterminal.com/compare/framer-vs-pen-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/miro-vs-penpot.json",
        "title": "Miro API + MCP vs Penpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/miro-vs-penpot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pen-dev-vs-penpot.json",
        "title": "pen.dev vs Penpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/pen-dev-vs-penpot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/melius-vs-miro.json",
        "title": "Melius vs Miro API + MCP",
        "url": "https://www.anchorterminal.com/compare/melius-vs-miro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/melius-vs-pen-dev.json",
        "title": "Melius vs pen.dev",
        "url": "https://www.anchorterminal.com/compare/melius-vs-pen-dev"
      }
    ],
    "scores": [
      {
        "by": 40,
        "edge": "miro",
        "key": "reliability",
        "miro": 73,
        "name": "Reliability",
        "pen-dev": 33,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "miro",
        "key": "schema",
        "miro": 85,
        "name": "Schema \u0026 documentation",
        "pen-dev": 61,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "pen-dev",
        "key": "ergonomics",
        "miro": 63,
        "name": "Agent ergonomics",
        "pen-dev": 66,
        "weight": 13
      },
      {
        "by": 37,
        "edge": "miro",
        "key": "security",
        "miro": 70,
        "name": "Security \u0026 auth",
        "pen-dev": 33,
        "weight": 14
      },
      {
        "by": 8,
        "edge": "pen-dev",
        "key": "payments",
        "miro": 30,
        "name": "Payments \u0026 pricing",
        "pen-dev": 38,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "miro",
        "key": "maintenance",
        "miro": 77,
        "name": "Maintenance \u0026 community",
        "pen-dev": 59,
        "weight": 7
      },
      {
        "by": 23,
        "edge": "miro",
        "key": "transparency",
        "miro": 76,
        "name": "Transparency \u0026 trust",
        "pen-dev": 53,
        "weight": 7
      }
    ],
    "summary": "Miro API + MCP scores 65 (B) on agent readiness against pen.dev's 47.6 (D), and leads in 5 of 7 scored categories. pen.dev leads on payments \u0026 pricing. Both do design files.",
    "verdicts": {
      "miro": "REST creates shapes, connectors and frames, so flowcharts and architecture sketches can be drawn directly. Legacy MCP board tools were removed nine days after the deprecation notice.",
      "pen-dev": "An agent can create, edit and export `.pen` designs without a GUI through the `pen` CLI, with four compact MCP tools that carry annotations and a documented JSON format. The software is closed and needs a pen.dev account. No changelog, status page or security contact was found, and 14 public issue reports had no reply on 8 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/miro-vs-pen-dev",
    "json": "https://www.anchorterminal.com/compare/miro-vs-pen-dev.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/miro-vs-pen-dev.md",
    "slim": "https://www.anchorterminal.com/compare/miro-vs-pen-dev.min.md"
  },
  "markdown": "Miro API + MCP scores 65 (B) on agent readiness against pen.dev's 47.6 (D), and leads in 5 of 7 scored categories. pen.dev leads on payments \u0026 pricing. Both do design files.\n\n- Miro API + MCP: grade B, 65/100, rank #302 of 842. Markdown https://www.anchorterminal.com/tools/miro.md · JSON https://www.anchorterminal.com/api/v1/tools/miro.json\n- pen.dev: grade D, 47.6/100, rank #740 of 842. Markdown https://www.anchorterminal.com/tools/pen-dev.md · JSON https://www.anchorterminal.com/api/v1/tools/pen-dev.json\n\n## Which one, for what\n\n### Miro API + MCP (B)\n\nGood for: Agents that draw diagrams, maps and planning boards people will keep editing.\n\nAhead on:\n- Reliability, 73 against 33\n- Schema \u0026 documentation, 85 against 61\n- Security \u0026 auth, 70 against 33\n- Maintenance \u0026 community, 77 against 59\n- Transparency \u0026 trust, 76 against 53\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: Legacy MCP board tools were removed nine days after the deprecation notice\n\n### pen.dev (D)\n\nGood for: A coding agent that designs screens beside the code and keeps them in Git, including in CI.\n\nAhead on:\n- Payments \u0026 pricing, 38 against 30\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where Miro API + MCP loses 3 points for them\n\nWatch for: No changelog. The three desktop releases on GitHub have empty notes, and the format docs reserve the right to make breaking changes\n\n\n## Score by category\n\n| Category | Weight | Miro API + MCP | pen.dev | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 73 | 33 | Miro API + MCP +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 61 | Miro API + MCP +24 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 66 | pen.dev +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 33 | Miro API + MCP +37 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 38 | pen.dev +8 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 59 | Miro API + MCP +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 53 | Miro API + MCP +23 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **65 · B** | **47.6 · D** | |\n\n## Facts side by side\n\n| Fact | Miro API + MCP | pen.dev |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Miro | High Agency, Inc. |\n| Hosted endpoint | `https://api.miro.com/v2` | no (local only) |\n| Transports | HTTP, Streamable HTTP | stdio |\n| Auth | OAuth | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | proprietary | Proprietary. The CLI package on npm carries a proprietary licence file, and the apps fall under the vendor's EULA |\n| Tools exposed | 18 | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `io.github.miroapp/mcp-server` | not listed |\n| Last release | 2026-09-17 | 2026-10-08 |\n| Terms last updated | 2021-09-01 | 2026-10-06 |\n| Privacy policy last updated | 2025-08-01 | 2026-10-06 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 156 stars, 19k npm/wk | 3.5k npm/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**Miro API + MCP.** REST creates shapes, connectors and frames, so flowcharts and architecture sketches can be drawn directly. Legacy MCP board tools were removed nine days after the deprecation notice.\n\n**pen.dev.** An agent can create, edit and export `.pen` designs without a GUI through the `pen` CLI, with four compact MCP tools that carry annotations and a documented JSON format. The software is closed and needs a pen.dev account. No changelog, status page or security contact was found, and 14 public issue reports had no reply on 8 October 2026.\n\n## Before you call either\n\n### Miro API + MCP\n\n1. Create shapes first, then connectors with `startItem` and `endItem` ids\n2. Put related items in a frame and set `parent` so they move together\n3. Watch `X-RateLimit-Remaining`. There's no `Retry-After`, so back off exponentially on 429\n4. Through MCP, call `canvas_read_as_svg` before `canvas_update_from_svg` so the model sees the current layout\n5. Don't call the legacy MCP board tools. They were removed on 17 September 2026\n\n### pen.dev\n\n1. Call `read_skill()`, then `read_skill({ path: \"pen-schema.md\" })` and `read_skill({ path: \"execute.md\" })` before the first `execute`. The tool description alone doesn't document the operations\n2. Call `get_app_state()` and confirm the active document before editing. The MCP server works on whichever `.pen` file is open in the app\n3. In headless `pen interactive`, call `save()` before `exit()`, and keep `--in` and `--out` on different paths to preserve the source\n4. Check that an export file exists. The docs say an export failure can print an error without a nonzero exit status\n5. In CI set `PEN_CLI_KEY` plus a provider key such as `ANTHROPIC_API_KEY`. Run `pen version`, since `pen --version` is not a flag\n\n## Questions\n\n### Which is better for AI agents, Miro API + MCP or pen.dev?\n\nMiro API + MCP scores 65 (B) on agent readiness against pen.dev's 47.6 (D), and leads in 5 of 7 scored categories. pen.dev leads on payments \u0026 pricing.\n\n### Do Miro API + MCP and pen.dev need an API key?\n\nMiro API + MCP uses an OAuth sign-in. pen.dev takes an API key or an OAuth sign-in.\n\n### Can an agent call Miro API + MCP and pen.dev without installing anything?\n\nMiro API + MCP has a hosted endpoint at https://api.miro.com/v2. pen.dev runs on your own machine, with no hosted endpoint listed.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/miro-vs-pen-dev.json, and with the fewest tokens: https://www.anchorterminal.com/compare/miro-vs-pen-dev.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"miro\", \"b\": \"pen-dev\"}`. From a terminal: `anchor compare miro pen-dev`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/miro.json and https://www.anchorterminal.com/api/v1/tools/pen-dev.json\n\n## Other comparisons with Miro API + MCP or pen.dev\n\n- [Figma API + MCP vs Miro API + MCP](https://www.anchorterminal.com/compare/figma-mcp-vs-miro.md)\n- [Figma API + MCP vs pen.dev](https://www.anchorterminal.com/compare/figma-mcp-vs-pen-dev.md)\n- [Framer Server API vs Miro API + MCP](https://www.anchorterminal.com/compare/framer-vs-miro.md)\n- [Framer Server API vs pen.dev](https://www.anchorterminal.com/compare/framer-vs-pen-dev.md)\n- [Miro API + MCP vs Penpot API + MCP](https://www.anchorterminal.com/compare/miro-vs-penpot.md)\n- [pen.dev vs Penpot API + MCP](https://www.anchorterminal.com/compare/pen-dev-vs-penpot.md)\n- [Melius vs Miro API + MCP](https://www.anchorterminal.com/compare/melius-vs-miro.md)\n- [Melius vs pen.dev](https://www.anchorterminal.com/compare/melius-vs-pen-dev.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Miro API + MCP vs pen.dev",
        "url": ""
      }
    ],
    "description": "Miro API + MCP scores 65 (B) on agent readiness against pen.dev's 47.6 (D), and leads in 5 of 7 scored categories. pen.dev leads on payments \u0026 pricing. Both do design files. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Miro API + MCP B 65",
      "pen.dev D 47.6",
      "scores"
    ],
    "h1": "Miro API + MCP vs pen.dev",
    "image": "https://www.anchorterminal.com/assets/og/compare-miro-vs-pen-dev.png",
    "path": "/compare/miro-vs-pen-dev",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Miro API + MCP vs pen.dev for AI agents, B 65 vs D 47.6",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/miro-vs-pen-dev"
  },
  "tokens": {
    "markdown": 2000,
    "slim": 630
  },
  "version": 1
}
