seed-verify-figma-mcp-transports

Compares Figma MCP tool outputs across REST and WebSocket transports to detect drift.

1.1k|89|Updated Mar 11, 2021
One-click install
npx skills add https://github.com/daangn/seed-design --skill seed-verify-figma-mcp-transports
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: seed-verify-figma-mcp-transports
Source: https://github.com/daangn/seed-design/tree/main/skills/seed-verify-figma-mcp-transports
Command: npx skills add https://github.com/daangn/seed-design --skill seed-verify-figma-mcp-transports

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

A Figma MCP tool answers the same question over two paths — REST (personal access token) and WebSocket (the Figma plugin) — and fixing one without the other still typechecks, so divergence between the two paths goes silently unnoticed. This Skill runs the same tool over both transports and mechanically diffs the answers so drift is caught before it ships.

Core Features & Use Cases

  • Dual-transport probing: Runs a registered Figma MCP tool over REST and WebSocket via probe-transports.ts and diffs the results field by field.
  • Divergence classification: Sorts every differing field into four classes (must-match, transport-only, different vocabulary, different rendering) so real bugs are separated from expected transport differences.
  • Structured human handoff: Coordinates the one step only a person can do — reloading the Figma plugin and connecting it to the local relay on port 3055 — with a hard stop and explicit checklist.
  • Use Case: After editing packages/mcp/src/tools.ts or a plugin command in tools/figma-mcp/src/main/commands/, run this Skill to confirm the REST and plugin paths still return identical answers for the same Figma nodes.

Quick Start

Verify both transports for the Figma MCP tool I just changed by comparing its REST and WebSocket output on a test layer.

Frequently Asked Questions about seed-verify-figma-mcp-transports

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify Figma MCP tool parity between REST and WebSocket?

Run the probe script with --transport both, a file key, and a node id; it executes the same tool handler over REST and the plugin WebSocket relay and diffs the compared fields. Exit code 0 means the transports agree on every compared field.

When should I run the Figma MCP transport verification?

Run it after editing packages/mcp/src/tools.ts, src/tools-helpers.ts, or any command under tools/figma-mcp/src/main/commands/. Fixing one transport path without the other still typechecks, so drift between them is silent without an explicit comparison.

Why does the WebSocket probe time out during Figma MCP verification?

A timeout usually means the Figma plugin is not connected to the relay. Check the relay log for a 'New client connected' line, confirm the plugin was quit and rerun after rebuilding dist, and verify it connected to port 3055 on channel local-default.

What does it mean when REST and WebSocket return different field values?

Classify the difference before calling it a bug: it may be transport-only, a vocabulary difference like PAGE versus CANVAS, or a rendering difference from Figma's own machinery. Only must-match fields indicate a real bug; report the other classes rather than ignoring them.

Can the Figma MCP transport check run fully automated without a person?

No. The REST phase runs unattended, but the WebSocket phase requires a person to quit and rerun the Figma desktop plugin and connect it to the relay. The workflow hard-stops at that handoff and must not proceed without confirmation.