Head to head · Design files · October 2026 research run
pen.dev vs Subframe
pen.dev scores 47.6 (D) on agent readiness against Subframe's 39.7 (E), and leads in 4 of 7 scored categories. Subframe leads on security & auth and maintenance & community. Both do design files.
Best design workspace and canvas APIs for AI agents · All 49 design comparisons
Which one, for what
pen.dev D
Good for A coding agent that designs screens beside the code and keeps them in Git, including in CI.
Ahead on
- Reliability, 33 against 19
- Schema & documentation, 61 against 54
- Agent ergonomics, 66 against 47
- Payments & pricing, 38 against 33
Also in its favour
- Runs on your own machine
- No incidents deducted, where Subframe loses 3 points for them
Watch for
No changelog. The three desktop releases on GitHub have empty notes, and the format docs reserve the right to make breaking changes
Subframe E
Good for A coding agent working beside a team that designs React and Tailwind interfaces in Subframe and wants the design as code, with a read-only route for review.
Ahead on
- Security & auth, 44 against 33
- Maintenance & community, 65 against 59
Also in its favour
- A hosted endpoint, with nothing to install
Watch for
46 tools are documented with no toolsets, and the vendor's design skill that explains them is about 55 KB of text
Score by category
| Category | Weight this run | pen.dev | Subframe | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 33 | 19 | pen.dev +14 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 61 | 54 | pen.dev +7 |
| Agent ergonomics | 13%16.2 | 66 | 47 | pen.dev +19 |
| Security & auth | 14%17.5 | 33 | 44 | Subframe +11 |
| Payments & pricing | 10%12.5 | 38 | 33 | pen.dev +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 59 | 65 | Subframe +6 |
| Transparency & trust | 7%8.8 | 53 | 57 | Subframe +4 |
| Negative events | ≤15 | 0 | -3 | |
| Total | 47.6 · D | 39.7 · E |
Facts side by side
| Fact | pen.dev | Subframe |
|---|---|---|
| Kind | MCP server | MCP server |
| Vendor | High Agency, Inc. | Atomic Design Inc |
| Hosted endpoint | no (local only) | https://mcp.subframe.com/mcp |
| Transports | stdio | HTTP |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | Proprietary. The CLI package on npm carries a proprietary licence file, and the apps fall under the vendor's EULA | Proprietary service under Atomic Design's terms of service. @subframe/cli and @subframe/core are marked ISC in their package files and the Claude Code plugin MIT in its manifest, with no licence file in the repository |
| Tools exposed | 6 | 46 |
| Read-only variant documented | no | yes |
| llms.txt | no | yes |
| Last release | 2026-10-08 | 2026-10-08 |
| Terms last updated | 2026-10-06 | 2026-01-22 |
| Privacy policy last updated | 2026-10-06 | 2026-01-22 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 3.5k npm/wk | 435 stars, 1k npm/wk |
Verdicts
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.
Subframe
An agent can read and change pages, components, snippets and themes in a Subframe project through a hosted MCP server with OAuth, and Viewer accounts get a read-only server. The server lists 46 tools, and no status page, rate limits, changelog or security contact were found. Three tools were renamed in September 2026 with no notice found.
Before you call either
pen.dev
- Call
read_skill(), thenread_skill({ path: "pen-schema.md" })andread_skill({ path: "execute.md" })before the firstexecute. 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.penfile is open in the app - In headless
pen interactive, callsave()beforeexit(), and keep--inand--outon 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_KEYplus a provider key such asANTHROPIC_API_KEY. Runpen version, sincepen --versionis not a flag
Subframe
- Connect with an MCP client that supports OAuth. The server rejects Subframe access tokens and static
Authorizationheaders - Pass
projectIdon every call. When it is omitted the server uses the first project the user can reach, which may be the wrong team's - After
design_page,design_componentoredit_component, callwait_for_jobswith thejobIdbefore reading the result. Earlier reads return stale content - Ask the owner before any delete tool or a theme token deletion. A deleted token leaves every reference detached even after the token is restored
- For the CLI, set
SUBFRAME_AUTH_TOKENandDO_NOT_TRACK=1, and point--dirat a folder that holds only Subframe code, because a full sync removes other unprotected files
Questions
Which is better for AI agents, pen.dev or Subframe?
pen.dev scores 47.6 (D) on agent readiness against Subframe's 39.7 (E), and leads in 4 of 7 scored categories. Subframe leads on security & auth and maintenance & community.
Do pen.dev and Subframe need an API key?
Both take an API key or an OAuth sign-in.
Can an agent call pen.dev and Subframe without installing anything?
pen.dev runs on your own machine, with no hosted endpoint listed. Subframe has a hosted endpoint at https://mcp.subframe.com/mcp.
Other comparisons with pen.dev or Subframe
- Figma API + MCP vs pen.dev
- Figma API + MCP vs Subframe
- Framer Server API vs pen.dev
- Framer Server API vs Subframe
- Miro API + MCP vs pen.dev
- Miro API + MCP vs Subframe
- pen.dev vs Penpot API + MCP
- pen.dev vs Sketch
- pen.dev vs Zeplin
- Penpot API + MCP vs Subframe
- Sketch vs Subframe
- Subframe vs Zeplin
- Melius vs pen.dev
- Melius vs Subframe
Machine-readable
- This page as Markdown
/compare/pen-dev-vs-subframe.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/pen-dev.json·/api/v1/tools/subframe.json - From a terminal
anchor compare pen-dev subframe(the CLI) - Over MCP
compare_tools {"a": "pen-dev", "b": "subframe"}at/mcp, no key