Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
AI design fidelity — compare Figma designs or screenshots against rendered UI. No API keys.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FIGMA_ACCESS_TOKENValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"kiyas": {
"command": "npx",
"args": [
"-y",
"kiyas-cli",
"mcp"
],
"env": {
"FIGMA_ACCESS_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add kiyas --env FIGMA_ACCESS_TOKEN=your-value -- npx -y kiyas-cli mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"kiyas": {
"command": "npx",
"args": [
"-y",
"kiyas-cli",
"mcp"
],
"env": {
"FIGMA_ACCESS_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"kiyas": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"kiyas-cli",
"mcp"
],
"env": {
"FIGMA_ACCESS_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account saiffmirza, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FIGMA_ACCESS_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.4.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
AI-Powered Design Fidelity — MCP Server & CLI
"comparison" — pronounced "key-AHS"
A developer-first MCP server (also runnable as a CLI) that compares Figma designs against rendered UI components and surfaces an AI-powered semantic diff. Plugs into Claude Code, Cursor, Codex CLI, and any other MCP-compatible client.
Unlike pixel-diff tools, kiyas uses vision AI to understand _what_ is different and _why_ it matters — outputting actionable, human-readable feedback like:
Just describe the component by name. kiyas finds it in your codebase, screenshots it, and compares it against the Figma design.
Prefer an app over a terminal? There's also a desktop app.
A native macOS app for running the same comparisons point-and-click — built for designers and anyone who'd rather not touch a terminal. Pick a project, paste a Figma link (or drop in a screenshot), describe the component, and get the full report in-app. It uses the same engine and the same subscription-based auth: AI calls go through the Claude Code or Codex CLI on your machine, never an API key.
[⬇ Download the latest release](https://github.com/saiffmirza/kiyas/releases/latest) (Apple Silicon)
.dmg, drag Kiyas to Applications.xattr -dr com.apple.quarantine /Applications/Kiyas.app).Highlights: project sidebar with dev-server detection, capture preview + crop before comparing, built-in terminal, full dark mode, and a Liquid Glass icon on macOS 26.
To build from source instead:
git clone https://github.com/saiffmirza/kiyas && cd kiyas
npm install npm run desktop # dev mode
cd apps/desktop && npx electron-builder --mac
┌─────────────────────┐
│ kiyas │ │ (MCP server / CLI) │ │ │ │ figma / design img │ │ + target/component │ └──────────┬───────────┘ │ ┌──────────────┼──────────────┐ ▼ ▼ ▼ ┌──────────────┐ ┌───────────┐ ┌─────────────┐ │ 1. Auth │ │ 2. Design │ │ 3. Resolve │ │ │ │ Capture │ │ Component │ │ Verify │ │ │ │ │ │ Claude Code │ │ Figma API │ │ AI agent │ │ or Codex CLI │ │ PNG export│ │ searches │ │ is installed │ │ — or your │ │ codebase, │ │ & signed in │ │ own image │ │ finds URL + │ │ │ │ (--design)│ │ CSS selector│ └──────┬───────┘ └─────┬─────┘ └──────┬──────┘ │ │ │ │ ▼ ▼ │ ┌────────────┐ ┌────────────┐ │ │ Figma │ │ Playwright │ │ │ design │ │ screenshot │ │ │ (PNG) │ │ (PNG) │ │ └─────┬──────┘ └─────┬──────┘ │ │ │ │ └───────┬───────┘ │ ▼ │ ┌──────────────────────┐ └─────────►│ 4. Vision AI Compare │ │ │ │ Both images sent to │ │ Claude Code CLI with │ │ a structured prompt │ │ │ │ Returns JSON array │ │ of discrepancies │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ 5. HTML Report │ │ │ │ Side-by-side images │ │ Severity badges │ │ Interactive filters │ │ HIGH / MEDIUM / LOW │ │ │ │ file:// link in │ │ terminal output │ └──────────────────────┘
Step-by-step:
--scale), and fetches node metadata (colors, fonts, spacing). Or skip Figma entirely: pass --design with your own design image and no Figma token is needed.kiyas exposes its comparison engine as an MCP server over stdio. Three tools, all with Zod-typed input schemas:
| Tool | Description | Required input |
|---|---|---|
compare | Run a fresh design-vs-implementation comparison; returns reportId + summary | (figma or designImage) + (target or component) |
get_diff_report | Fetch a stored report's HTML or JSON content | reportId |
list_issues | List discrepancies from a stored report, optionally filtered by severity | reportId |
Reports are persisted under .kiyas/reports/ / in your project directory, so the same reportId stays valid across calls and across CLI/MCP usage.
npm install -g kiyas-cli
npx playwright install chromium
Claude Code
claude mcp add kiyas -- npx -y kiyas-cli@latest mcp
claude mcp add kiyas -e FIGMA_ACCESS_TOKEN=figd_xxx -- npx -y kiyas-cli@latest mcp
kiyas is also listed in the official MCP Registry as io.github.saiffmirza/kiyas, so registry-aware clients can install it directly from their MCP catalog.
Cursor — edit ~/.cursor/mcp.json:
{
"mcpServers": { "kiyas": { "command": "npx", "args": ["kiyas-cli@latest", "mcp"] } } }
Codex CLI — edit ~/.codex/config.toml:
[mcp_servers.kiyas]
command = "npx" args = ["kiyas-cli@latest", "mcp"]
The configs above use kiyas-cli@latest so npx picks up new releases on every launch — the tradeoff is a registry check per start, and launches can fail offline. If you'd rather pin a version (kiyas-cli@1.3.1) or use a global install, that's safe too: kiyas checks npm once at startup (non-blocking) and logs a notice to stderr when a newer version is available.
The compare tool needs Figma access only when you pass a figma URL. Three ways to provide it:
1. Pass your token via the server config (recommended):
claude mcp add kiyas -e FIGMA_ACCESS_TOKEN=<your-token> -- npx -y kiyas-cli@latest mcp
or in .mcp.json / mcp.json / config.toml, add an env block:
{
"mcpServers": { "kiyas": { "command": "npx", "args": ["kiyas-cli@latest", "mcp"], "env": { "FIGMA_ACCESS_TOKEN": "your-token" } } } }
2. A `.kiyasrc` file in the project root or home directory: { "figmaAccessToken": "..." }
3. No token at all — pair with the Figma MCP server. If the agent already has Figma's own MCP server connected, it can export the frame as an image itself and pass the file path (or image URL) as designImage instead of a figma URL. kiyas never touches the Figma API in this mode:
Export node 1:234 from the Figma file as a PNG, then use kiyas to compare it against the primary button on the login page.
If a figma URL is used with no token configured, the tool fails fast with these instructions rather than hanging.
Once connected, you can ask the agent things like:
Compare the Figma frame at
against the primary button on the login page, then list only the high-severity issues.
The agent will call compare to produce a reportId, then list_issues with severity: "high" against that ID.
--figma; comparing against a local screenshot with --design requires no tokennpm install -g kiyas-cli
npx playwright install chromium
kiyas setup
This walks you through:
.env# Describe the component by name — kiyas finds it automatically
kiyas --figma "https://www.figma.com/design/abc123/Design?node-id=1:234" \ --component "eventHeader on the redemption screen"
kiyas --figma "https://www.figma.com/design/abc123/Design?node-id=1:234" \ --target "http://localhost:3000/redemption" \ --selector ".event-header"
kiyas --figma "https://www.figma.com/design/abc123/Design?node-id=1:234" \ --component "primary button" \ --output report.html
kiyas --figma "https://www.figma.com/design/abc123/Design?node-id=1:234" \ --component "primary button" \ --format json
kiyas --design ./design.png \ --component "primary button" \ --output report.html
kiyas --figma "https://www.figma.com/design/abc123/Design?node-id=1:234" \ --component "nav bar" \ --model openai
| Flag | Description
Only the beginning is shown; read the rest in the repo