Skip to main content
Glama
xiaobai59

Figma Codex Bridge

by xiaobai59

Figma Codex Bridge

CI License: MIT MCP Local first

English | 简体中文

Select in Figma. Build with Codex.

Give Codex implementation-ready context from the exact Figma frame you are viewing—without copying a file URL, looking up a node ID, or managing a Figma API token.

Current selection · Local authenticated bridge · Read-only tools · Shared by multiple Codex tasks

Figma Codex Bridge demo: select a frame in Figma and request a Design Context Pack from Codex

Built for Codex and tested with Codex App and CLI. The server uses the Model Context Protocol and may work with other stdio MCP clients.

Related MCP server: FigmaExporterMcp

Why developers use it

Select what you see

Get context made for implementation

Keep the bridge local

Read the active Figma Desktop selection directly. No URL or node-ID handoff.

Receive bounded structure, tokens, components, variables, styles, asset candidates, CSS suggestions, and an optional PNG in one call.

The plugin and MCP processes communicate over authenticated 127.0.0.1; the tool surface is read-only.

The flagship figma_get_design_context tool turns the current selection into a compact Design Context Pack that an implementation agent can use without first exploring the entire Figma document.

One Figma connection, multiple Codex tasks

flowchart LR
  A["Codex task A"] --> D["Shared local bridge"]
  B["Codex task B"] --> D
  C["Codex task C"] --> D
  D --> E["Figma Desktop plugin"]
  E --> F["Active file and selection"]

Each Codex task may start its own MCP process. Compatible processes validate the bridge name, version, token, and tool set, then safely share one open Figma plugin. The automated test suite verifies this multi-process round trip.

How it is different

Figma Codex Bridge

Typical API-based workflow

Uses the file and selection already open in Figma Desktop

Requires a file URL, key, or node ID

No Figma REST API token

Requires token creation and management

Returns bounded, implementation-oriented context

Often starts from a broad document payload

Local loopback bridge protected by a generated token

Usually depends on a remote service

Read-only tool surface

May expose canvas-changing operations

This table describes the workflow this project is designed for; other Figma tools may offer different capabilities, including write operations.

60-second setup

Requirements: Figma Desktop, Node.js 20 or later, and Codex App or CLI. Figma Web alone cannot run the development plugin.

git clone https://github.com/xiaobai59/figma-codex-bridge.git
cd figma-codex-bridge
npm run setup

The setup command creates a private .figma-codex-bridge/ directory containing:

  • codex.toml: an MCP configuration with the absolute server path and a random local bridge token

  • plugin/manifest.json: a generated Figma development plugin using the same token

Then:

  1. Merge .figma-codex-bridge/codex.toml into your Codex configuration.

  2. In Figma Desktop, choose Plugins > Development > Import plugin from manifest... and select .figma-codex-bridge/plugin/manifest.json.

  3. Restart or reload Codex MCP servers.

  4. Run Figma Codex Bridge from Figma's Development plugins.

  5. Ask Codex to call figma_status.

The generated directory contains a local credential and is ignored by Git. Rotate it at any time:

npm run setup -- --rotate-token

Use a custom port with:

npm run setup -- --port 39555

Codex CLI alternative

After npm run setup, the equivalent CLI form is:

codex mcp add figma-codex-bridge \
  --env FIGMA_LOCAL_MCP_PORT=38455 \
  --env FIGMA_LOCAL_MCP_TOKEN=<generated-token> \
  -- node /absolute/path/to/figma-codex-bridge/server.mjs

Use the token and path generated in .figma-codex-bridge/codex.toml; do not paste a token into an issue or commit it.

Use it

Read my current Figma selection with figma_get_design_context. Extract the
layout, component hierarchy, typography, colors, spacing and reusable design
tokens, then implement the screen in this repository. Include a screenshot for
visual validation.

Recommended flow:

figma_status
  -> figma_get_design_context
  -> implement
  -> figma_get_screenshot for focused visual comparison

If nothing is selected, use figma_get_page_structure to find the relevant top-level frame first.

What Codex receives

{
  "roots": [{ "name": "Introduction Card", "type": "FRAME", "width": 1888, "height": 543 }],
  "tokens": { "colors": [], "spacing": [], "radii": [], "typography": [] },
  "components": [],
  "variables": [],
  "styles": [],
  "assets": [],
  "implementationHints": { "autoLayoutNodes": 2 }
}

The actual response includes the bounded node tree and resolved values. See a trimmed example.

Tools

Tool

Purpose

figma_status

Check the connection, active file, page, and selection.

figma_get_design_context

Build an implementation-ready Design Context Pack.

figma_get_file_metadata

List file metadata and all pages.

figma_get_page_structure

Read bounded top-level structure on a page.

figma_get_selection

Read the current selection and bounded child tree.

figma_get_node

Read one node by Figma node ID.

figma_get_screenshot

Export a selected or requested node as PNG.

Tree tools support depth, maxChildren, and maxNodes. Screenshot exports are limited by scale, pixel count, and response size. Node IDs accept both Figma's 2:131 form and the link form 2-131.

See the complete tool reference for limits and inputs.

Privacy and security

  • The server listens only on 127.0.0.1.

  • The generated plugin and MCP process share a random bridge token.

  • Browser origins are restricted; wildcard CORS is not used.

  • Tools are read-only and cannot edit the Figma canvas.

  • Figma files and screenshots are not intentionally persisted by the bridge.

  • Responses use node, text, body, screenshot, and concurrency limits.

MCP responses can still contain names, copy, layout values, and images from the active file. That content may be processed by the MCP client and model provider you configured. Read the privacy guide before using private or regulated designs.

This independent open-source project is not affiliated with Figma or OpenAI.

Architecture

flowchart LR
  A[Codex or stdio MCP client] -->|MCP| B[Node bridge]
  B -->|Authenticated localhost HTTP| C[Figma Desktop plugin]
  C -->|Read-only Plugin API| D[Active file and selection]

One process owns the loopback bridge; additional compatible Codex conversations forward through that owner, allowing them to share one open Figma plugin instance. Incompatible versions or tokens fail with an actionable error instead of silently connecting to the wrong bridge. See architecture details.

Current scope

  • Tested client: Codex App and Codex CLI

  • Platform requirement: Figma Desktop development plugin

  • Tool surface: read-only

  • Distribution: GitHub source release; npm publishing is intentionally disabled

Roadmap

  • Component and variable alias resolution

  • Exportable asset metadata and code-generation recipes

  • Figma-to-local-implementation visual comparison

  • Installer packages and verified compatibility guides for more MCP clients

  • Optional write tools only with scoped permissions and explicit confirmation

Have a workflow this bridge should support? Open a feature request or start a Discussion. If this makes your Figma-to-Codex workflow smoother, consider starring the repository—it helps other developers discover it.

Development

npm test
npm run check
npm run doctor

Loopback integration tests run in GitHub Actions. See CONTRIBUTING.md, SECURITY.md, troubleshooting, and the launch kit.

License

MIT

Tool DescriptionsB

Average 3.6/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation4/5

Each tool targets a distinct aspect: status, metadata, page structure, selection, node, context, screenshot. Some overlap exists between get_selection and get_node, but ID-based vs current selection keeps boundaries clear.

Naming Consistency4/5

All tools share the figma_ prefix and most use the get_ verb, but figma_status breaks the verb_noun pattern. The naming remains predictable and readable overall.

Tool Count5/5

Seven tools is well-scoped for a design-to-code bridge, covering status, metadata, page structure, selection, node access, context packing, and screenshots without unnecessary bloat.

Completeness5/5

The set covers all read-oriented needs for extracting design context: file info, page hierarchy, node access, selection, comprehensive context with tokens/styles/assets, and screenshots. No obvious gaps for a read-only bridge.

Available Tools

7 tools
figma_get_design_contextA

Build an implementation-ready context pack for the current selection or a Figma node, including bounded structure, tokens, components, variables, styles, assets, and an optional screenshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
scaleNo
nodeIdNoOptional Figma node ID. Defaults to the current selection.
maxNodesNo
maxChildrenNo
includeScreenshotNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the tool aggregates data (read operation) and mentions 'bounded structure', hinting at output limiting. However, it doesn't cover permissions, error handling, rate limits, or performance implications, leaving behavioral transparency incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core purpose, followed by a compact list of included content. Every phrase adds necessary information with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a clear overall purpose but lacks details on return structure, parameter behavior, or caveats. Given the absence of an output schema and six parameters, the description is adequate but not thorough, leaving an agent to infer important usage details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only nodeId has a schema description (17% coverage). The description hints at depth/maxNodes/maxChildren via 'bounded structure' and includeScreenshot via 'optional screenshot', but does not define scale or clarify the relationship between depth and maxChildren. This partial compensation is insufficient given the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool builds an implementation-ready context pack from a selection or node, listing specific content types (tokens, components, variables, styles, assets, screenshot). This distinctly differentiates it from sibling get_* tools that each return a narrower slice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies it is for generating a comprehensive context pack, implying when to use this over simpler getters. It provides clear context but does not explicitly name alternatives or provide when-not-to-use guidance, though the 'implementation-ready' framing is informative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_file_metadataA

Read metadata for the Figma file currently open in Figma Desktop.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavior. It indicates a read operation ('Read'), implying non-destructiveness, and notes the dependency on the current file in Figma Desktop. However, it does not describe failure modes (e.g., no file open) or what metadata specifically is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the action 'Read metadata' and includes the essential context. There is no wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema, read-only tool, the description gives the essential purpose and context. It is vague about what 'metadata' encompasses, but given the low complexity and sibling tools covering specific aspects, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter information needed. The description adds contextual meaning about the implicit input (the current file), but since the schema is empty, the description is sufficient and the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and identifies the resource ('metadata for the Figma file currently open in Figma Desktop'), which clearly differentiates it from sibling tools focusing on page structure, selection, nodes, or screenshots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for retrieving metadata about the current file but provides no explicit guidance on when to use it over alternatives or when not to use it. The context of 'currently open in Figma Desktop' gives some situational clarity, but sibling comparisons are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_nodeB

Read one Figma node by ID, including its bounded child tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
nodeIdYesFigma node ID, for example 2:131.
maxNodesNo
maxChildrenNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without any annotations, the description carries the burden of disclosing behavioral traits. It clearly indicates a read operation ('Read') and hints at limits via 'bounded child tree', but it does not explain what the bounds are, how limits are enforced, or any error behavior. This is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core action and resource. Every word earns its place, with no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four parameters and no output schema or annotations, the description is too brief to be fully complete. It explains the basic purpose and that the tree is bounded, but it omits how the bounds are controlled and what the tool returns in specific scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only nodeId is described). The description adds only a general notion of 'bounded child tree', which relates to the depth, maxNodes, and maxChildren parameters, but it does not explain their individual meanings or defaults. This is insufficient compensation for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Read' and clearly identifies the resource as 'one Figma node by ID', which distinguishes it from sibling tools that work with selections or whole files. The phrase 'including its bounded child tree' further specifies the scope of the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It only states what it does, without mentioning that it should be used when a specific node ID is known, nor does it reference any sibling tools or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_page_structureB

Read the top-level nodes on a Figma page. Defaults to the current page.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
pageIdNoOptional Figma page node ID. Defaults to the current page.
maxNodesNo
maxChildrenNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure. It only states that the operation is a read and that it defaults to the current page. It does not disclose behavior regarding depth limits, node limits, or the structure/shape of the returned data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, only two short sentences, and the primary verb/resource is front-loaded. Every word earns its place, though the conciseness comes at the expense of necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description should explain more about expected return values and parameter effects, but it does not. Although the default current-page behavior is mentioned, the tool is not complete enough for an agent to understand the full impact of the other parameters or interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only pageId has a description), but the tool description adds no additional meaning for depth, maxNodes, or maxChildren. It merely reinforces the pageId default, leaving the other three parameters without useful clarification.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read') and the resource ('top-level nodes on a Figma page'), making it specific and distinguishable from sibling tools like figma_get_node or figma_get_selection. The addition 'Defaults to the current page' further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as figma_get_selection or figma_get_node. The only contextual hint is that it defaults to the current page, but there is no explicit when-to-use or when-not-to-use advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_screenshotA

Export the current selection or a Figma node as a PNG image for visual comparison.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
nodeIdNoOptional Figma node ID. Defaults to the current selection.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral disclosure burden. It states the tool exports a PNG image, but doesn't mention behavior with no selection/nodeId, scale constraints, or potential errors. It adds minimal context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the primary action and object, with no redundant wording or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two optional parameters and no output schema. The description covers the main purpose and nodeId semantics. It could improve by mentioning what happens if neither selection nor nodeId is available, but overall it's adequate for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (nodeId is described, scale is not). The description clarifies that nodeId defaults to the current selection ('current selection or a Figma node'), adding meaning to that parameter. However, scale is not mentioned or explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Export') and clearly identifies the resource ('the current selection or a Figma node as a PNG image'). It distinguishes itself from sibling get-style tools by focusing on image export rather than data retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for visual comparison' implies a use case, but there is no explicit guidance on when to use this tool versus alternatives or when not to use it. Sibling tools are all read-only getters, making this the clear export option, but the description doesn't emphasize that distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_selectionB

Read the current Figma selection, including layout, text, fills, and a bounded child tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
maxNodesNo
maxChildrenNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does indicate 'Read', implying a non-mutating operation, and lists some output content, but it does not disclose important behavioral traits such as what happens with an empty selection, the meaning of 'bounded child tree', or performance implications. The description is too sparse for full behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that front-loads the core function ('Read the current Figma selection') and includes no redundant or unrelated information. It earns every word.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description needs to be more self-sufficient. It states the basic action and some output categories but does not explain the result format, how the parameters shape the output, or edge cases. For a simple tool this is still a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so parameters (depth, maxNodes, maxChildren) are only known by name and constraints. The description's phrase 'bounded child tree' hints that parameters control limits, but it does not explain each parameter's meaning or effect. The compensation is minimal and leaves the agent to guess from names and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Read' and names the resource 'current Figma selection', while listing key output categories (layout, text, fills, bounded child tree). This clearly distinguishes it from sibling tools like figma_get_node (specific node) and figma_get_screenshot (image).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: it reads the current selection. However, there is no explicit guidance on when to use this tool versus alternatives, no exclusions, and no mention of when not to use it. The usage is implied by the name and description, not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_statusA

Check whether the local Figma Desktop plugin is connected and report the active file/page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. The verbs 'check' and 'report' imply a read-only, non-mutating operation, but the description does not disclose potential failure modes (e.g., what happens if the plugin is not connected) or any side effects. It adds minimal context beyond what the verbs convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the tool's purpose without any extraneous words. It earns its place completely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple status check with no parameters and no output schema, the description covers the core purpose and main outputs. It omits details about the reporting format or connection semantics, but the tool's simplicity makes this acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the schema fully defines the input structure. The description adds no parameter details, but none are needed. The baseline for zero parameters is 4, and the description does not detract from this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs 'check' and 'report' with clear targets: the local Figma Desktop plugin connection and the active file/page. This clearly distinguishes it from sibling tools that fetch metadata, page structure, selection, nodes, design context, or screenshots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for status checks but provides no explicit guidance on when to use it over siblings or when not to use it. It does not mention alternatives or exclusions, leaving the agent to infer usage from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

A
license - permissive license
A
quality
B
maintenance

Maintenance

1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

View all related MCP servers

Latest Blog Posts

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/xiaobai59/figma-codex-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server