MCP server for the Frame-Relay design kit: components, tokens and live Figma selections.
Turn your Figma components into a design kit your AI coding agent follows.
New to this? Follow the step-by-step setup guide for designers.
Status: public beta. Commands below install the beta tag of the CLI. Expect rough edges and
tell us what you find with the beta feedback form.
Frame-Relay is for designers who already work with AI coding tools like OpenCode or Antigravity, and for small teams that want their Figma system to stay the source of truth while AI writes the UI. You keep designing in Figma. Your agent gets exact components, tokens and rules instead of guessing from screenshots.
Live mode is the optional fifth step: pair Figma with your agent and let it read the layer you have selected. See Live mode. Export mode always works without it.
# 1. Create a React + TypeScript app (Vite shown here; any React app works)
npm create vite@latest my-app -- --template react-ts
cd my-app
# 2. Add Tailwind CSS v4
npm install tailwindcss @tailwindcss/vite
# Then add the tailwindcss() plugin to vite.config.ts and
# `@import "tailwindcss";` to src/index.css.
# 3. In Figma: run the Frame-Relay plugin, open the Export tab, click Export Kit (.zip)
# 4. Set up Frame-Relay and sync the kit
npx @frame-relay/cli@beta init --yes
npx @frame-relay/cli@beta sync --from ~/Downloads/frame-relay-kit-my-file.zip
# 5. Check the setup
npx @frame-relay/cli@beta doctor
Open the folder in OpenCode (or your AI tool), then ask: "Build a settings page with the kit components." The agent calls the MCP server for the component list, props and tokens, and builds.
Getting the Figma plugin: Frame-Relay is coming to Figma Community. Until it is approved, open
Figma desktop, go to Plugins, Development, Import plugin from manifest, and pick
packages/plugin/manifest.json from this repo.
Full walkthrough: Getting started. Ideas first: Concepts.
These steps are written for a designer who has never used a terminal. A terminal is a window where you type short commands to your computer. Your AI coding tool has one built in.
Step 1. Install Node.js. Go to nodejs.org, download the LTS version, and install it like any other app. Why: Frame-Relay runs on Node.js. Without it, your computer can't run the commands below.
Step 2. Install an AI coding tool. Pick one: Cursor, Antigravity, OpenCode or Claude Code. Install it and sign in. Why: This is the AI that will build your app. Frame-Relay teaches it to use your designs.
Step 3. Add the Frame-Relay plugin to Figma. Open Figma, search for "Frame-Relay" in Community plugins, and click Install. Until the listing is live, download the plugin zip from the latest GitHub release and follow these import steps. Why: The plugin is how your designs leave Figma and reach your AI.
Step 4. Design your components. Build your buttons, inputs and cards as Figma components. Follow the simple naming rules in the naming contract, such as naming a variant "Size=Large" or "State=Hover", and use Figma variables for your colors and spacing. Why: Clear names let Frame-Relay understand your design. Variables let it carry your exact colors and sizes into code.
Step 5. Check your file. Run the Frame-Relay plugin and open the Lint tab. Click Check file. Fix anything it lists, then check again. Why: It's like spell-check for your design file. It catches problems before they turn into messy code.
Step 6. Export your kit. Open the Export tab and click Export kit. A zip file downloads. Why: This zip is your whole design system packed into one box: colors, sizes, components and a picture of each one.
Step 7. Create a project folder.
Make a new folder on your computer, for example my-app. Use dashes, not spaces, in the name. Open the folder in your AI tool.
Why: Your app's code needs a home.
Step 8. Ask your AI to set up the app. Paste this into your AI tool:
Set up a Vite + React + TypeScript app in this folder, with Tailwind CSS v4 and the "@/" path alias pointing to src. Then run npm run build to confirm it works.
Why: This creates an empty app that Frame-Relay knows how to work with.
Step 9. Set up Frame-Relay. Open the terminal in your AI tool and type:
npx @frame-relay/cli@beta init
Answer yes to its questions. Why: It looks at your app and gets it ready to receive your designs.
Step 10. Bring in your designs. Type this, with a space at the end:
npx @frame-relay/cli@beta sync --from
Then drag your zip file from Step 6 into the terminal and press Enter. Why: This opens the box. It turns your Figma components into real code, and writes rules telling your AI: "Always use these. Never invent your own."
Step 11. Run a health check.
npx @frame-relay/cli@beta doctor
You should see green ticks. Why: It's like the warning lights in a car. It confirms everything is connected before you start building.
Step 12. Ask your AI to build a screen. Start a new chat in your AI tool and ask for what you need, for example: "Build a login page using my design kit." Why: The AI now looks up your components before it builds, so it uses your buttons and inputs instead of making up its own.
Step 13. See your app. In the terminal, type:
npm run dev
Open the link it shows, usually http://localhost:5173, in your browser.
Why: You see the page the AI built and can compare it with your Figma design.
Step 14. Check the AI's work.
npx @frame-relay/cli@beta check
Why: It catches any place the AI broke your rules, such as using a random color. If it finds something, ask the AI: "Fix the issues frame-relay check found."
Step 15. Use live mode (optional). Ask your AI: "Start Frame-Relay live mode." It gives you a 6-digit code. In Figma, open the plugin's Live tab, type the code and click Connect. Now select anything in Figma and ask your AI: "Build something that matches my Figma selection." Why: Your AI sees what you select in Figma right away, so you can build from a design you haven't exported yet.
Step 16. When you change your designs. Repeat Steps 5, 6 and 10: check, export and sync again. Why: Your code stays matched to your latest Figma design. If you edited a generated component by hand, Frame-Relay keeps your edit and saves the new version beside it, so you never lose work.
sync writes the setup for each tool it finds, so the agent can start using the kit right away.
| Tool | What sync writes |
|---|---|
| Antigravity | .agents/mcp_config.json and .agents/rules/frame-relay.md |
| OpenCode | opencode.json (merged, other keys kept) and AGENTS.md |
| Cursor | .cursor/mcp.json and .cursor/rules/frame-relay.mdc |
| Claude Code | .mcp.json and CLAUDE.md |
Until the stable release, the package is published with the beta tag only. The simplest setup is
to install it as a dev dependency once: npm install -D @frame-relay/cli@beta. Sync then
writes a command that uses the local install, and the MCP server starts without changes.
| Page | What it covers |
|---|---|
| Getting started | First-time walkthrough from an empty folder to an AI-built page. |
| Concepts | The kit, sync, rules files, MCP, check, doctor and live mode. |
| CLI commands | Every command, its flags and the files it writes. |
| Figma plugin | The Lint, Export and Live tabs, plus warnings and the icon rule. |
| Live mode | Pairing, the Live tab, live tools, security and troubleshooting. |
| MCP server | The 10 tools your agent calls, resources and client setup. |
| Kit format | Folder layout and every field in the kit JSON files. |
| Converter | How Figma data maps to kit specs, including every warning code. |
| Figma naming contract | The naming rules that keep exports clean. |
| JSON schemas | Stable URLs for the manifest, tokens and component schemas. |
The same docs are published at https://joseph-brendan.github.io/Frame-Relay/.
Setup, commands, branch naming and release notes are in CONTRIBUTING.md. Security reports: SECURITY.md. What we collect: nothing, see PRIVACY.md.
MIT, copyright (c) 2026 Joseph Brendan.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @frame-relay/cliMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-joseph-brendan-frame-relay": {
"command": "npx",
"args": [
"-y",
"@frame-relay/cli"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@frame-relay/clinpmio.github.Joseph-Brendan/frame-relay works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.