finish-line
Provides tools for inspecting the current Figma selection and page outline, resolving finish-line node links, rendering PNG previews, generating starter code, selecting nodes, and submitting approval-gated canvas edits in the open Figma file.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@finish-lineInspect my current Figma selection and generate React component code."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Finish Line
From the final frame to the first line of code.

Finish Line is a free, open-source Figma handoff inspector with an optional local MCP bridge for Codex, Claude Code, Cursor, and other compatible agents. It runs as a development plugin in Figma Design, without requiring Dev Mode or a Finish Line account.
There is no Finish Line backend, analytics, subscription, paid upgrade, or feature gate.
Finish Line is an independent open-source project. It is not affiliated with, endorsed by, or distributed through Figma.
What it does
Inspects frames, components, instances, layout, constraints, fills, strokes, effects, typography, variables, styles, and nested layers.
Recreates the familiar box-model view for border, padding, and content measurements.
Copies developer-ready values with token-aware copy behavior.
Generates starter code for CSS, Tailwind CSS, React + CSS Modules, SwiftUI, Jetpack Compose, and Flutter.
Exports SVG and PNG assets individually or in bulk.
Connects the open Figma file to an agent through a bridge bound to
127.0.0.1:3846.Lets agents inspect selections, navigate the current page, render previews, and generate code.
Copies a node-specific
finish-line://link that can be pasted into an agent prompt to target the exact layer, even after the Figma selection changes.Supports typed canvas edits that remain blocked until the user explicitly approves them inside Finish Line.
Related MCP server: Custom Figma MCP
Quick start
1. Download Finish Line
Clone the repository:
git clone https://github.com/vypravec/finish-line.git
cd finish-lineYou can also use GitHub's Code → Download ZIP option and extract the archive. Release builds are committed, so the Figma inspector does not require a local build.
2. Install the Figma plugin
Open the Figma desktop app.
Open any Figma Design file.
Go to Plugins → Development → Import plugin from manifest….
Select
manifest.jsonfrom the Finish Line folder.Run Finish Line from Plugins → Development.
The Inspect tab is now ready. Keep the repository folder on your computer because Figma loads the development plugin from that location.
3. Connect an agent (optional)
Agent support requires Node.js 20 or newer. The Agent tab includes the same guided setup and a live connection test.
Codex
codex plugin marketplace add vypravec/finish-line
codex plugin add finish-line@finish-lineStart a new Codex task, open Finish Line → Agent in Figma, and click Connect local agent. Then ask:
Use $finish-line to inspect my current Figma selection.For an unambiguous handoff, select a layer and click the link icon beside its dimensions. Paste the copied finish-line://node/... URL into the prompt. Finish Line resolves that exact node in the connected file instead of relying on whatever is selected when the agent responds.
Claude Code
claude plugin marketplace add vypravec/finish-line
claude plugin install finish-line@finish-lineStart a new Claude Code session and invoke /finish-line:finish-line, or describe the Figma task normally.
Cursor and other MCP clients
See the complete installation guide for the stdio configuration, update instructions, uninstall steps, and troubleshooting.
How the agent connection works
Codex / Claude Code / Cursor
↕ MCP over stdio
local bridge process
↕ WebSocket on 127.0.0.1:3846
Finish Line in Figma
↕ official Figma Plugin API
currently open Figma fileThe bridge is local and Finish Line has no remote server. When you use a cloud-hosted agent, however, the MCP client may send selected design context to that agent's provider under its own terms and privacy policy. See Privacy for the exact data flow.
The plugin must remain open while an agent is connected. Closing Finish Line ends the connection and clears the bridge's in-memory selection snapshot.
Finish Line node links contain the node ID, page ID, readable node/page names, and a random plugin-session token. They do not contain layer contents, generated code, account credentials, or a Figma file key. A Finish Line link expires when the plugin window is closed or reloaded; copy a new link for the next session.
MCP tools
Tool | Purpose |
| Check the bridge, plugin, and current selection state |
| Read the complete handoff snapshot for the current selection |
| Resolve a copied Finish Line link or a Figma URL containing |
| Inspect a specific node by ID |
| Read a bounded layer tree for the current page |
| Render a PNG preview as an MCP image block |
| Return code, color tokens, and text styles in one of six targets |
| Select and reveal layers without changing document content |
| Submit a typed batch of canvas changes for in-Figma approval |
Canvas operations can create frames, rectangles, ellipses, text, and component instances; update supported properties; duplicate or delete nodes; and set the selection. Every content-changing batch is shown in Finish Line before anything is applied.
Privacy and safety
The Agent connection is opt-in and never starts from the Figma plugin automatically.
manifest.jsonallows onlyws://localhost:3846.The bridge binds exclusively to
127.0.0.1, not the local network.There is no Finish Line account, analytics collector, remote API, or stored AI credential.
Agent writes use bounded, typed operations rather than
evalor arbitrary JavaScript.Every document-changing agent request requires explicit approval in Figma.
Preferences are stored through Figma's local plugin storage; bridge state is kept in memory only.
Read the full privacy policy and security policy before using Finish Line with confidential designs.
Updating
Pull the newest release and rebuild only when you are developing from source:
git pull --ff-only
npm ci
npm run buildRestart Finish Line in Figma. For Codex, refresh the marketplace and reinstall the plugin if an update is not picked up automatically:
codex plugin marketplace upgrade finish-line
codex plugin add finish-line@finish-lineThen start a new task so Codex loads the updated skill and MCP tools.
Development
Requirements: Node.js 20 or newer and the Figma desktop app.
npm ci
npm run watchReload Finish Line in Figma after UI or plugin-controller changes. The complete automated release gate is:
npm testIt validates both TypeScript targets, the inline UI, code generators, preferences, agent approvals, Codex and Claude manifests, the shared skill, production bundles, and a real MCP stdio/WebSocket integration flow.
See CONTRIBUTING.md for development conventions and RELEASE.md for the release checklist.
Releases
v2.1.3— one clear Agent setup entry point without a duplicate installation card.v2.1.2— streamlined Agent handoff with a live shared-selection preview and a clearer link action.v2.1.1— official Finish Line icon across Codex and the Figma plugin, with consistent host-style corner masking.v2.1.0— exact-node links for unambiguous agent prompts, plus linked-node validation and native skill support.v2.0.0— local agent bridge, native Codex/Claude packaging, guided setup, previews, navigation, and approval-gated canvas edits.v1.0.0— permanently archived offline inspector release without the agent bridge.
Release notes are maintained in CHANGELOG.md.
Support
Use GitHub Issues for bugs, setup questions, and feature proposals. See SUPPORT.md before filing an issue.
If Finish Line saves you time, optional support is available on Ko-fi. Contributions never unlock additional features.
License
Finish Line is available under the MIT License.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables AI assistants to read, analyze, and modify Figma designs, manage design tokens, and create prototype connections, all while keeping data local.631519MIT
- FlicenseCqualityBmaintenanceLocal bridge enabling AI agents to inspect and edit the currently open Figma Desktop file through the Figma Plugin API.291
- AlicenseNot gradedqualityCmaintenanceEmpowers AI assistants to control Figma via natural language, enabling creation and modification of designs, components, variables, and exports through a WebSocket bridge.2,1602MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to read and write a user's Figma file through the Figma Plugin API, offline and privately, without API tokens or rate limits.43MIT
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
Connect AI coding agents to Anima Playground, Figma, and your design system.
Build and run visual creative-production workflows from your AI agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vypravec/finish-line'
If you have feedback or need assistance with the MCP directory API, please join our Discord server