MCP server for the Frame-Relay design kit: components, tokens and live Figma selections.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @frame-relay/cli
MCP client config
{
"mcpServers": {
"frame-relay": {
"command": "npx",
"args": [
"-y",
"@frame-relay/cli"
]
}
}
}Turn your Figma components into a design kit your AI coding agent follows.
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.
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.