Skip to main content
Glama
atezer

F-MCP (Figma MCP Bridge)

by atezer

figma_get_library_variables

Read-only

Retrieve variables from Figma team library collections by name, collection, or library, returning import keys for binding variables in your design file.

Instructions

List variables from team library collections with import keys. Uses figma.teamLibrary API — works in the TARGET file, no need to connect the DS source file. Returns variable name, key (for importVariableByKeyAsync), resolvedType, collection, and library name. Use the returned keys with figma_bind_variable or figma.variables.importVariableByKeyAsync() in figma_execute. PRE-FLIGHT (v1.9.8+ MUTLAK): BEFORE calling, read ~/.claude/data/fcm-ds//tokens.md cache first. If cache exists and <7 days old (per _meta.md), use cache directly — only call this tool on cache miss or stale.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 100)
queryNoFilter variables by name (case-insensitive contains)
fileKeyNoTarget a specific connected file.
figmaUrlNoFigma file URL for routing.
libraryNameNoFilter by library name (exact match, e.g. '❖ My-DS')
collectionNameNoFilter by collection name (exact match)
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses the API used (figma.teamLibrary), the scope (target file, no need to connect DS source), and the return fields (variable name, key, resolvedType, collection, library name). It also documents the pre-flight caching behavior, providing rich behavioral context.

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

Conciseness4/5

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

The description is fairly concise but packed with useful information, front-loaded with purpose, followed by usage guidance and caching instructions. Every sentence adds value, though it could be slightly more terse without losing meaning.

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

Completeness5/5

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

Given no output schema, the description compensates by listing the return fields and explaining the caching flow. It provides complete guidance for a read-only list tool, covering what the tool returns and when to use it.

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 100%, so all parameters are already described in the schema. The description does not add new semantic information about parameters beyond what the schema provides, so baseline score of 3 is appropriate.

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 lists variables from team library collections with import keys, using a specific API, and distinguishes it from sibling tools like figma_get_variables by emphasizing it works in the target file without needing the DS source file.

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

Usage Guidelines5/5

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

Provides explicit guidance on when to use this tool (cache miss or stale) and when to use a cache instead, along with instructions on using the returned keys with other tools (figma_bind_variable, figma.variables.importVariableByKeyAsync). This clearly differentiates from alternatives.

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

Install Server

Other Tools

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/atezer/FMCP'

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