Atlas / MCP servers / tercumantanumut / Sunnyside Figma Context

Sunnyside Figma ContextCAUTION

mcp/tercumantanumut/sunnyside-figma-context

A comprehensive Model Context Protocol (MCP) server that bridges Figma designs with AI development workflows. It provides 30 specialized tools for extracting pixel-perfect code, assets, and component structures directly from Figma designs.

Verdict
CAUTION
Grade
B
Trust score
88 /100
Exposed tools
31 30r · 1w · 0d
Transport
sse · stdio · streamable-http
License
NOASSERTION
Stars
40
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://mseep.ai/app/tercumantanumut-sunnysidefigma-context-mcp)

A Model Context Protocol (MCP) server that turns Figma designs into production code. It ships with a companion Figma plugin so LLM clients can read the layer you're actually looking at, extract pixel-perfect CSS and design tokens, and generate React / Tailwind / styled-components output — all from a natural-language prompt.

Two data paths are supported:

  • Plugin bridge — highest fidelity. Uses Figma's native getCSSAsync() from inside the editor. Works on any plan, even Drafts.
  • Figma REST API — works headless from a fileKey / nodeId for designs that live in a team/project you can reach with a Personal Access Token.

Quick Start

Requirements: Node 18+, a Figma Personal Access Token (create one here).

git clone https://github.com/tercumantanumut/sunnysideFigma-Context-MCP
cd sunnysideFigma-Context-MCP
npm install
npm run build

Create a .env:

FIGMA_API_KEY=figd_your_token_here
PORT=3333
OUTPUT_FORMAT=json

Run the HTTP/SSE server:

npm start
# → http://localhost:3333
#   SSE:              /sse
#   Streamable HTTP:  /mcp

Install the Figma plugin (one time):

  1. Open Figma Desktop → Plugins → Development → Import plugin from manifest...
  2. Pick figma-dev-plugin/manifest.json from this repo.
  3. Run the plugin on any file. Select a frame → click Extract Dev Code.

You'll see "Data sent to MCP server successfully" when the bridge is live.

Connect an MCP Client

Pick one transport. Both expose the same 27 tools against the same running server.

stdio (client spawns the process)

Use this if you want the client to own the lifecycle and don't need the Figma plugin bridge to share state with the MCP process.

{
"mcpSer
Read from source at commit 721ba178ae0fOBSERVED · 2026-10-08
02

Connect

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-code
claude mcp add figma-developer-mcp --env FIGMA_API_KEY=${FIGMA_API_KEY} --env FIGMA_FILE_KEY=${FIGMA_FILE_KEY} --env FIGMA_OAUTH_TOKEN=${FIGMA_OAUTH_TOKEN} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "figma-developer-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "FIGMA_API_KEY": "${FIGMA_API_KEY}",
        "FIGMA_FILE_KEY": "${FIGMA_FILE_KEY}",
        "FIGMA_OAUTH_TOKEN": "${FIGMA_OAUTH_TOKEN}"
      }
    }
  }
}
03

Exposed tools (31)

30 read · 1 write · 0 destructive.

ToolRiskDescription
analyze_app_structurereadPerform comprehensive analysis of entire app structure, extracting detailed information from all pages and key frames without manual selection
analyze_figma_componentsreadAnalyze component library usage and organization in a Figma file
analyze_token_change_impactreadAI-powered analysis of what happens when a design token changes. Identifies affected components, edge cases, and generates migration code.
apply_token_changewriteApply a previously simulated token change to the actual files. Cannot be undone without rollback.
batch_extract_framesreadExtract detailed CSS, layout, and component information from multiple frames at once
build_dependency_graphreadScan codebase and build dependency graph mapping design token usage across files. This is the foundation for impact analysis.
check_figma_dev_connectionreadCheck if Figma
debug_token_registryreadDebug tool to check what tokens are currently stored in the design token registry
download_figma_imagesreadDownload SVG and PNG images from Figma. Use get_JSON first to get the file key from plugin data.
extract_design_tokensreadExtract and catalog design tokens from current Figma selection. Maps colors, spacing, typography to create the foundation for dependency tracking.
generate_codegen_pluginreadGenerate a proper Figma Dev Mode codegen plugin following official standards
generate_migration_codereadGenerate comprehensive migration code for design token changes, including CSS updates, component modifications, and test cases.
get_All_Layers_CSSreadGet comprehensive CSS for all layers from the latest Figma extraction (like Figma
get_Basic_CSSreadGet basic CSS for the main selected element from the latest Figma extraction
get_JSONreadGet the raw JSON data from the latest Figma extraction with complete layout and styling information
get_figma_assetsreadGet image and SVG assets from Figma
get_figma_datareadWhen the nodeId cannot be obtained, obtain the layout information about the entire Figma file
get_figma_dev_historyreadGet the history of dev code extractions from the Figma plugin
get_figma_dev_mode_codereadGet React + Tailwind code from Figma
get_figma_page_structurereadGet detailed structure of specific pages in a Figma file with frame hierarchy
get_figma_project_overviewreadGet comprehensive overview of entire Figma file including structure, components, design system, and statistics. Perfect for understanding the complete project context.
get_figma_variable_definitionsreadGet design variables and tokens from Figma
get_plugin_project_overviewreadGet the project overview data directly from the Figma plugin scan. This provides the exact statistics shown in the plugin UI including all pages, frames, and instances.
get_react_componentreadGenerate clean React component with TypeScript - works with plugin data or Figma API
get_styled_componentreadGenerate styled-components React component - clean, modern styling
get_tailwind_componentreadGenerate React component with Tailwind classes - smart design token conversion
list_token_simulationsreadList all active token change simulations and their status.
map_app_flowreadAnalyze app navigation flow and screen relationships based on naming patterns and structure
rollback_token_changereadRollback a previously applied token change to restore original values.
simulate_token_changereadSimulate a design token change without actually applying it. Perfect for design reviews and impact planning.
track_design_system_healthreadMonitor design system health over time. Identifies token drift, unused tokens, inconsistent usage patterns.
04

Trust audit

CAUTIONgrade B · trust 88/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (11 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (10)

MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/tools/design-system-tracker.ts:1358
console.log(`⚠️ Skipping token ${token.id} - empty value`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/tools/design-system-tracker.ts:1365
console.log(`🎯 Searching for token ${token.id} (${tokenValue}) with ${valuesToMatch.length} variations`);
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/figma-dev-bridge.ts:26
process.env.FIGMA_DEV_MCP_URL || 'http://127.0.0.1:3845/mcp',
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/plugin-integration.ts:81
'http://127.0.0.1:3333'
LOWCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
src/tests/integration.test.ts:74
const parsed = yaml.load(first.text);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/tools/shared/figma-types.ts:9
import type { SimplifiedNode } from "../../services/simplify-node-response.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/tools/shared/figma-types.ts:13
} from "../../utils/sanitization.js";
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@figma/rest-api-spec, @modelcontextprotocol/sdk, @types/cors, @types/yargs, cors, cross-env, dotenv, express
Why it matters. 30 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.conditional_escalation · CWE-94, CWE-1427
FIGMA_MCP_QUICK_PROMPT.md:7
When user mentions Figma design/file, IMMEDIATELY run this sequence:
LOWPrompt injection · prompt.credential_read · CWE-94, CWE-1427
docs/troubleshooting.md:142
cat .env
Why it matters. asks the agent to read credentials

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 721ba178ae0ffull audit observations/trust-audit/mcp-server/tercumantanumut__sunnyside-figma-context.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08721ba178ae0fCAUTIONB88first audit
06

Questions

What is the Sunnyside Figma Context MCP server?

A comprehensive Model Context Protocol (MCP) server that bridges Figma designs with AI development workflows. It provides 30 specialized tools for extracting pixel-perfect code, assets, and component structures directly from Figma designs.

What tools does Sunnyside Figma Context expose?

31 in total: 30 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Sunnyside Figma Context safe to connect to an agent?

With care. The audit graded it B (88/100) and found 10 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does Sunnyside Figma Context need?

It reads FIGMA_API_KEY, FIGMA_FILE_KEY and FIGMA_OAUTH_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 does Sunnyside Figma Context run?

It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as figma-developer-mcp at 0.4.2.

How current is this page?

The grade is for one exact copy of the source (721ba178ae0f), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement