figma-console-mcp 1.29.1 → 1.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Your design system as an API.** Model Context Protocol server that bridges design and development—giving AI assistants complete access to Figma for **extraction**, **creation**, **debugging**, and **bidirectional token sync**.
10
10
 
11
- > **🆕 Shared Library Inspection (v1.29.0, patched v1.29.1):** Three new tools fill the gap between "I see a component key in search results" and "I can actually use it." `figma_get_library_component_by_key` resolves any component key to full property definitions + variant keys + visual specs — without needing the source library file's URL. `figma_get_library_variables` lists every variable from your subscribed libraries (no Enterprise plan required — uses the Plugin API path that works on Pro and Org). `figma_import_library_variable` brings a library token into the current file so it can be bound to nodes alongside the file's own variables. Works on every Figma plan. 106 tools total. **Patched v1.29.1:** `figma_get_design_system_kit` now reads variables on any plan via the bridge too — no more 403 for non-Enterprise users. [See what's new →](CHANGELOG.md#1291---2026-05-30)
11
+ > **🆕 Shared Library Inspection (v1.29.0, patched v1.29.1–v1.29.2):** Three new tools fill the gap between "I see a component key in search results" and "I can actually use it." `figma_get_library_component_by_key` resolves any component key to full property definitions + variant keys + visual specs — without needing the source library file's URL. `figma_get_library_variables` lists every variable from your subscribed libraries (no Enterprise plan required — uses the Plugin API path that works on Pro and Org). `figma_import_library_variable` brings a library token into the current file so it can be bound to nodes alongside the file's own variables. Works on every Figma plan. 106 tools total. **Patched v1.29.1:** `figma_get_design_system_kit` now reads variables on any plan via the bridge too — no more 403 for non-Enterprise users. **Patched v1.29.2:** `figma_generate_component_doc` renders component descriptions faithfully and auto-detects each component's atomic-design level. [See what's new →](CHANGELOG.md#1292---2026-06-02)
12
12
 
13
13
  ## What is this?
14
14
 
@@ -808,9 +808,10 @@ The architecture supports adding new apps with minimal boilerplate — each app
808
808
 
809
809
  ## 🛤️ Roadmap
810
810
 
811
- **Current Status:** v1.29.1 (Stable) - Production-ready with shared-library inspection (key-based component resolution + library variable read/import without Enterprise plan), 10-format token export pipeline (DTCG, CSS, Tailwind v4, Tailwind v3, SCSS, TS module, JSON flat/nested, Style Dictionary v3, Tokens Studio), bidirectional Figma↔code token sync, version history & time-series awareness, FigJam + Slides support, Cloud Write Relay, Design System Kit, WebSocket-only connectivity, smart multi-file tracking, **106 tools** (Local) / **95 tools** (Cloud) / **9 tools** (Remote read-only), Comments API, cross-MCP identity disambiguation, and MCP Apps.
811
+ **Current Status:** v1.29.2 (Stable) - Production-ready with shared-library inspection (key-based component resolution + library variable read/import without Enterprise plan), 10-format token export pipeline (DTCG, CSS, Tailwind v4, Tailwind v3, SCSS, TS module, JSON flat/nested, Style Dictionary v3, Tokens Studio), bidirectional Figma↔code token sync, version history & time-series awareness, FigJam + Slides support, Cloud Write Relay, Design System Kit, WebSocket-only connectivity, smart multi-file tracking, **106 tools** (Local) / **95 tools** (Cloud) / **9 tools** (Remote read-only), Comments API, cross-MCP identity disambiguation, and MCP Apps.
812
812
 
813
813
  **Recent Releases:**
814
+ - [x] **v1.29.2** - Bug fix: `figma_generate_component_doc` now renders Figma component descriptions faithfully and reliably tags atomic-design level. Single-`#` headings in descriptions render as real sections (Usage Guidelines, Implementation Considerations, Accessibility Requirements, Content Configuration) instead of leaking as `- # Heading` list items; frontmatter `description` takes the first sentence instead of truncating on the word "Accessibility"; the generated Figma URL no longer doubles `?node-id=`; and the component's atomic level (atom/molecule/organism/template) is auto-detected via a single `ids=<node>` file request + divider walk-back, with no dependency on library publishing. No new tools; plugin re-import not required.
814
815
  - [x] **v1.29.1** - Bug fix: `figma_get_design_system_kit` now resolves variables bridge-first (Desktop Bridge / cloud relay → REST fallback) instead of calling the Enterprise-only Variables REST API directly. Non-Enterprise users no longer hit a 403 on the kit's token section when a bridge is connected, and a REST 403 now points the caller back to the bridge instead of dead-ending. 7 new tests, 1185 total passing. No new tools; plugin re-import not required.
815
816
  - [x] **v1.29.0** - Shared library inspection: three new tools close the gap between "I have a component key" and "I can actually use it." `figma_get_library_component_by_key` resolves any 40-char component key to full `componentPropertyDefinitions` + variants (with their published keys) + per-variant visual specs — without needing the source library file's URL. `figma_get_library_variables` lists library tokens via Plugin API (works on every Figma plan; the REST equivalent is Enterprise-only). `figma_import_library_variable` imports a library token to the current file so it can be bound to nodes. 27 new tests, 1178 total passing. Plugin re-import optional.
816
817
  - [x] **v1.28.1** - Bug fix patch surfacing from live-fire testing of the v1.28.0 formatters against multi-tier semantic-token design systems. Fixes: Tailwind v3 emitted empty `module.exports` for alias-only sets (now resolves alias chains to literal values); TypeScript module + JSON flat + JSON nested formatters emitted `"{alias.path}"` strings as literal values (now resolves); Tailwind v4 namespace-prefix doubling (`--color-theme-color-X` is now `--color-theme-X`). Adds `resolveAliasChain` public helper. 1151 tests still passing.
@@ -174,7 +174,7 @@ export function parseComponentDescription(description) {
174
174
  for (const line of lines) {
175
175
  const trimmed = line.trim();
176
176
  // Detect section headers: bold text (**Header**), markdown headers (## Header), or plain text exact matches
177
- const markdownHeaderMatch = trimmed.match(/^(?:\*\*|###?\s*)(.+?)(?:\*\*)?$/);
177
+ const markdownHeaderMatch = trimmed.match(/^(?:\*\*|#{1,6}\s*)(.+?)(?:\*\*)?$/);
178
178
  const headerText = markdownHeaderMatch ? markdownHeaderMatch[1].trim().replace(/\*\*/g, "") : null;
179
179
  // Check if this is a Figma per-property documentation block (e.g., "Show Left Icon: True – Purpose")
180
180
  // These should be routed to "other" to avoid polluting content guidelines and accessibility sections
@@ -1380,7 +1380,47 @@ function buildParityInstruction(componentName, parityScore, counts, canonicalSou
1380
1380
  // ============================================================================
1381
1381
  // Documentation Section Generators
1382
1382
  // ============================================================================
1383
- function generateFrontmatter(componentName, description, node, componentMeta, fileUrl, codeInfo, canonicalSource) {
1383
+ /**
1384
+ * Detect the atomic-design level (atom | molecule | organism | template) of a component
1385
+ * by finding its Figma page and walking the ordered page list back to the nearest
1386
+ * section-divider page (e.g. "ATOMS", "MOLECULES", "ORGANISMS"). Returns null when the
1387
+ * file doesn't use atomic-design page sections or the page can't be resolved — callers
1388
+ * then simply omit the `level` frontmatter. Best-effort and never throws.
1389
+ */
1390
+ async function detectAtomicLevel(api, fileKey, nodeId, setNodeId, _componentMeta, _allComponentsMeta) {
1391
+ try {
1392
+ const targetId = setNodeId || nodeId;
1393
+ // Resolve the page the component lives on — independent of library-publish
1394
+ // status (published `containing_frame` metadata is empty for many files).
1395
+ // Requesting the file with `ids` returns every page in document order, but
1396
+ // prunes each page's children to only the path reaching the requested node,
1397
+ // so the single page whose subtree still contains the node is its home page.
1398
+ const pages = (await api.getFile(fileKey, { ids: [targetId] }))?.document?.children || [];
1399
+ const contains = (n) => n?.id === targetId || (Array.isArray(n?.children) && n.children.some(contains));
1400
+ const idx = pages.findIndex((p) => contains(p));
1401
+ if (idx < 0)
1402
+ return null;
1403
+ // Walk back to the nearest atomic-design divider page.
1404
+ const LEVELS = [
1405
+ ["ATOM", "atom"],
1406
+ ["MOLECULE", "molecule"],
1407
+ ["ORGANISM", "organism"],
1408
+ ["TEMPLATE", "template"],
1409
+ ];
1410
+ for (let i = idx; i >= 0; i--) {
1411
+ const stripped = (pages[i]?.name || "").toUpperCase().replace(/[^A-Z]/g, "");
1412
+ for (const [marker, level] of LEVELS) {
1413
+ if (stripped.startsWith(marker))
1414
+ return level;
1415
+ }
1416
+ }
1417
+ return null;
1418
+ }
1419
+ catch {
1420
+ return null;
1421
+ }
1422
+ }
1423
+ function generateFrontmatter(componentName, description, node, componentMeta, fileUrl, codeInfo, canonicalSource, level) {
1384
1424
  const status = codeInfo?.changelog?.[0]
1385
1425
  ? "stable"
1386
1426
  : componentMeta?.description?.toLowerCase().includes("deprecated")
@@ -1388,6 +1428,8 @@ function generateFrontmatter(componentName, description, node, componentMeta, fi
1388
1428
  : "stable";
1389
1429
  const version = codeInfo?.changelog?.[0]?.version || "1.0.0";
1390
1430
  const tags = [componentName.toLowerCase()];
1431
+ if (level)
1432
+ tags.push(level);
1391
1433
  if (node.type === "COMPONENT_SET")
1392
1434
  tags.push("variants");
1393
1435
  if (node.componentPropertyDefinitions)
@@ -1395,10 +1437,11 @@ function generateFrontmatter(componentName, description, node, componentMeta, fi
1395
1437
  const lines = [
1396
1438
  "---",
1397
1439
  `title: ${componentName}`,
1398
- `description: ${(description.split(/(?:When to Use|When NOT to Use|Variants|Content Requirements|Accessibility)/i)[0] || description).replace(/\n/g, " ").replace(/\s+/g, " ").trim() || `${componentName} component`}`,
1440
+ `description: ${((description.split(/\n\s*\n|\n#{1,6}\s|\n\*\*/)[0] || description).replace(/\n/g, " ").replace(/\s+/g, " ").trim().split(/(?<=[.!?])\s+/)[0] || `${componentName} component`)}`,
1399
1441
  `status: ${status}`,
1400
1442
  `version: ${version}`,
1401
1443
  `category: components`,
1444
+ ...(level ? [`level: ${level}`] : []),
1402
1445
  `tags: [${tags.join(", ")}]`,
1403
1446
  `figma: ${fileUrl}`,
1404
1447
  ];
@@ -2560,7 +2603,9 @@ export function registerDesignCodeTools(server, getFigmaAPI, getCurrentUrl, vari
2560
2603
  logger.warn("Desktop Bridge fetch failed, proceeding without bridge-sourced data");
2561
2604
  }
2562
2605
  }
2563
- const fileUrl_ = `${url}?node-id=${nodeId.replace(":", "-")}`;
2606
+ // Strip any existing query (e.g. the connected file's ?node-id=<page>) before
2607
+ // appending the target node, otherwise the URL ends up with a doubled ?node-id=.
2608
+ const fileUrl_ = `${url.split("?")[0]}?node-id=${nodeId.replace(":", "-")}`;
2564
2609
  // Parse the component description for structured content
2565
2610
  const parsedDesc = parseComponentDescription(description);
2566
2611
  // Determine canonical source
@@ -2589,7 +2634,8 @@ export function registerDesignCodeTools(server, getFigmaAPI, getCurrentUrl, vari
2589
2634
  const parts = [];
2590
2635
  const includedSections = [];
2591
2636
  if (includeFrontmatter) {
2592
- parts.push(generateFrontmatter(componentName, description, node, componentMeta, fileUrl_, codeInfo, canonicalSource));
2637
+ const atomicLevel = await detectAtomicLevel(api, fileKey, nodeId, setInfo.setNodeId, componentMeta, allComponentsMeta);
2638
+ parts.push(generateFrontmatter(componentName, description, node, componentMeta, fileUrl_, codeInfo, canonicalSource, atomicLevel));
2593
2639
  parts.push("");
2594
2640
  }
2595
2641
  if (s.overview) {
@@ -7,7 +7,8 @@
7
7
  * to generate code with structural fidelity to the real design system.
8
8
  */
9
9
  import { z } from "zod";
10
- import { extractFileKey, formatVariables } from "./figma-api.js";
10
+ import { extractFileKey } from "./figma-api.js";
11
+ import { resolveFormattedVariables } from "./variable-resolver.js";
11
12
  import { createChildLogger } from "./logger.js";
12
13
  const logger = createChildLogger({ component: "design-system-tools" });
13
14
  // ============================================================================
@@ -420,13 +421,15 @@ function compressKit(kit, level) {
420
421
  // ============================================================================
421
422
  // Tool Registration
422
423
  // ============================================================================
423
- export function registerDesignSystemTools(server, getFigmaAPI, getCurrentUrl, variablesCache, options) {
424
+ export function registerDesignSystemTools(server, getFigmaAPI, getCurrentUrl, variablesCache, options, getDesktopConnector) {
424
425
  server.tool("figma_get_design_system_kit", "PREFERRED TOOL for design system extraction — replaces separate figma_get_styles, figma_get_variables, and figma_get_component calls. " +
425
426
  "Returns tokens, components, and styles in a single optimized response with adaptive compression for large systems. " +
426
427
  "Includes component visual specs (exact colors, padding, typography, layout), rendered screenshots, " +
427
428
  "token values per mode (light/dark), and resolved style values. " +
428
429
  "Use this instead of calling individual tools to avoid context window overflow. " +
429
- "Ideal for AI code generation — use visualSpec for pixel-accurate reproduction.", {
430
+ "Ideal for AI code generation — use visualSpec for pixel-accurate reproduction. " +
431
+ "Tokens/variables are read through the connected Desktop Bridge or cloud relay and work on ANY Figma plan — no Enterprise required. " +
432
+ "If a tokens fetch ever reports the Variables REST API is plan-limited (403), the bridge/relay is the plan-independent path: ensure it's connected and retry rather than abandoning variables.", {
430
433
  fileKey: z
431
434
  .string()
432
435
  .optional()
@@ -482,25 +485,32 @@ export function registerDesignSystemTools(server, getFigmaAPI, getCurrentUrl, va
482
485
  try {
483
486
  logger.info({ fileKey: resolvedFileKey }, "Fetching design tokens");
484
487
  // Check cache first
485
- let variablesData = null;
486
488
  const cacheKey = `vars:${resolvedFileKey}`;
489
+ let formatted = null;
487
490
  if (variablesCache) {
488
491
  const cached = variablesCache.get(cacheKey);
489
492
  if (cached && Date.now() - cached.timestamp < 5 * 60 * 1000) {
490
- variablesData = cached.data;
493
+ formatted = cached.data;
491
494
  logger.info("Using cached variables data");
492
495
  }
493
496
  }
494
- if (!variablesData) {
495
- variablesData = await withTimeout(api.getLocalVariables(resolvedFileKey), 30000, "getLocalVariables");
497
+ if (!formatted) {
498
+ // Bridge-first: the Desktop Bridge / cloud relay reads variables on
499
+ // ANY plan via the Plugin API. The Enterprise-only REST Variables API
500
+ // is the fallback, used only when no bridge is connected — so most
501
+ // users (non-Enterprise) no longer dead-end on a 403 here.
502
+ formatted = await resolveFormattedVariables({
503
+ getDesktopConnector,
504
+ getFigmaAPI,
505
+ fileKey: resolvedFileKey,
506
+ });
496
507
  if (variablesCache) {
497
508
  variablesCache.set(cacheKey, {
498
- data: variablesData,
509
+ data: formatted,
499
510
  timestamp: Date.now(),
500
511
  });
501
512
  }
502
513
  }
503
- const formatted = formatVariables(variablesData);
504
514
  const collections = groupVariablesByCollection(formatted);
505
515
  kit.tokens = {
506
516
  collections,
@@ -30,7 +30,7 @@ const logger = createChildLogger({ component: "tokens-tools" });
30
30
  * on every exported token document. Kept in sync with package.json by
31
31
  * scripts/release.sh — see step 3 of the release flow.
32
32
  */
33
- const MCP_VERSION = "1.29.0";
33
+ const MCP_VERSION = "1.29.2";
34
34
  const EXPORT_TOOL_DESCRIPTION = `Export Figma variables to design token files in your codebase. Bidirectional with figma_import_tokens — together they replace Style Dictionary and Tokens Studio's export pipeline for the popular styling methods.
35
35
 
36
36
  FULLY-IMPLEMENTED OUTPUT FORMATS:
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Bridge-first variable resolution.
3
+ *
4
+ * Figma's Variables REST API (`/files/:key/variables/local`) is **Enterprise-only**
5
+ * and returns 403 for the majority of users (Starter/Pro/Org). The Desktop Bridge
6
+ * and cloud relay read variables through the Plugin API
7
+ * (`figma.variables.getLocalVariablesAsync`), which works on **every** Figma plan.
8
+ *
9
+ * Orchestration tools (e.g. `figma_get_design_system_kit`) historically called the
10
+ * REST API directly and dead-ended on a 403 for non-Enterprise users — even when a
11
+ * bridge was connected. This helper mirrors `figma_get_variables`' resolution order
12
+ * so every variable-reading tool behaves consistently:
13
+ *
14
+ * 1. Desktop Bridge / cloud relay (any plan) ← preferred
15
+ * 2. REST Variables API (Enterprise only) ← fallback
16
+ *
17
+ * It returns the same normalized shape as `formatVariables()`.
18
+ */
19
+ import { formatVariables, withTimeout } from "./figma-api.js";
20
+ import { createChildLogger } from "./logger.js";
21
+ const logger = createChildLogger({ component: "variable-resolver" });
22
+ /**
23
+ * The Desktop Bridge returns variables/collections as **arrays**, while
24
+ * `formatVariables()` expects **objects keyed by id** (the REST shape). Convert so
25
+ * the same formatter handles both transports.
26
+ */
27
+ function bridgeArraysToFormatInput(data) {
28
+ const variables = {};
29
+ for (const v of data.variables || []) {
30
+ if (v && v.id)
31
+ variables[v.id] = v;
32
+ }
33
+ const variableCollections = {};
34
+ for (const c of data.variableCollections || []) {
35
+ if (c && c.id)
36
+ variableCollections[c.id] = c;
37
+ }
38
+ return { variables, variableCollections };
39
+ }
40
+ /**
41
+ * Resolve + format local variables, preferring the Desktop Bridge / cloud relay and
42
+ * falling back to the Enterprise-only REST API only when no bridge is connected.
43
+ *
44
+ * @throws a bridge-pointing error when the bridge is unavailable AND the REST API
45
+ * fails (e.g. 403 without Enterprise), so callers/LLMs retry via the bridge
46
+ * instead of treating variables as inaccessible.
47
+ */
48
+ export async function resolveFormattedVariables(opts) {
49
+ const { getDesktopConnector, getFigmaAPI, fileKey } = opts;
50
+ const timeoutMs = opts.timeoutMs ?? 30000;
51
+ // 1. Desktop Bridge / cloud relay — works on ANY plan. Preferred.
52
+ if (getDesktopConnector) {
53
+ try {
54
+ const connector = await getDesktopConnector();
55
+ const raw = await withTimeout(connector.getVariables(fileKey), timeoutMs, "Desktop Bridge variables");
56
+ // EXECUTE_CODE responses nest the return value under `result`; unwrap so
57
+ // both the live and cached plugin paths produce a uniform shape. See #68.
58
+ const data = raw?.result?.variables ? raw.result : raw;
59
+ if (data?.success && Array.isArray(data.variables)) {
60
+ const formatted = formatVariables(bridgeArraysToFormatInput(data));
61
+ logger.info({ source: "desktop_bridge", variableCount: formatted.variables.length }, "Resolved variables via Desktop Bridge");
62
+ return { ...formatted, source: "desktop_bridge" };
63
+ }
64
+ logger.warn({ fileKey, error: data?.error }, "Desktop Bridge returned no variables; falling back to REST API");
65
+ }
66
+ catch (err) {
67
+ logger.warn({ fileKey, error: err instanceof Error ? err.message : String(err) }, "Desktop Bridge variable fetch failed; falling back to REST API");
68
+ }
69
+ }
70
+ // 2. REST Variables API — Enterprise only. Last resort.
71
+ const api = await getFigmaAPI();
72
+ try {
73
+ const local = await withTimeout(api.getLocalVariables(fileKey), timeoutMs, "getLocalVariables");
74
+ const formatted = formatVariables(local);
75
+ logger.info({ source: "rest_api", variableCount: formatted.variables.length }, "Resolved variables via REST API");
76
+ return { ...formatted, source: "rest_api" };
77
+ }
78
+ catch (restErr) {
79
+ const msg = restErr instanceof Error ? restErr.message : String(restErr);
80
+ throw new Error(`[figma-console-mcp] Could not read variables. The Figma Variables REST API ` +
81
+ `is unavailable for this file (${msg}) — it requires an Enterprise plan. ` +
82
+ `Connect the Figma Console MCP Desktop Bridge plugin (or pair it via Cloud Mode) ` +
83
+ `to read variables on ANY plan, then retry.`);
84
+ }
85
+ }
@@ -74,7 +74,7 @@ export class FigmaConsoleMCPv3 extends McpAgent {
74
74
  this.server = (() => {
75
75
  const s = new McpServer({
76
76
  name: "Figma Console MCP",
77
- version: "1.29.0",
77
+ version: "1.29.2",
78
78
  });
79
79
  // Identity wrap — every tool's response and thrown error gets stamped
80
80
  // with our MCP name so cross-MCP attribution is unambiguous.
@@ -809,7 +809,7 @@ export class FigmaConsoleMCPv3 extends McpAgent {
809
809
  registerVersionTools(this.server, async () => await this.getFigmaAPI(), () => this.browserManager?.getCurrentUrl() || null, { isRemoteMode: true });
810
810
  // Register Design System Kit tool
811
811
  registerDesignSystemTools(this.server, async () => await this.getFigmaAPI(), () => this.browserManager?.getCurrentUrl() || null, undefined, // variablesCache
812
- { isRemoteMode: true });
812
+ { isRemoteMode: true }, getCloudDesktopConnector);
813
813
  // Register Library Tools (key-based component inspection across shared libraries)
814
814
  registerLibraryTools(this.server, async () => await this.getFigmaAPI());
815
815
  // Register Library Variable Tools (Plugin-API based — list + import variables
@@ -1083,7 +1083,7 @@ export default {
1083
1083
  });
1084
1084
  const statelessServer = new McpServer({
1085
1085
  name: "Figma Console MCP",
1086
- version: "1.29.0",
1086
+ version: "1.29.2",
1087
1087
  });
1088
1088
  wrapServerForIdentity(statelessServer);
1089
1089
  // ================================================================
@@ -1180,7 +1180,7 @@ export default {
1180
1180
  registerCommentTools(statelessServer, async () => statelessApi, getCloudFileUrl);
1181
1181
  registerVersionTools(statelessServer, async () => statelessApi, getCloudFileUrl);
1182
1182
  registerDesignSystemTools(statelessServer, async () => statelessApi, getCloudFileUrl, new Map(), // Fresh variables cache per request
1183
- { isRemoteMode: true });
1183
+ { isRemoteMode: true }, getCloudDesktopConnector);
1184
1184
  registerLibraryTools(statelessServer, async () => statelessApi);
1185
1185
  registerLibraryVariableTools(statelessServer, getCloudDesktopConnector);
1186
1186
  await statelessServer.connect(transport);
@@ -1720,7 +1720,7 @@ export default {
1720
1720
  return new Response(JSON.stringify({
1721
1721
  status: "healthy",
1722
1722
  service: "Figma Console MCP",
1723
- version: "1.29.0",
1723
+ version: "1.29.2",
1724
1724
  endpoints: {
1725
1725
  mcp: ["/sse", "/mcp"],
1726
1726
  oauth_mcp_spec: ["/.well-known/oauth-authorization-server", "/authorize", "/token", "/oauth/register"],
@@ -1 +1 @@
1
- {"version":3,"file":"design-code-tools.d.ts","sourceRoot":"","sources":["../../src/core/design-code-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-code-tools.d.ts","sourceRoot":"","sources":["../../src/core/design-code-tools.ts"],"names":[],"mappings":"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"}
@@ -174,7 +174,7 @@ export function parseComponentDescription(description) {
174
174
  for (const line of lines) {
175
175
  const trimmed = line.trim();
176
176
  // Detect section headers: bold text (**Header**), markdown headers (## Header), or plain text exact matches
177
- const markdownHeaderMatch = trimmed.match(/^(?:\*\*|###?\s*)(.+?)(?:\*\*)?$/);
177
+ const markdownHeaderMatch = trimmed.match(/^(?:\*\*|#{1,6}\s*)(.+?)(?:\*\*)?$/);
178
178
  const headerText = markdownHeaderMatch ? markdownHeaderMatch[1].trim().replace(/\*\*/g, "") : null;
179
179
  // Check if this is a Figma per-property documentation block (e.g., "Show Left Icon: True – Purpose")
180
180
  // These should be routed to "other" to avoid polluting content guidelines and accessibility sections
@@ -1380,7 +1380,47 @@ function buildParityInstruction(componentName, parityScore, counts, canonicalSou
1380
1380
  // ============================================================================
1381
1381
  // Documentation Section Generators
1382
1382
  // ============================================================================
1383
- function generateFrontmatter(componentName, description, node, componentMeta, fileUrl, codeInfo, canonicalSource) {
1383
+ /**
1384
+ * Detect the atomic-design level (atom | molecule | organism | template) of a component
1385
+ * by finding its Figma page and walking the ordered page list back to the nearest
1386
+ * section-divider page (e.g. "ATOMS", "MOLECULES", "ORGANISMS"). Returns null when the
1387
+ * file doesn't use atomic-design page sections or the page can't be resolved — callers
1388
+ * then simply omit the `level` frontmatter. Best-effort and never throws.
1389
+ */
1390
+ async function detectAtomicLevel(api, fileKey, nodeId, setNodeId, _componentMeta, _allComponentsMeta) {
1391
+ try {
1392
+ const targetId = setNodeId || nodeId;
1393
+ // Resolve the page the component lives on — independent of library-publish
1394
+ // status (published `containing_frame` metadata is empty for many files).
1395
+ // Requesting the file with `ids` returns every page in document order, but
1396
+ // prunes each page's children to only the path reaching the requested node,
1397
+ // so the single page whose subtree still contains the node is its home page.
1398
+ const pages = (await api.getFile(fileKey, { ids: [targetId] }))?.document?.children || [];
1399
+ const contains = (n) => n?.id === targetId || (Array.isArray(n?.children) && n.children.some(contains));
1400
+ const idx = pages.findIndex((p) => contains(p));
1401
+ if (idx < 0)
1402
+ return null;
1403
+ // Walk back to the nearest atomic-design divider page.
1404
+ const LEVELS = [
1405
+ ["ATOM", "atom"],
1406
+ ["MOLECULE", "molecule"],
1407
+ ["ORGANISM", "organism"],
1408
+ ["TEMPLATE", "template"],
1409
+ ];
1410
+ for (let i = idx; i >= 0; i--) {
1411
+ const stripped = (pages[i]?.name || "").toUpperCase().replace(/[^A-Z]/g, "");
1412
+ for (const [marker, level] of LEVELS) {
1413
+ if (stripped.startsWith(marker))
1414
+ return level;
1415
+ }
1416
+ }
1417
+ return null;
1418
+ }
1419
+ catch {
1420
+ return null;
1421
+ }
1422
+ }
1423
+ function generateFrontmatter(componentName, description, node, componentMeta, fileUrl, codeInfo, canonicalSource, level) {
1384
1424
  const status = codeInfo?.changelog?.[0]
1385
1425
  ? "stable"
1386
1426
  : componentMeta?.description?.toLowerCase().includes("deprecated")
@@ -1388,6 +1428,8 @@ function generateFrontmatter(componentName, description, node, componentMeta, fi
1388
1428
  : "stable";
1389
1429
  const version = codeInfo?.changelog?.[0]?.version || "1.0.0";
1390
1430
  const tags = [componentName.toLowerCase()];
1431
+ if (level)
1432
+ tags.push(level);
1391
1433
  if (node.type === "COMPONENT_SET")
1392
1434
  tags.push("variants");
1393
1435
  if (node.componentPropertyDefinitions)
@@ -1395,10 +1437,11 @@ function generateFrontmatter(componentName, description, node, componentMeta, fi
1395
1437
  const lines = [
1396
1438
  "---",
1397
1439
  `title: ${componentName}`,
1398
- `description: ${(description.split(/(?:When to Use|When NOT to Use|Variants|Content Requirements|Accessibility)/i)[0] || description).replace(/\n/g, " ").replace(/\s+/g, " ").trim() || `${componentName} component`}`,
1440
+ `description: ${((description.split(/\n\s*\n|\n#{1,6}\s|\n\*\*/)[0] || description).replace(/\n/g, " ").replace(/\s+/g, " ").trim().split(/(?<=[.!?])\s+/)[0] || `${componentName} component`)}`,
1399
1441
  `status: ${status}`,
1400
1442
  `version: ${version}`,
1401
1443
  `category: components`,
1444
+ ...(level ? [`level: ${level}`] : []),
1402
1445
  `tags: [${tags.join(", ")}]`,
1403
1446
  `figma: ${fileUrl}`,
1404
1447
  ];
@@ -2560,7 +2603,9 @@ export function registerDesignCodeTools(server, getFigmaAPI, getCurrentUrl, vari
2560
2603
  logger.warn("Desktop Bridge fetch failed, proceeding without bridge-sourced data");
2561
2604
  }
2562
2605
  }
2563
- const fileUrl_ = `${url}?node-id=${nodeId.replace(":", "-")}`;
2606
+ // Strip any existing query (e.g. the connected file's ?node-id=<page>) before
2607
+ // appending the target node, otherwise the URL ends up with a doubled ?node-id=.
2608
+ const fileUrl_ = `${url.split("?")[0]}?node-id=${nodeId.replace(":", "-")}`;
2564
2609
  // Parse the component description for structured content
2565
2610
  const parsedDesc = parseComponentDescription(description);
2566
2611
  // Determine canonical source
@@ -2589,7 +2634,8 @@ export function registerDesignCodeTools(server, getFigmaAPI, getCurrentUrl, vari
2589
2634
  const parts = [];
2590
2635
  const includedSections = [];
2591
2636
  if (includeFrontmatter) {
2592
- parts.push(generateFrontmatter(componentName, description, node, componentMeta, fileUrl_, codeInfo, canonicalSource));
2637
+ const atomicLevel = await detectAtomicLevel(api, fileKey, nodeId, setInfo.setNodeId, componentMeta, allComponentsMeta);
2638
+ parts.push(generateFrontmatter(componentName, description, node, componentMeta, fileUrl_, codeInfo, canonicalSource, atomicLevel));
2593
2639
  parts.push("");
2594
2640
  }
2595
2641
  if (s.overview) {
@@ -1 +1 @@
1
- {"version":3,"file":"design-code-tools.js","sourceRoot":"","sources":["../../src/core/design-code-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-code-tools.js","sourceRoot":"","sources":["../../src/core/design-code-tools.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ const logger = createChildLogger({ component: "tokens-tools" });
30
30
  * on every exported token document. Kept in sync with package.json by
31
31
  * scripts/release.sh — see step 3 of the release flow.
32
32
  */
33
- const MCP_VERSION = "1.29.1";
33
+ const MCP_VERSION = "1.29.2";
34
34
  const EXPORT_TOOL_DESCRIPTION = `Export Figma variables to design token files in your codebase. Bidirectional with figma_import_tokens — together they replace Style Dictionary and Tokens Studio's export pipeline for the popular styling methods.
35
35
 
36
36
  FULLY-IMPLEMENTED OUTPUT FORMATS:
@@ -6,7 +6,7 @@
6
6
 
7
7
  // Plugin version — sent in FILE_INFO for server-side version compatibility checks.
8
8
  // The server compares this against its own version to detect stale cached plugins.
9
- var PLUGIN_VERSION = '1.29.1'; // Kept in sync with package.json by scripts/release.sh — see issue #62.
9
+ var PLUGIN_VERSION = '1.29.2'; // Kept in sync with package.json by scripts/release.sh — see issue #62.
10
10
 
11
11
  console.log('🌉 [Desktop Bridge] Plugin loaded (v' + PLUGIN_VERSION + ')');
12
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "figma-console-mcp",
3
- "version": "1.29.1",
3
+ "version": "1.29.2",
4
4
  "description": "The most comprehensive MCP server for Figma — design tokens, variables, components, write tools, version history diff, accessibility audits, FigJam, Slides, and more. Local (WebSocket Desktop Bridge plugin) and Cloudflare Workers (paired + remote) modes.",
5
5
  "type": "module",
6
6
  "main": "dist/local.js",