F-MCP ATezer: Figma MCP Bridge for Claude/Cursor. Plugin-only, zero-trust, zero-setup DS auto-onboard. 62 tools, 27 skills, 3 agents.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 64 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
figma_add_mode
-
figma_arrange_component_set
-
figma_batch_create_variables
-
figma_batch_update_variables
-
figma_bind_variable
-
figma_capture_screenshot
-
figma_check_design_parity
-
figma_clear_console
-
figma_clear_rest_token
-
figma_clone_screen_to_device
-
figma_create_frame
-
figma_create_group
-
figma_create_interaction
-
figma_create_mini_ds
-
figma_create_prototype_connection
-
figma_create_rectangle
-
figma_create_text
-
figma_create_variable
-
figma_create_variable_collection
-
figma_delete_variable
-
figma_delete_variable_collection
-
figma_enumerate_library_components
-
figma_enumerate_published_components
-
figma_execute
-
figma_export_nodes
-
figma_extract_contract
-
figma_get_code_connect
-
figma_get_component
-
figma_get_component_for_development
-
figma_get_component_image
-
figma_get_console_logs
-
figma_get_design_context
-
figma_get_design_system_summary
-
figma_get_file_data
-
figma_get_library_variables
-
figma_get_metadata
-
figma_get_prototype_connections
-
figma_get_rest_token_status
-
figma_get_status
-
figma_get_styles
-
figma_get_token_browser
-
figma_get_variables
-
figma_import_style
-
figma_instantiate_component
-
figma_list_connected_files
-
figma_plugin_diagnostics
-
figma_refresh_variables
-
figma_rename_mode
-
figma_rename_variable
-
figma_rest_api
-
figma_scan_ds_compliance
-
figma_search_assets
-
figma_search_components
-
figma_set_description
-
figma_set_flow_starting_point
-
figma_set_instance_properties
-
figma_set_port
-
figma_set_rest_token
-
figma_set_scroll_behavior
-
figma_setup_design_tokens
-
figma_update_variable
-
figma_use
-
figma_validate_screen
-
figma_watch_console
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 5ebefc2 · analyzer v33 · 3d ago
skills & prompt files 29
- agent-rules atezer-FMCP-5ebefc2/install/cursor/.cursor/rules/fmcp-orchestration.md
- skill atezer-FMCP-5ebefc2/skills/ai-handoff-export/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/apply-figma-design-system/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/audit-figma-design-system/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/code-design-mapper/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/component-documentation/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/design-drift-detector/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/design-system-rules/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/design-token-pipeline/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/ds-impact-analysis/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/extract-contract/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/figjam-diagram-builder/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/figma-a11y-audit/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/figma-canvas-ops/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/figma-prototype-flow/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/figma-screen-analyzer/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fix-figma-design-system-finding/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fmcp-ds-audit-orchestrator/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fmcp-intent-router/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fmcp-project-rules/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fmcp-screen-orchestrator/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fmcp-screen-recipes/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/fmcp-token-sync-orchestrator/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/generate-figma-library/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/generate-figma-screen/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/implement-design/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/inspiration-intake/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/ux-copy-guidance/SKILL.md
- skill atezer-FMCP-5ebefc2/skills/visual-qa-compare/SKILL.md
danger signals1
- dynamic code execution eval() atezer-FMCP-5ebefc2/f-mcp-plugin/code.js :657
codePromise = eval(wrappedCode);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 97
filesystem 9
- fs atezer-FMCP-5ebefc2/ai-ready/cli/audit.mjs :11
import { readFileSync, readdirSync, writeFileSync, existsSync } from "node:fs"; - fs atezer-FMCP-5ebefc2/dist/core/audit-log.js :6
import { createWriteStream } from "fs"; - fs atezer-FMCP-5ebefc2/dist/core/config.js :4
import { readFileSync, existsSync } from 'fs'; - fs atezer-FMCP-5ebefc2/dist/local-plugin-only.js :25
import { writeFileSync, mkdirSync } from "node:fs"; - fs (weak) atezer-FMCP-5ebefc2/scripts/generate-embedded-skills.mjs :12
import { readFileSync, writeFileSync, existsSync } from "node:fs"; - fs (weak) atezer-FMCP-5ebefc2/scripts/validate-fmcp-skills-tools.mjs :14
import { readFileSync, readdirSync, statSync } from "node:fs"; - fs atezer-FMCP-5ebefc2/src/core/audit-log.ts :7
import { createWriteStream, type WriteStream } from "fs"; - fs atezer-FMCP-5ebefc2/src/core/config.ts :5
import { readFileSync, existsSync } from 'fs'; - fs atezer-FMCP-5ebefc2/src/local-plugin-only.ts :27
import { writeFileSync, mkdirSync } from "node:fs";
shell / exec 2
- shell atezer-FMCP-5ebefc2/dist/core/plugin-bridge-server.js :20
import { execSync } from "child_process"; - shell atezer-FMCP-5ebefc2/src/core/plugin-bridge-server.ts :21
import { execSync } from "child_process";
network 6
- net atezer-FMCP-5ebefc2/ai-ready/cli/audit.mjs :58
const res = await fetch(`https://api.figma.com/v1${path}`, { - net atezer-FMCP-5ebefc2/dist/core/plugin-bridge-server.js :19
import { createServer, get as httpGet, request as httpRequest } from "http"; - net atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2008
const res = await fetch(`https://api.figma.com${path}`, { - net (weak) atezer-FMCP-5ebefc2/scripts/smoke-fmcp-cloud.mjs :9
const health = await fetch(`${base}/fmcp-cloud/health`); - net atezer-FMCP-5ebefc2/src/core/plugin-bridge-server.ts :20
import { createServer, get as httpGet, request as httpRequest } from "http"; - net atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2374
const res = await fetch(`https://api.figma.com${path}`, {
secrets 1
- secrets atezer-FMCP-5ebefc2/ai-ready/cli/audit.mjs :24
const TOKEN = process.env.FIGMA_TOKEN || process.env.FIGMA_REST_TOKEN;
tool registrations 136
- figma_list_connected_files atezer-FMCP-5ebefc2/dist/local-plugin-only.js :304
- figma_get_file_data atezer-FMCP-5ebefc2/dist/local-plugin-only.js :326
- figma_get_design_context atezer-FMCP-5ebefc2/dist/local-plugin-only.js :373
- figma_get_variables atezer-FMCP-5ebefc2/dist/local-plugin-only.js :428
- figma_get_component atezer-FMCP-5ebefc2/dist/local-plugin-only.js :471
- figma_get_styles atezer-FMCP-5ebefc2/dist/local-plugin-only.js :485
- figma_execute atezer-FMCP-5ebefc2/dist/local-plugin-only.js :499
- figma_clone_screen_to_device atezer-FMCP-5ebefc2/dist/local-plugin-only.js :696
- figma_validate_screen atezer-FMCP-5ebefc2/dist/local-plugin-only.js :744
- figma_scan_ds_compliance atezer-FMCP-5ebefc2/dist/local-plugin-only.js :770
- figma_create_mini_ds atezer-FMCP-5ebefc2/dist/local-plugin-only.js :797
- figma_capture_screenshot atezer-FMCP-5ebefc2/dist/local-plugin-only.js :826
- figma_set_instance_properties atezer-FMCP-5ebefc2/dist/local-plugin-only.js :887
- figma_update_variable atezer-FMCP-5ebefc2/dist/local-plugin-only.js :903
- figma_create_variable atezer-FMCP-5ebefc2/dist/local-plugin-only.js :917
- figma_create_variable_collection atezer-FMCP-5ebefc2/dist/local-plugin-only.js :932
- figma_delete_variable atezer-FMCP-5ebefc2/dist/local-plugin-only.js :942
- figma_delete_variable_collection atezer-FMCP-5ebefc2/dist/local-plugin-only.js :952
- figma_rename_variable atezer-FMCP-5ebefc2/dist/local-plugin-only.js :962
- figma_add_mode atezer-FMCP-5ebefc2/dist/local-plugin-only.js :972
- figma_rename_mode atezer-FMCP-5ebefc2/dist/local-plugin-only.js :982
- figma_get_design_system_summary atezer-FMCP-5ebefc2/dist/local-plugin-only.js :993
- figma_search_components atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1023
- figma_instantiate_component atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1055
- figma_refresh_variables atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1077
- figma_get_console_logs atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1087
- figma_watch_console atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1100
- figma_clear_console atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1140
- figma_set_description atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1150
- figma_get_component_image atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1164
- figma_get_component_for_development atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1180
- figma_extract_contract atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1203
- figma_batch_create_variables atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1269
- figma_batch_update_variables atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1288
- figma_setup_design_tokens atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1304
- figma_arrange_component_set atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1323
- figma_check_design_parity atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1334
- figma_get_token_browser atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1463
- figma_get_status atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1534
- figma_create_frame atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1601
- figma_create_text atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1721
- figma_create_rectangle atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1757
- figma_create_group atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1789
- figma_export_nodes atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1817
- figma_enumerate_library_components atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1879
- figma_enumerate_published_components atezer-FMCP-5ebefc2/dist/local-plugin-only.js :1976
- figma_search_assets atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2097
- figma_get_code_connect atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2128
- figma_use atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2148
- figma_get_library_variables atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2193
- figma_bind_variable atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2236
- figma_import_style atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2283
- figma_plugin_diagnostics atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2335
- figma_set_port atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2369
- figma_set_rest_token atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2429
- figma_clear_rest_token atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2482
- figma_rest_api atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2489
- figma_create_prototype_connection atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2639
- figma_get_prototype_connections atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2761
- figma_set_flow_starting_point atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2835
- figma_create_interaction atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2877
- figma_set_scroll_behavior atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2939
- figma_get_rest_token_status atezer-FMCP-5ebefc2/dist/local-plugin-only.js :2981
- figma_get_status atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :46
- figma_get_variables atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :53
- figma_get_file_data atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :59
- figma_get_styles atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :68
- figma_get_design_system_summary atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :74
- figma_search_components atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :85
- figma_get_design_context atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :101
- figma_execute atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :115
- figma_get_metadata atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :121
- figma_capture_screenshot atezer-FMCP-5ebefc2/python-bridge/fmcp_bridge/__main__.py :127
- figma_list_connected_files atezer-FMCP-5ebefc2/src/local-plugin-only.ts :339
- figma_get_file_data atezer-FMCP-5ebefc2/src/local-plugin-only.ts :366
- figma_get_design_context atezer-FMCP-5ebefc2/src/local-plugin-only.ts :419
- figma_get_variables atezer-FMCP-5ebefc2/src/local-plugin-only.ts :480
- figma_get_component atezer-FMCP-5ebefc2/src/local-plugin-only.ts :527
- figma_get_styles atezer-FMCP-5ebefc2/src/local-plugin-only.ts :546
- figma_execute atezer-FMCP-5ebefc2/src/local-plugin-only.ts :565
- figma_clone_screen_to_device atezer-FMCP-5ebefc2/src/local-plugin-only.ts :763
- figma_validate_screen atezer-FMCP-5ebefc2/src/local-plugin-only.ts :837
- figma_scan_ds_compliance atezer-FMCP-5ebefc2/src/local-plugin-only.ts :883
- figma_create_mini_ds atezer-FMCP-5ebefc2/src/local-plugin-only.ts :930
- figma_capture_screenshot atezer-FMCP-5ebefc2/src/local-plugin-only.ts :972
- figma_set_instance_properties atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1070
- figma_update_variable atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1091
- figma_create_variable atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1110
- figma_create_variable_collection atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1130
- figma_delete_variable atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1145
- figma_delete_variable_collection atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1156
- figma_rename_variable atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1167
- figma_add_mode atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1178
- figma_rename_mode atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1189
- figma_get_design_system_summary atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1205
- figma_search_components atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1240
- figma_instantiate_component atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1276
- figma_refresh_variables atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1304
- figma_get_console_logs atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1315
- figma_watch_console atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1333
- figma_clear_console atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1375
- figma_set_description atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1386
- figma_get_component_image atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1405
- figma_get_component_for_development atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1426
- figma_extract_contract atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1454
- figma_batch_create_variables atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1537
- figma_batch_update_variables atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1563
- figma_setup_design_tokens atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1586
- figma_arrange_component_set atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1612
- figma_check_design_parity atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1628
- figma_get_token_browser atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1770
- figma_get_status atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1850
- figma_create_frame atezer-FMCP-5ebefc2/src/local-plugin-only.ts :1927
- figma_create_text atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2052
- figma_create_rectangle atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2093
- figma_create_group atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2129
- figma_export_nodes atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2162
- figma_enumerate_library_components atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2236
- figma_enumerate_published_components atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2338
- figma_search_assets atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2464
- figma_get_code_connect atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2504
- figma_use atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2533
- figma_get_library_variables atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2594
- figma_bind_variable atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2646
- figma_import_style atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2702
- figma_plugin_diagnostics atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2763
- figma_set_port atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2804
- figma_set_rest_token atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2872
- figma_clear_rest_token atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2931
- figma_rest_api atezer-FMCP-5ebefc2/src/local-plugin-only.ts :2943
- figma_create_prototype_connection atezer-FMCP-5ebefc2/src/local-plugin-only.ts :3107
- figma_get_prototype_connections atezer-FMCP-5ebefc2/src/local-plugin-only.ts :3232
- figma_set_flow_starting_point atezer-FMCP-5ebefc2/src/local-plugin-only.ts :3311
- figma_create_interaction atezer-FMCP-5ebefc2/src/local-plugin-only.ts :3358
- figma_set_scroll_behavior atezer-FMCP-5ebefc2/src/local-plugin-only.ts :3425
- figma_get_rest_token_status atezer-FMCP-5ebefc2/src/local-plugin-only.ts :3472
install hooks 1
- prepublishOnly atezer-FMCP-5ebefc2/package.json :30
npm run generate:embedded-skills && npm run build && npm run validate:fmcp-skills
declared dependencies 13
- @modelcontextprotocol/sdk@^1.25.3
- pino@^9.5.0
- pino-pretty@^13.0.0
- ws@^8.19.0
- zod@^3.25.76
- @biomejs/biome@^2.2.5
- @types/jest@^29.5.14
- @types/node@^22.10.2
- @types/ws@^8.18.1
- jest@^29.7.0
- ts-jest@^29.2.5
- tsx@^4.19.2
- typescript@5.9.3
cursor-plugin 2
- opaque (low) atezer-FMCP-5ebefc2/install/cursor/.cursor/mcp.json
bundled .cursor/ plugin descriptor (atezer-FMCP-5ebefc2/install/cursor/.cursor/mcp.json) — presence-detected; review the descriptor - opaque (low) atezer-FMCP-5ebefc2/install/cursor/.cursor/rules/fmcp-orchestration.md
bundled .cursor/ plugin descriptor (atezer-FMCP-5ebefc2/install/cursor/.cursor/rules/fmcp-orchestration.md) — presence-detected; review the descriptor