@muloka/figma-console-mcp 0.1.2 → 0.3.0

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.
@@ -75,6 +75,14 @@ export class FigmaWebSocketServer extends EventEmitter {
75
75
  this._pendingClients = new Map();
76
76
  /** The fileKey of the currently active (targeted) file */
77
77
  this._activeFileKey = null;
78
+ /**
79
+ * When true, the active file is pinned: new connections, reconnects, and
80
+ * user interaction (selection/page changes) will NOT move the active target.
81
+ * Lets the agent work in one file while the user works in another without
82
+ * commands silently routing to the wrong file. Cleared if the locked file
83
+ * disconnects.
84
+ */
85
+ this._targetLocked = false;
78
86
  this.pendingRequests = new Map();
79
87
  this.requestIdCounter = 0;
80
88
  this._isStarted = false;
@@ -376,7 +384,8 @@ export class FigmaWebSocketServer extends EventEmitter {
376
384
  if (found) {
377
385
  found.client.selection = message.data;
378
386
  found.client.lastActivity = Date.now();
379
- this._activeFileKey = found.fileKey;
387
+ if (!this._targetLocked)
388
+ this._activeFileKey = found.fileKey;
380
389
  }
381
390
  this.emit('selectionChange', { fileKey: found?.fileKey ?? null, ...message.data });
382
391
  }
@@ -387,7 +396,8 @@ export class FigmaWebSocketServer extends EventEmitter {
387
396
  found.client.fileInfo.currentPage = message.data.pageName;
388
397
  found.client.fileInfo.currentPageId = message.data.pageId || null;
389
398
  found.client.lastActivity = Date.now();
390
- this._activeFileKey = found.fileKey;
399
+ if (!this._targetLocked)
400
+ this._activeFileKey = found.fileKey;
391
401
  }
392
402
  this.emit('pageChange', { fileKey: found?.fileKey ?? null, ...message.data });
393
403
  }
@@ -440,6 +450,9 @@ export class FigmaWebSocketServer extends EventEmitter {
440
450
  this.clients.delete(previousEntry.fileKey);
441
451
  if (this._activeFileKey === previousEntry.fileKey) {
442
452
  this._activeFileKey = null;
453
+ // The pinned plugin navigated to a different file — the old pin is
454
+ // meaningless, so release it rather than silently re-pinning the new file.
455
+ this._targetLocked = false;
443
456
  }
444
457
  // In-flight commands to the old file can never receive a response now —
445
458
  // reject them immediately instead of leaving them to hang until timeout
@@ -514,7 +527,14 @@ export class FigmaWebSocketServer extends EventEmitter {
514
527
  // Most recently connected file becomes active (user just opened the plugin there).
515
528
  // On bulk reconnect the order is non-deterministic, but the first user interaction
516
529
  // (SELECTION_CHANGE or PAGE_CHANGE) will correct the active file immediately.
517
- this._activeFileKey = fileKey;
530
+ // Skip when the target is pinned so a new or reconnecting plugin can't steal it.
531
+ // Invariant: a locked target always has an active file — every path that nulls
532
+ // _activeFileKey also releases the lock — so there is no "locked but nothing
533
+ // active" case to re-adopt here, and a crash-reconnect within the grace window
534
+ // keeps its active key (the grace timer is cleared before it can fire).
535
+ if (!this._targetLocked) {
536
+ this._activeFileKey = fileKey;
537
+ }
518
538
  logger.info({
519
539
  fileName: data.fileName,
520
540
  fileKey,
@@ -556,9 +576,15 @@ export class FigmaWebSocketServer extends EventEmitter {
556
576
  if (current && current.ws === ws) {
557
577
  this.clients.delete(fileKey);
558
578
  this.rejectPendingRequestsForFile(fileKey, 'WebSocket client disconnected');
559
- // If active file disconnected, switch to another connected file
579
+ // If active file disconnected, switch to another connected file.
580
+ // Release any lock — the pinned file is gone, so honoring the lock
581
+ // would strand every command against a dead connection.
560
582
  if (this._activeFileKey === fileKey) {
561
583
  this._activeFileKey = null;
584
+ if (this._targetLocked) {
585
+ this._targetLocked = false;
586
+ logger.info({ fileKey }, 'Target lock released — locked file disconnected');
587
+ }
562
588
  for (const [fk, c] of this.clients) {
563
589
  if (c.ws.readyState === WebSocket.OPEN) {
564
590
  this._activeFileKey = fk;
@@ -855,13 +881,19 @@ export class FigmaWebSocketServer extends EventEmitter {
855
881
  }
856
882
  /**
857
883
  * Set the active file by fileKey. Returns true if the file is connected.
884
+ *
885
+ * Pass `lock: true` to pin the target so subsequent connections, reconnects,
886
+ * and user interaction won't move it. Any explicit switch resets the lock to
887
+ * the value passed here (default: unlocked), so switching without `lock`
888
+ * releases a prior lock.
858
889
  */
859
- setActiveFile(fileKey) {
890
+ setActiveFile(fileKey, lock = false) {
860
891
  const client = this.clients.get(fileKey);
861
892
  if (client && client.ws.readyState === WebSocket.OPEN) {
862
893
  this._activeFileKey = fileKey;
863
- logger.info({ fileKey, fileName: client.fileInfo.fileName }, 'Active file switched');
864
- this.emit('activeFileChanged', { fileKey, fileName: client.fileInfo.fileName });
894
+ this._targetLocked = lock;
895
+ logger.info({ fileKey, fileName: client.fileInfo.fileName, locked: lock }, 'Active file switched');
896
+ this.emit('activeFileChanged', { fileKey, fileName: client.fileInfo.fileName, locked: lock });
865
897
  return true;
866
898
  }
867
899
  return false;
@@ -872,6 +904,26 @@ export class FigmaWebSocketServer extends EventEmitter {
872
904
  getActiveFileKey() {
873
905
  return this._activeFileKey;
874
906
  }
907
+ /**
908
+ * Pin the current active file so connections, reconnects, and user
909
+ * interaction won't move the target. Returns false if no file is active.
910
+ */
911
+ lockTarget() {
912
+ if (!this._activeFileKey)
913
+ return false;
914
+ this._targetLocked = true;
915
+ logger.info({ fileKey: this._activeFileKey }, 'Target locked');
916
+ return true;
917
+ }
918
+ /** Release the target lock; the active file resumes following user activity. */
919
+ unlockTarget() {
920
+ this._targetLocked = false;
921
+ logger.info({ fileKey: this._activeFileKey }, 'Target unlocked');
922
+ }
923
+ /** Whether the active file is currently pinned. */
924
+ isTargetLocked() {
925
+ return this._targetLocked;
926
+ }
875
927
  /**
876
928
  * Get the editor type of the currently active file.
877
929
  * Returns 'figma' if no file is connected or editorType wasn't reported.
@@ -937,6 +989,7 @@ export class FigmaWebSocketServer extends EventEmitter {
937
989
  }
938
990
  this.clients.clear();
939
991
  this._activeFileKey = null;
992
+ this._targetLocked = false;
940
993
  // Close WS server first (handles WebSocket connections)
941
994
  if (this.wss) {
942
995
  await new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/core/websocket-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/core/websocket-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AA+KH;;;GAGG;AACH,cAAM,oBAAoB;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAA+C;IACrE,uGAAuG;IACvG,OAAO,CAAC,YAAY,CAAuB;IAC3C,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAA2B;IAClD,2EAA2E;IAC3E,OAAO,CAAC,YAAY,CAA6B;IACjD,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA+C;IACvE,+EAA+E;IAC/E,OAAO,CAAC,UAAU,CAAgD;IAClE,+DAA+D;IAC/D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,MAAM,CAAe;IAI7B,OAAO,CAAC,cAAc,CAMR;IAEd;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;;IAwBhC;;OAEG;YACW,WAAW;IAoBzB;;;OAGG;YACW,mBAAmB;IAyBjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;YACW,iBAAiB;IAiB/B,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuhGrB;;;;;OAKG;YACW,eAAe;IAmE7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkQ5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC/B;AAkGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AAsLH;;;GAGG;AACH,cAAM,oBAAoB;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAA+C;IACrE,uGAAuG;IACvG,OAAO,CAAC,YAAY,CAAuB;IAC3C,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAA2B;IAClD,2EAA2E;IAC3E,OAAO,CAAC,YAAY,CAA6B;IACjD,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA+C;IACvE,+EAA+E;IAC/E,OAAO,CAAC,UAAU,CAAgD;IAClE,+DAA+D;IAC/D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,MAAM,CAAe;IAI7B,OAAO,CAAC,cAAc,CAMR;IAEd;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;;IAwBhC;;OAEG;YACW,WAAW;IAoBzB;;;OAGG;YACW,mBAAmB;IAyBjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;YACW,iBAAiB;IAiB/B,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAyiGrB;;;;;OAKG;YACW,eAAe;IAmE7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkQ5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC/B;AAkGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
package/dist/local.js CHANGED
@@ -100,6 +100,13 @@ const MCP_SERVER_INSTRUCTIONS = `## Figma Console MCP - Visual Design Workflow
100
100
 
101
101
  This MCP server enables AI-assisted design creation in Figma. Follow these mandatory workflows:
102
102
 
103
+ ### SETUP (read first if any tool reports no Figma connection)
104
+ Call figma_get_status and read its \`pluginPath\` field — never guess or hardcode that path.
105
+ Then tell the user to run \`npx @muloka/figma-console-mcp --print-path\` and import the printed
106
+ manifest.json in Figma: Plugins → Development → Import plugin from manifest. On macOS that
107
+ folder is hidden, so the file dialog will not show it: tell them to press Cmd+Shift+G in the
108
+ dialog and paste the path. (On Windows the folder is visible; navigate to it normally.)
109
+
103
110
  ### VISUAL VALIDATION WORKFLOW (Required)
104
111
  After creating or modifying ANY visual design elements:
105
112
  1. **CREATE**: Execute design code via figma_execute
@@ -828,12 +835,16 @@ class LocalFigmaConsoleMCP {
828
835
  }
829
836
  });
830
837
  // Tool 6: Navigate / switch active file
831
- server.tool("figma_navigate", "Switch the active Figma file target among files that already have the Desktop Bridge plugin running. Local mode is WebSocket-only — this tool does NOT launch a browser or open files. If the requested URL is already the active file, it confirms the connection. If another connected plugin matches the URL, it switches the active target so subsequent tool calls hit that file. If no connected plugin matches, returns guidance for the user to open the Desktop Bridge plugin in the target file. Use figma_list_open_files to see all connected files.", {
838
+ server.tool("figma_navigate", "Switch the active Figma file target among files that already have the Desktop Bridge plugin running. Local mode is WebSocket-only — this tool does NOT launch a browser or open files. If the requested URL is already the active file, it confirms the connection. If another connected plugin matches the URL, it switches the active target so subsequent tool calls hit that file. If no connected plugin matches, returns guidance for the user to open the Desktop Bridge plugin in the target file. Use figma_list_open_files to see all connected files.\n\nPass lock: true to PIN this file as the target — new connections, reconnects, and the user's own selection/page changes in other files will no longer move the target. Use this for parallel work (agent edits one file while the user works in another) so commands can't silently route to the wrong file. Switching to another file (or lock: false) releases the pin; it also releases automatically if the pinned file disconnects.", {
832
839
  url: z
833
840
  .string()
834
841
  .url()
835
842
  .describe("Figma URL to navigate to (e.g., https://www.figma.com/design/abc123)"),
836
- }, async ({ url }) => {
843
+ lock: z
844
+ .boolean()
845
+ .optional()
846
+ .describe("Pin this file as the active target so connections, reconnects, and user interaction in other files won't move it. Defaults to false."),
847
+ }, async ({ url, lock }) => {
837
848
  try {
838
849
  // Phase 3: local mode now talks to Figma exclusively through the
839
850
  // WebSocket Desktop Bridge plugin. Navigation is plugin-side: we
@@ -848,6 +859,11 @@ class LocalFigmaConsoleMCP {
848
859
  const requestedFileKey = extractFileKey(url);
849
860
  const isSameFile = !!(requestedFileKey && fileInfo?.fileKey && requestedFileKey === fileInfo.fileKey);
850
861
  if (isSameFile) {
862
+ // Apply/release the pin even when already active, so
863
+ // `figma_navigate(url, lock: true)` on the current file works.
864
+ if (lock !== undefined && requestedFileKey) {
865
+ this.wsServer.setActiveFile(requestedFileKey, lock);
866
+ }
851
867
  return {
852
868
  content: [
853
869
  {
@@ -859,7 +875,9 @@ class LocalFigmaConsoleMCP {
859
875
  fileName: fileInfo.fileName,
860
876
  fileKey: fileInfo.fileKey,
861
877
  },
862
- message: "Already connected to this file via WebSocket. All tools are ready to use — no navigation needed.",
878
+ locked: this.wsServer.isTargetLocked(),
879
+ message: "Already connected to this file via WebSocket. All tools are ready to use — no navigation needed." +
880
+ (lock ? " Target is now pinned to this file." : ""),
863
881
  ai_instruction: "The requested file is already connected via WebSocket. You can proceed with any tool calls (figma_get_variables, figma_get_file_data, figma_execute, etc.) without further navigation.",
864
882
  }),
865
883
  },
@@ -871,7 +889,7 @@ class LocalFigmaConsoleMCP {
871
889
  const connectedFiles = this.wsServer.getConnectedFiles();
872
890
  const targetFile = connectedFiles.find(f => f.fileKey === requestedFileKey);
873
891
  if (targetFile) {
874
- this.wsServer.setActiveFile(requestedFileKey);
892
+ this.wsServer.setActiveFile(requestedFileKey, lock ?? false);
875
893
  return {
876
894
  content: [
877
895
  {
@@ -883,13 +901,16 @@ class LocalFigmaConsoleMCP {
883
901
  fileName: targetFile.fileName,
884
902
  fileKey: targetFile.fileKey,
885
903
  },
904
+ locked: this.wsServer.isTargetLocked(),
886
905
  connectedFiles: connectedFiles.map(f => ({
887
906
  fileName: f.fileName,
888
907
  fileKey: f.fileKey,
889
908
  isActive: f.fileKey === requestedFileKey,
890
909
  })),
891
- message: `Switched active file to "${targetFile.fileName}". All tools now target this file.`,
892
- ai_instruction: "Active file has been switched via WebSocket. All subsequent tool calls (figma_get_variables, figma_execute, etc.) will target this file. No browser navigation needed.",
910
+ message: `Switched active file to "${targetFile.fileName}". All tools now target this file.` +
911
+ (lock ? " Target is pinned it won't move until you switch files or the plugin disconnects." : ""),
912
+ ai_instruction: "Active file has been switched via WebSocket. All subsequent tool calls (figma_get_variables, figma_execute, etc.) will target this file. No browser navigation needed." +
913
+ (lock ? " The target is now pinned to this file." : ""),
893
914
  }),
894
915
  },
895
916
  ],
@@ -1447,12 +1468,14 @@ class LocalFigmaConsoleMCP {
1447
1468
  }
1448
1469
  const connectedFiles = this.wsServer.getConnectedFiles();
1449
1470
  const activeFileKey = this.wsServer.getActiveFileKey();
1471
+ const targetLocked = this.wsServer.isTargetLocked();
1450
1472
  return {
1451
1473
  content: [{
1452
1474
  type: "text",
1453
1475
  text: JSON.stringify({
1454
1476
  transport: "websocket",
1455
1477
  activeFileKey,
1478
+ targetLocked,
1456
1479
  files: connectedFiles.map(f => ({
1457
1480
  fileName: f.fileName,
1458
1481
  fileKey: f.fileKey,
@@ -1467,7 +1490,7 @@ class LocalFigmaConsoleMCP {
1467
1490
  message: connectedFiles.length === 1
1468
1491
  ? `Connected to 1 file: "${connectedFiles[0].fileName}"`
1469
1492
  : `Connected to ${connectedFiles.length} files. Active: "${connectedFiles.find(f => f.isActive)?.fileName || 'none'}"`,
1470
- ai_instruction: "Use figma_navigate with a file URL to switch the active file. All tools target the active file by default.",
1493
+ ai_instruction: `Use figma_navigate with a file URL to switch the active file. All tools target the active file by default. ${targetLocked ? "The active target is currently PINNED (locked) — it won't move on reconnects or user interaction until you switch files. " : "To work in one file while the user works in another, call figma_navigate with lock: true to pin the target so it can't silently switch. "}`,
1471
1494
  }),
1472
1495
  }],
1473
1496
  };