figma-bridge-mcp
Server Quality Checklist
Latest release: v0.5.1
- Disambiguation5/5
Each tool targets a distinct aspect of Figma bridge interaction: connection setup, status, pairing, commands, rendering, selection, history, comments, inspection, reference, screenshots, and specs. There is no overlap; even the similar inspect and spec tools are clearly differentiated by purpose and output detail.
Naming Consistency4/5All tools share the 'figma_' prefix, providing clear grouping. The naming mixes verb forms (connect, run, render, inspect) with noun forms (status, pairing, selection, history, comments, reference, screenshot, spec). This is mostly consistent but the mixture introduces minor inconsistency; nonetheless, each name clearly indicates the tool's function.
Tool Count5/5With 12 tools, the set covers all essential operations for a Figma bridge MCP server without being overly large or sparse. Each tool serves a distinct purpose, and the count feels well-scoped for the domain of Figma plugin interaction, code generation, and design review.
Completeness5/5The tool set covers the full lifecycle of Figma bridge tasks: connection, state monitoring, selection reading, node inspection and specs, command execution, rendering, comment management, history tracking, screenshot comparison, and API reference. No obvious gaps are present for the intended workflows.
Average 3.8/5 across 12 of 12 tools scored. Lowest: 3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 87 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states a mutation action ('Render ... into ...'), which aligns with readOnlyHint=false. However, it does not address the openWorldHint=true annotation, meaning side effects (e.g., overwriting existing content, triggering events) are not disclosed. The description adds minimal behavioral context beyond what annotations already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but prioritizes brevity over completeness. It lacks structural elements like bullet points or sections that could improve readability and clarity for a tool with multiple parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 4 parameters, no output schema, and 11 siblings, the description is insufficient. It does not explain prerequisites, effects on the design, or how to handle errors (e.g., invalid JSX), leaving the agent underinformed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions for jsx, label, confirm, and fileKey. The description adds no additional meaning beyond the schema, achieving the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Render JSX into the open Figma design' uses a specific verb ('Render') and resource ('JSX into ... Figma design'), clearly distinguishing it from siblings like figma_run (execute scripts) or figma_reference (query references).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as figma_run or figma_connect. No preconditions (e.g., needing a valid connection or an open file) or exclusions (e.g., when JSX rendering is not appropriate) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the description's 'Read' aligns with safety. The description adds no additional behavioral context (e.g., what happens if no selection exists, whether the ID is returned in a specific format, or if fileKey is required). With annotations covering the safety profile, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one short sentence—and contains no wasted words. However, it lacks structure (e.g., no bullet points, no front-loading of key actions). It earns a 4 for being lean but not perfectly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one optional parameter, no output schema, and many siblings, the description is incomplete. It does not explain what the tool returns (e.g., a selection ID string, an object, or nothing), how to use the returned ID, error states (e.g., no selection), or the role of the fileKey parameter beyond the schema. The agent would need to guess the return format and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter fileKey, and the schema already describes it as 'Target connected file: bare key or Figma URL.' The description does not add any further meaning or usage details beyond what the schema provides, so the baseline of 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the current Figma selection and reuses its ID. The verb 'read' and resource 'current Figma selection' are specific. However, 'reuse its id' is vague and does not distinguish from siblings like figma_inspect or figma_reference, which might also deal with selection data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as figma_inspect, figma_reference, or figma_spec. It does not mention exclusions, prerequisites, or context (e.g., 'use this to get the selection ID for use in other figma_* tools').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint=true and destructiveHint=false. The description adds 'Copy; never invent' reinforcing factual fidelity, but does not elaborate on the openWorldHint (e.g., how much data to expect, pagination, or performance implications). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two short sentences and a tagline. It is front-loaded with the core purpose. The second sentence is slightly redundant but not harmful. Every word serves a purpose, though it could be more compact by merging the two steps into one clear statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema, the description fails to explain the return format, structure, or how to interpret results. The instruction 'Map structure, then pull style by node id' is unclear because the tool handles both phases via the phase parameter. An agent would struggle to understand what output to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is documented in the schema. The tool description does not add extra detail beyond the schema; it only hints at the phase parameter indirectly ('pull style by node id'). Baseline 3 is appropriate as no additional semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'Exact per-layer text, identity, layout, native CSS, paint, token and asset facts', clearly indicating the tool extracts detailed specification data from Figma layers. This distinguishes it from sibling tools like figma_render or figma_screenshot. However, the phrase 'Map structure, then pull style by node id' inaccurately implies a two-step process not required by the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use figma_spec vs. siblings like figma_inspect or figma_run. The only usage hint is 'Copy; never invent', which is a behavioral instruction rather than a selection criterion. An agent would need to infer purpose from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds context about the offline nature and specialized topics, which is useful but does not disclose further behavioral traits such as whether results are cached or how the output is structured. Given annotations cover the main safety aspects, the description provides moderate added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose. It quickly lists special topics. It could be slightly improved by avoiding the colon-heavy list format, but overall it is efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 1 optional parameter, no output schema, and annotations covering read-only safety, the description is fairly complete for a reference lookup tool. However, it does not mention what the output format is (e.g., text, structured data) or whether it returns full documentation or summaries, leaving some gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'name' already described as 'API name, capabilities or workflow topic; omit to list API names.' The description reiterates the topics but does not add semantic meaning beyond the schema, resulting in baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is an 'Offline Plugin API reference' and specifies the special topics it covers. This distinguishes it from sibling tools like figma_run (execution) or figma_render (rendering), but does not explicitly differentiate its purpose from those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a list of special topics but does not give explicit guidance on when to use this tool versus alternatives like figma_connect or figma_spec. It implies usage for API reference lookups but lacks when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show openWorldHint=true and destructiveHint=false, indicating the tool is not destructive but may have effects beyond its scope. The description adds useful context about the 'Safe Mode' constraint and that it returns an access key and instructions, which partially discloses behavior. However, it does not explain what 'Safe Mode' entails, network requirements, or if prior connections are invalidated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the critical constraint ('Safe Mode') and summarize the core output. Every sentence provides essential information without redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters, no output schema, and 11 sibling tools, the description is moderately complete. It explains the tool's primary output (key + instructions) and a behavioral guard ('never Yolo'). However, it lacks information on error cases, prerequisites (e.g., existing account), or how this differs from figma_pairing, leaving some gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% schema description coverage, so the schema fully documents the parameter space. The description adds semantic value by explaining the purpose of the tool (connect, generate key, provide instructions), which helps the agent understand what to expect despite no parameters needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool connects to Figma in 'Safe Mode (never Yolo)', generates a plugin access key if needed, and returns it with instructions. This clearly identifies the verb 'connect' and the resource 'Figma', and the scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use this tool ('to connect to Figma') but does not differentiate it from siblings like figma_pairing, nor does it specify when not to use it or mention alternatives. The 'Safe Mode' qualifier hints at a cautionary usage, but exclusionary guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe, non-mutating read operation. The description adds that output is YAML and covers geometry, paint, effects, component context, and text style. However, it does not mention pagination, rate limits, or what happens if the node has missing properties, which would be useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that clearly states the action, scope, and output format. Every word adds value, and there is no redundancy or filler. It is front-loaded with the key verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 params, 1 required, no output schema, no enums, annotations present, 11 siblings), the description covers the core purpose and output format. It could mention return value structure since there is no output schema, but the YAML name implies self-describing output. It is mostly complete for the agent to select this tool over siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – the schema already documents nodeId and fileKey with clear descriptions including allowed formats (bare key, Figma URL). The description does not add new parameter meaning; it repeats the YAML output format but not, e.g., that nodeId must be URL-encoded or that fileKey default behavior (current file?) if omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Inspect') and clearly identifies the resource ('one node's geometry, paint, effects, component context and text style') with the output format ('as YAML'). This distinguishes it well from siblings like figma_render, figma_screenshot, and figma_spec, which also operate on nodes but with different outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs. alternatives like figma_spec (which might provide design specifications) or figma_selection (which selects nodes). The description implies singular node inspection but lacks context on prerequisites (e.g., node must exist, file must be connected) or exclusion cases (e.g., large nodes).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description adds value by disclosing that the tool 'performs a real plugin round-trip by default' and that REST validation is an opt-in feature. This provides behavioral detail beyond the annotations, though it does not fully describe all side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the core purpose and then add a key behavioral note. There is no wasted text, and every sentence contributes meaning. This is a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 optional parameters, no output schema, and strong annotations, the description adequately covers the tool's role and a key behavioral trait. However, it does not describe what the output looks like or how the state information is presented, which could leave the agent uncertain about the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add significant new meaning beyond the schema's parameter descriptions. It mentions 'REST validation is opt-in' which loosely aligns with the validateRest parameter, but the schema already explains each parameter clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Show bridge/plugin/file/key state.' This is a specific verb-resource pair that distinguishes it from sibling tools like figma_connect, figma_run, etc. However, it does not elaborate on what aspects of 'state' are shown, leaving some ambiguity about the exact output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context by noting that it 'performs a real plugin round-trip by default' and that REST validation is opt-in. This suggests when to use it (e.g., for connectivity checks) but does not explicitly state when to use alternatives or exclude scenarios. No comparison to sibling tools is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond annotations: the mandatory two-step posting process (preview then confirm:true) and the fact that comments are visible to others. It also explains that without a REST token, the tool only explains setup. Annotations already convey read-write and non-destructive nature, so the description adds valuable nuance about confirmation and visibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but logically structured: overall purpose, then list action details, then post action details, then a prerequisite note. It is relatively concise with no extraneous content, though it could be slightly more terse or bulleted for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers list return values and the post preview requirement, but does not explicitly describe what a successful post returns (e.g., the created comment object) or handle edge cases like missing fileKey. Given no output schema, more detail on post response would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds meaning by clarifying that list returns specific fields (ids, authors, node anchors, resolved state), that post requires message with optional nodeId or replyTo, and that fileKey defaults to the file open in Figma Desktop. This context goes beyond the parameter descriptions in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads or posts Figma comments, specifying the two actions (list and post) and their contexts (design review feedback). It distinguishes itself from sibling tools by focusing solely on comments, with no overlap in names like figma_connect or figma_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for design review feedback ('design review feedback lives here'), but does not explicitly state when to use this tool versus alternatives among siblings. It includes a conditional guideline about requiring a configured REST token, but lacks direct comparisons or exclusion scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true (so agent knows it can modify state) and openWorldHint=true (so agent knows tool can produce novel outputs). The description adds critical behavioral details: it requires 'Capability Catalog approval' (security/governance step), warns that write commands need 'confirm' when write-confirm mode is on (matching input schema confirm param), and discloses the default node tree depth of 3 with a workaround. This goes well beyond what annotations provide, though it could note whether destructive operations are reversible or what gets destroyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each densely packed with actionable information: the purpose/approval requirement, discovery mechanism for subcommands, and the depth default behavior. Every sentence earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (100% schema coverage), no output schema, and is a complex execution tool with both read and write capability (destructiveHint=true, readOnlyHint=false), the description covers all critical aspects: command discovery, syntax help, depth defaults, and write-command confirmation. A complete and self-contained description that effectively makes the tool usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 4 parameters have descriptions), so baseline is 3. The description adds value by explaining the args parameter's usage pattern with an example (['canvas','info']), and by linking the confirm parameter to the write-confirm mode context from the description. However, the description could more explicitly map the fileKey parameter's behavior (bare key vs Figma URL) beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a Capability Catalog-approved engine command, distinguishing it from query/read-only tools. It explicitly references 'Capability Catalog approval' and 'engine command' as the verb+resource pair, and the note about depth default differentiates this execution tool from inspection tools like figma_inspect or figma_reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use: it tells the agent to first discover commands with figma_reference {name:'capabilities'}, advises appending --help for syntax, and gives a concrete example of adjusting depth (-d <n>) when deeper trees are needed. This forms a complete usage flow for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the description's job is lighter. It adds that this step is mandatory and involves 'save/read', which implies a non-destructive operation, consistent with annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that conveys the essential purpose and usage context without superfluous words. Front-loaded with the most critical instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with rich schema coverage and no output schema, the description adequately completes the context by specifying it as the mandatory first step. The connection to comparing builds is clear, though details about the comparison process might be left to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already thoroughly documents each parameter. The description does not add per-parameter details beyond what the schema provides, which is acceptable; baseline 3 is appropriate plus some credit for the overall context linking parameters to the comparison workflow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('save/read', 'compare') and clearly identifies the resource (node PNG). It distinguishes this tool from siblings by asserting it as the 'MANDATORY first step' for comparing a build.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states it is the mandatory first step, implying when to use it (before comparing). It does not explicitly list alternatives or when not to use it, but the context from sibling tools and the instruction to 'compare the finished build' provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is clear. The description adds valuable insight about text-based node-id matching causing potential false positives and notes the optional REST dependency for includeVersions. This goes beyond the annotations to explain real-world quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three clear sentences: first explaining the tool's purpose, second describing filtering and merge capability, and third noting a behavioral quirk. Every sentence adds distinct value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (8 parameters, no required ones, nested schema, no output schema), the description is well-rounded. It explains the source (local audit log), filtering, optional git merge, and caveats. The diff parameter's behavior is sufficiently described in the schema and description together. No output schema exists, but the description implies the output format can be controlled via the format parameter, which is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters well. The description adds value by clarifying the diff sub-object's references (e.g., 'live', 'latest', 'previous', index, Figma version id) and the behavior of nodeId filtering. It does not repeat schema details, but enriches them with usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves local change history of Figma sessions from an audit log, specifying filtering by nodeId and optional merging with git history. It distinguishes itself from siblings by its focus on local history rather than rendering, running, or inspection tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (e.g., to see everything touching a node, or for a combined design+code changelog) and includes a notable caveat about text-based node-id matching. However, it does not explicitly say when not to use this tool vs. alternatives like figma_reference or figma_inspect for different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true, so the tool's mutation risk is known. The description adds behavioral context beyond annotations: it warns that rotate:true invalidates the old key and requires a reconnect. This is valuable extra transparency even though annotations cover the destructive hint. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear, front-loaded sentences with zero wasted words. The core action and the optional parameter behavior are stated succinctly. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 optional parameter, no output schema, no nested objects), the description fully covers what the agent needs: show the key and optionally rotate it with the post-action requirement. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the one boolean parameter is well described in the schema. The description also adds value by explaining that rotate:true will invalidate the old key and requires a subsequent figma_connect call, which is not in the schema. This extra guidance justifies a score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: showing the Figma plugin access key to paste into the Figma Bridge plugin. It also explicitly calls out the rotate parameter behavior. Among siblings like figma_connect, figma_run, and figma_status, this is the only tool for managing the pairing access key, so it is well differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to show the key) and when to use rotate:true (to generate a fresh key requiring reconnect). It instructs to run figma_connect after rotation. However, it does not explicitly say when NOT to use this tool or name alternative sibling tools for other pairing-related tasks, losing a point for not fully covering usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/KaiUweHella/figma-bridge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server