Skip to main content
The Subframe MCP server gives AI coding assistants like Claude Code, Cursor, and Codex direct access to your Subframe projects. AI can read, design, and delete pages, components, and snippets, screenshot pages and components, read prototypes, write design documents, edit the theme, and search the Subframe docs. A separate Subframe Docs MCP server gives AI access to Subframe documentation (this site).

Installing the MCP server and Agent skills

1

Install the Subframe plugin

The Subframe plugin for Claude Code sets up the MCP server and agent skills in one install.
2

Enable auto-update (recommended)

Keep the Subframe plugin up to date automatically:
  1. Run /plugin to open the plugin manager
  2. Select the Marketplaces tab
  3. Choose the subframe marketplace
  4. Select Enable auto-update
3

Verify installation

Run /mcp to check that the Subframe MCP server is connected, then try asking Claude Code to use Subframe.

Using Agent skills

Agent skills are guided workflows that teach your AI agent how to use Subframe. The MCP server gives the agent access to Subframe, while the skills teach it what to do with that access. Subframe provides three skills:
  • /subframe:design designs and edits pages, components, snippets, design documents, and themes in Subframe
  • /subframe:develop implements a Subframe design in your codebase and adds the required application logic
  • /subframe:install installs Subframe in a codebase and configures its theme, fonts, and components
Agent skills use the Agent Skills open standard ↗.

Keeping Agent skills up to date

The Subframe plugin for Claude Code can update itself automatically. For Cursor, Codex, and other clients, check for updates with:
Install available updates with:

Enabling the Claude Code plugin for your team

Add the following to .claude/settings.json so team members are prompted to install the Subframe plugin:
.claude/settings.json
Commit this file to your repository.

Using the MCP server

Once configured, your AI assistant can access Subframe automatically when you prompt or paste an MCP link to a page from the Code panel. You can get the MCP link for any design by either:
  • Copying the link from the browser address bar
  • Copying the link under Code > Inspect in Subframe
Copy MCP link from Subframe

Available tools

The Subframe MCP server exposes tools across several categories. Most read tools take a projectId. If omitted, the first project the user has access to is used.

Discovery

Pages

Components

Snippets

Snippets are small, standalone bits of UI typically embedded inside design documents as live examples (e.g. a “Button variants” snippet showing every Button state). They live within Subframe and do not sync out.

Flows

A flow is a collection of related pages (e.g. “Onboarding”, “Checkout”).

Prototypes

A prototype is an interactive, AI-built running app — its own React + Vite codebase — created in the Subframe prototyping editor. The read tools below expose a prototype as a standalone, runnable Vite app: internal scaffolding is dropped and the Vite/Tailwind config plus an entrypoint are added, so the file paths and contents you get back are ready to run with npm install && npm run dev.

Design documents

Design documents are markdown files that convey how to work within your design system — brand voice, design principles, component usage rules (“when to use Toggle vs. Checkbox”), accessibility requirements, do/don’t examples. AI automatically reads them when designing or implementing. Project-scoped docs (many per project) cover broad guidance; component-scoped docs (one per component, attached directly to it) cover specifics for that component. A component can have at most one design document. Snippets can be embedded as live examples with <div data-type="component-example" data-component-id="..."></div>.

Theme

A project can hold several themes that share token names but differ in values. Theme edits apply immediately across every page and component.
Deleting a theme token is destructive. Every reference to it in your designs is replaced with the token’s value at deletion time, and those references stay detached even if you restore the token.

Design references

The design tools can ground a generation in real material — an existing page, component, or snippet in your project, raw code from your codebase, or a mockup uploaded to Subframe. Each reference comes with a note telling the generator how to use it, like “Match this page’s layout and header”. Invalid references are dropped with a warning in the tool result rather than failing the design.

Async jobs

design_page, design_component, and edit_component run in the background and return a URL you can open right away to watch progress in the editor. Reading a page or component back before its job finishes returns stale content. To reference a page in an external agent, copy its MCP link from the Code panel.
To get the latest version of components in your project, run npx @subframe/cli@latest sync to sync components.

Example prompts

Troubleshooting

The Subframe MCP server uses OAuth. If you’re seeing authentication errors:
  • Try re-authenticating by reconnecting to the MCP server in your client
  • Check that you have the correct permissions for the project you’re trying to access
  • Make sure your browser session is active when authenticating
  • Confirm your client supports MCP OAuth — Subframe access tokens are not accepted by the MCP server
Make sure your AI tool:
  • Has MCP support enabled
  • Has the Subframe server in its MCP configuration
  • Has been restarted after adding the configuration
Check your tool’s logs for MCP-related errors.
Use list_components, list_pages, list_snippets, or list_flows to see what’s available.Verify:
  • The component/page/snippet exists in your Subframe project
  • The name or URL matches exactly
  • You have access to the project
design_page, design_component, and edit_component run as background jobs. Check wait_for_jobs with the jobId returned by the design tool — it reports running, done, error, or not_found. The URL is live throughout, so opening it in the editor shows real-time progress.If a job stops reporting progress for ~10 minutes, the server treats it as stalled (worker died, request timed out) and reports it as error so polling never hangs — its summary explains that the result could not be verified. Open the URL to see whether anything was actually generated; the chat panel surfaces any errors from the AI agent.
If the MCP server is unreachable:
  • Check your internet connection
  • Verify the URL is https://mcp.subframe.com/mcp
  • Reach out to the Subframe team for support
Last modified on September 19, 2026