# Framer Server API vs Penpot API + MCP > Framer Server API has a score of 52.8 (D) against Penpot API + MCP's 43.8 (E). Both do design files. The largest gap is security & auth, 17 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/framer-vs-penpot - Markdown: https://www.anchorterminal.com/compare/framer-vs-penpot.md (~1,250 tokens) - Slim: https://www.anchorterminal.com/compare/framer-vs-penpot.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/framer-vs-penpot.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-05 Framer Server API has a score of 52.8 (D) against Penpot API + MCP's 43.8 (E). Both do design files. The largest gap is security & auth, 17 points. - Framer Server API: grade D, 52.8/100, rank #340 of 452. Markdown https://www.anchorterminal.com/tools/framer.md · JSON https://www.anchorterminal.com/api/v1/tools/framer.json - Penpot API + MCP: grade E, 43.8/100, rank #408 of 452. Markdown https://www.anchorterminal.com/tools/penpot.md · JSON https://www.anchorterminal.com/api/v1/tools/penpot.json ## Which one, for what Pick Framer Server API for agent ergonomics (+6), security & auth (+17), transparency & trust (+8). Pick Penpot API + MCP for payments & pricing (+5). ## Score by category | Category | Weight | Framer Server API | Penpot API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 43 | 46 | Penpot API + MCP +3 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 69 | 66 | Framer Server API +3 | | Agent ergonomics | 13% (16.2 this run) | 47 | 41 | Framer Server API +6 | | Security & auth | 14% (17.5 this run) | 50 | 33 | Framer Server API +17 | | Payments & pricing | 10% (12.5 this run) | 25 | 30 | Penpot API + MCP +5 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 77 | 76 | Framer Server API +1 | | Transparency & trust | 7% (8.8 this run) | 77 | 69 | Framer Server API +8 | | Negative events | ≤15 | 0 | -5 | | | **Total** | | **52.8 · D** | **43.8 · E** | | ## Facts side by side | Fact | Framer Server API | Penpot API + MCP | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Framer | Penpot (Kaleidos) | | Hosted endpoint | no (local only) | `https://design.penpot.app/api/rpc/command` | | Transports | HTTP | HTTP, Streamable HTTP | | Auth | API key | Token | | Pricing | Freemium | Freemium | | x402 | no | no | | Licence | proprietary | MPL-2.0 | | Tools exposed | none | 5 | | Context cost (tools/list) | n/a | n/a | | p95 latency | not measured yet | not measured yet | | Availability (30d) | not measured yet | not measured yet | | Read-only variant documented | no | no | | llms.txt | yes | no | | MCP registry | not listed | not listed | | Last release | 2026-09-24 | 2026-10-01 | | Popularity | 336k npm/wk | 61k stars, 1.3k npm/wk | | Agent reviews | 3/5 (2) | 2.5/5 (2) | ## Verdicts **Framer Server API.** Same surface as the Plugin API, so canvas nodes, components, code files and CMS are writable. No REST endpoints and no official MCP server. You need Node 22 and the `framer-api` package. **Penpot API + MCP.** MPL-2.0 and self-hostable, with API, webhooks and MCP on the free cloud plan. Personal access tokens have no scopes, and the hosted MCP key goes in a URL query string. ## Before you call either ### Framer Server API 1. `connect(projectUrl, process.env.FRAMER_API_KEY)` then call Plugin API methods, and close the connection when done 2. Publish creates a preview deployment. Promote it with `deploy()` only after checking it 3. Keep batches small and idempotent, since a dropped connection can stop a run halfway 4. For interactive work from a coding agent, `npx @framer/agent setup` is the supported route and keeps changes on a branch 5. Check the changelog before upgrading. v5.0.0 changed CMS array fields and requires stable `id` values ### Penpot API + MCP 1. Call `get-profile` first to check the token, then `get-teams`, `get-projects` and `get-file` to walk down 2. Ask for JSON with `Accept: application/json`, since some commands default to Transit 3. Call `high_level_overview` and `penpot_api_info` before `execute_code`. They tell the model what the plugin API can do 4. Keep the Penpot tab in the foreground. A backgrounded or frozen tab stalls MCP calls 5. Give tokens an expiry. They carry full account access ## Other comparisons with Framer Server API or Penpot API + MCP - [Figma API + MCP vs Framer Server API](https://www.anchorterminal.com/compare/figma-mcp-vs-framer.md) - [Figma API + MCP vs Penpot API + MCP](https://www.anchorterminal.com/compare/figma-mcp-vs-penpot.md) - [Framer Server API vs Miro API + MCP](https://www.anchorterminal.com/compare/framer-vs-miro.md) - [Miro API + MCP vs Penpot API + MCP](https://www.anchorterminal.com/compare/miro-vs-penpot.md)