FigmaCAUTION
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://badge.fury.io/py/figma-mcp)
Allow your AI coding agents to access Figma files & prototypes directly. You can DM me for any issues / improvements: https://x.com/jasonzhou1993
Quick Installation with pipx
pipx install figma-mcp
For Cursor:
- In settings, add an MCP server using the command:
figma-mcp --figma-api-key=your_figma_key
- OR Add a
.cursor/mcp.jsonfile in your project:
{
"mcpServers": {
"figma-python": {
"command": "figma-mcp",
"args": [
"--figma-api-key=your_figma_key"
]
}
}
}For other IDEs like Windsurf, use an MCP configuration file (e.g., mcp_config.json):
{
"mcpServers": {
"figma-python": {
"command": "figma-mcp",
"args": [
"--figma-api-key=your_figma_key"
]
}
}
}Install uv and set up the environment
curl -LsSf https://astral.sh/uv/install.sh | sh uv venv source .venv/bin/activate uv sync
Test locally
python -m figma_mcp.main
d30f4fe14d95OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add figma-mcp --env FIGMA_API_TOKEN=${FIGMA_API_TOKEN} -- uvx figma-mcp{
"mcpServers": {
"figma-mcp": {
"command": "uvx",
"args": [
"figma-mcp"
],
"env": {
"FIGMA_API_TOKEN": "${FIGMA_API_TOKEN}"
}
}
}
}Exposed tools (3)
3 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
get_components | read | Get components available in a Figma file |
get_node | read | Get a specific node from a Figma file |
get_workflow | read | Get workflows available in a Figma file |
Trust audit
CAUTIONgrade B · trust 83/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (7)
__init__.cpython-312.pyc
__init__.cpython-313.pyc
clean_node.cpython-312.pyc
clean_node.cpython-313.pyc
main.cpython-313.pyc
return hashlib.md5(style_str.encode()).hexdigest()
curl -LsSf https://astral.sh/uv/install.sh | sh
Gates applied: no_behavioural_pass.
d30f4fe14d95full audit observations/trust-audit/mcp-server/jayzeedesign__figma-4.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | d30f4fe14d95 | CAUTION | B | 83 | first audit |
Questions
What tools does Figma expose?
3 in total: 3 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Figma safe to connect to an agent?
With care. The audit graded it B (83/100) and found 7 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does Figma need?
It reads FIGMA_API_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (d30f4fe14d95), read on 2026-10-07. The repository is watched and re-audited when it changes.