@mp3wizard/figma-console-mcp 1.20.2 → 1.21.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.
@@ -71,6 +71,8 @@ export class FigmaWebSocketServer extends EventEmitter {
71
71
  this.documentChangeBufferSize = 200;
72
72
  /** Cached plugin UI HTML content — loaded once and served to bootloader requests */
73
73
  this._pluginUIContent = null;
74
+ /** Heartbeat interval for detecting dead connections via ping/pong */
75
+ this._heartbeatInterval = null;
74
76
  this.options = options;
75
77
  this._startedAt = Date.now();
76
78
  }
@@ -103,12 +105,15 @@ export class FigmaWebSocketServer extends EventEmitter {
103
105
  }
104
106
  // Health/version endpoint
105
107
  if (url === '/health' || url === '/') {
108
+ const now = Date.now();
109
+ const connectedClients = Array.from(this.clients.values()).filter(c => c.ws.readyState === WebSocket.OPEN && (now - c.lastPongAt) < 90000).length;
106
110
  res.writeHead(200, { 'Content-Type': 'application/json' });
107
111
  res.end(JSON.stringify({
108
112
  status: 'ok',
109
113
  version: SERVER_VERSION,
110
114
  clients: this.clients.size,
111
- uptime: Math.floor((Date.now() - this._startedAt) / 1000),
115
+ connectedClients,
116
+ uptime: Math.floor((now - this._startedAt) / 1000),
112
117
  }));
113
118
  return;
114
119
  }
@@ -185,6 +190,7 @@ export class FigmaWebSocketServer extends EventEmitter {
185
190
  // Start listening on the HTTP server (which also handles WS upgrades)
186
191
  this.httpServer.listen(this.options.port, this.options.host || 'localhost', () => {
187
192
  this._isStarted = true;
193
+ this.startHeartbeat();
188
194
  logger.info({ port: this.options.port, host: this.options.host || 'localhost' }, 'WebSocket bridge server started (with HTTP plugin UI endpoint)');
189
195
  resolve();
190
196
  });
@@ -242,6 +248,18 @@ export class FigmaWebSocketServer extends EventEmitter {
242
248
  ws.on('error', (error) => {
243
249
  logger.error({ error }, 'WebSocket client error');
244
250
  });
251
+ // Track pong responses for heartbeat-based liveness detection.
252
+ // Browser WebSocket clients auto-respond to pings per RFC 6455 —
253
+ // no plugin-side code changes needed.
254
+ ws.isAlive = true;
255
+ ws.on('pong', () => {
256
+ ws.isAlive = true;
257
+ // Update lastPongAt on the named client if identified
258
+ const found = this.findClientByWs(ws);
259
+ if (found) {
260
+ found.client.lastPongAt = Date.now();
261
+ }
262
+ });
245
263
  });
246
264
  }
247
265
  catch (error) {
@@ -420,6 +438,7 @@ export class FigmaWebSocketServer extends EventEmitter {
420
438
  documentChanges: existing?.documentChanges || [],
421
439
  consoleLogs: existing?.consoleLogs || [],
422
440
  lastActivity: Date.now(),
441
+ lastPongAt: Date.now(),
423
442
  gracePeriodTimer: null,
424
443
  });
425
444
  // Most recently connected file becomes active (user just opened the plugin there).
@@ -528,11 +547,35 @@ export class FigmaWebSocketServer extends EventEmitter {
528
547
  });
529
548
  }
530
549
  /**
531
- * Check if any named client is connected (transport availability check)
550
+ * Start the heartbeat interval that pings all connected clients every 30s.
551
+ * Detects silently dropped connections (e.g., macOS sleep, network change)
552
+ * that the OS TCP keepalive would take 30-120s to catch.
553
+ * Browser WebSocket clients auto-respond to pings per RFC 6455.
554
+ */
555
+ startHeartbeat() {
556
+ this._heartbeatInterval = setInterval(() => {
557
+ if (!this.wss)
558
+ return;
559
+ for (const ws of this.wss.clients) {
560
+ if (ws.isAlive === false) {
561
+ logger.info('Terminating unresponsive WebSocket client (missed heartbeat pong)');
562
+ ws.terminate();
563
+ continue;
564
+ }
565
+ ws.isAlive = false;
566
+ ws.ping();
567
+ }
568
+ }, 30000);
569
+ }
570
+ /**
571
+ * Check if any named client is connected (transport availability check).
572
+ * Checks both socket readyState and heartbeat pong freshness to avoid
573
+ * reporting phantom-connected state on silently dropped connections.
532
574
  */
533
575
  isClientConnected() {
576
+ const now = Date.now();
534
577
  for (const [, client] of this.clients) {
535
- if (client.ws.readyState === WebSocket.OPEN) {
578
+ if (client.ws.readyState === WebSocket.OPEN && (now - client.lastPongAt) < 90000) {
536
579
  return true;
537
580
  }
538
581
  }
@@ -687,6 +730,16 @@ export class FigmaWebSocketServer extends EventEmitter {
687
730
  }
688
731
  return files;
689
732
  }
733
+ /**
734
+ * Get the last pong timestamp for the active client.
735
+ * Returns null if no active client or no pong received yet.
736
+ */
737
+ getActiveClientLastPongAt() {
738
+ if (!this._activeFileKey)
739
+ return null;
740
+ const client = this.clients.get(this._activeFileKey);
741
+ return client?.lastPongAt ?? null;
742
+ }
690
743
  /**
691
744
  * Set the active file by fileKey. Returns true if the file is connected.
692
745
  */
@@ -745,6 +798,11 @@ export class FigmaWebSocketServer extends EventEmitter {
745
798
  * Stop the server and clean up all connections
746
799
  */
747
800
  async stop() {
801
+ // Clear heartbeat interval
802
+ if (this._heartbeatInterval) {
803
+ clearInterval(this._heartbeatInterval);
804
+ this._heartbeatInterval = null;
805
+ }
748
806
  // Clear all per-client grace period timers
749
807
  for (const [, client] of this.clients) {
750
808
  if (client.gracePeriodTimer) {
@@ -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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"}
package/dist/local.d.ts CHANGED
@@ -48,6 +48,19 @@ declare class LocalFigmaConsoleMCP {
48
48
  * Returns the active WebSocket Desktop Bridge connector.
49
49
  */
50
50
  private getDesktopConnector;
51
+ /**
52
+ * Build a bridge tool error response with structured connectionError.
53
+ * Extracts connectionError from enhanced Error objects thrown by getDesktopConnector(),
54
+ * or computes it on-demand for other errors. Backward compatible — adds connectionError
55
+ * alongside existing error/message/hint fields.
56
+ */
57
+ private bridgeToolError;
58
+ /**
59
+ * Build a structured connectionError object for bridge-dependent tool failures.
60
+ * Added alongside existing error/message/hint fields for backward compatibility.
61
+ * Agents can key on this field for programmatic recovery instead of parsing hint strings.
62
+ */
63
+ private buildConnectionError;
51
64
  /**
52
65
  * Get the current Figma file URL from the best available source.
53
66
  * Priority: Browser URL (full URL with branch/node info) → WebSocket file identity (synthesized URL).
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AAsFH;;;GAGG;AACH,cAAM,oBAAoB;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,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,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,MAAM,CAAe;IAI7B,OAAO,CAAC,cAAc,CAMR;IAEd;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;;IAgFhC;;OAEG;YACW,WAAW;IA0BzB;;;OAGG;YACW,mBAAmB;IA6CjC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;YACW,iBAAiB;IAqB/B,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;YACW,iBAAiB;IA+I/B;;OAEG;IACH,OAAO,CAAC,aAAa;IA0hLrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+L5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC/B;AA4ED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AAsFH;;;GAGG;AACH,cAAM,oBAAoB;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,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,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,MAAM,CAAe;IAI7B,OAAO,CAAC,cAAc,CAMR;IAEd;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;;IAgFhC;;OAEG;YACW,WAAW;IAoBzB;;;OAGG;YACW,mBAAmB;IAgDjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;YACW,iBAAiB;IAqB/B,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;YACW,iBAAiB;IA+I/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAikLrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+L5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC/B;AA4ED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
package/dist/local.js CHANGED
@@ -188,10 +188,7 @@ If Design Systems Assistant MCP is not available, install it from: https://githu
188
188
  "Set it as an environment variable. " +
189
189
  "Get your token at: https://www.figma.com/developers/api#access-tokens");
190
190
  }
191
- logger.info({
192
- tokenPreview: `${accessToken.substring(0, 10)}...`,
193
- tokenLength: accessToken.length,
194
- }, "Initializing Figma API with token from environment");
191
+ logger.debug({ authMethod: accessToken.startsWith('figu_') ? 'OAuth' : 'PAT' }, 'Initializing Figma API');
195
192
  this.figmaAPI = new FigmaAPI({ accessToken });
196
193
  }
197
194
  return this.figmaAPI;
@@ -235,10 +232,83 @@ If Design Systems Assistant MCP is not available, install it from: https://githu
235
232
  logger.debug({ error: errorMsg }, "Legacy fallback connection also unavailable");
236
233
  }
237
234
  const wsPort = this.wsActualPort || this.wsPreferredPort || DEFAULT_WS_PORT;
238
- throw new Error("Cannot connect to Figma Desktop.\n\n" +
235
+ const err = new Error("Cannot connect to Figma Desktop.\n\n" +
239
236
  "Open the Desktop Bridge plugin in Figma (Plugins → Development → Figma Desktop Bridge).\n" +
240
237
  `The plugin will connect automatically to ws://localhost:${wsPort}.\n` +
241
238
  "No special launch flags needed.");
239
+ // Attach structured connection error for programmatic agent recovery
240
+ err.connectionError = this.buildConnectionError(err);
241
+ throw err;
242
+ }
243
+ /**
244
+ * Build a bridge tool error response with structured connectionError.
245
+ * Extracts connectionError from enhanced Error objects thrown by getDesktopConnector(),
246
+ * or computes it on-demand for other errors. Backward compatible — adds connectionError
247
+ * alongside existing error/message/hint fields.
248
+ */
249
+ bridgeToolError(error, message, hint) {
250
+ const errorMsg = error instanceof Error ? error.message : String(error);
251
+ const connectionError = error?.connectionError || this.buildConnectionError(error);
252
+ return {
253
+ content: [
254
+ {
255
+ type: "text",
256
+ text: JSON.stringify({
257
+ error: errorMsg,
258
+ message,
259
+ hint,
260
+ connectionError,
261
+ }),
262
+ },
263
+ ],
264
+ isError: true,
265
+ };
266
+ }
267
+ /**
268
+ * Build a structured connectionError object for bridge-dependent tool failures.
269
+ * Added alongside existing error/message/hint fields for backward compatibility.
270
+ * Agents can key on this field for programmatic recovery instead of parsing hint strings.
271
+ */
272
+ buildConnectionError(error) {
273
+ const errorMsg = error instanceof Error ? error.message : String(error);
274
+ const wsServerRunning = this.wsServer?.isStarted() ?? false;
275
+ const isTimeout = errorMsg.includes('timed out');
276
+ const isNoClient = errorMsg.includes('No active file') || errorMsg.includes('No WebSocket client');
277
+ if (!wsServerRunning) {
278
+ return {
279
+ layer: 1,
280
+ type: 'MCP_SERVER_UNAVAILABLE',
281
+ canRetry: true,
282
+ recoverySteps: [
283
+ "Ensure your AI client is running with figma-console-mcp configured",
284
+ "Check for port conflicts: lsof -i :9223-9232 | grep LISTEN",
285
+ "Restart your AI client — the MCP server starts automatically",
286
+ ],
287
+ };
288
+ }
289
+ if (isTimeout) {
290
+ return {
291
+ layer: 2,
292
+ type: 'BRIDGE_COMMAND_TIMEOUT',
293
+ canRetry: true,
294
+ recoverySteps: [
295
+ "The plugin may be unresponsive — close and reopen the Desktop Bridge plugin in Figma",
296
+ "If the issue persists, restart Figma Desktop",
297
+ "Call figma_get_status with probe:true to verify the connection",
298
+ ],
299
+ };
300
+ }
301
+ return {
302
+ layer: isNoClient ? 2 : 2,
303
+ type: isNoClient ? 'BRIDGE_NOT_CONNECTED' : 'BRIDGE_ERROR',
304
+ canRetry: !isNoClient,
305
+ recoverySteps: [
306
+ "Open Figma Desktop with your target file",
307
+ "Go to Plugins → Development → Figma Desktop Bridge",
308
+ "Click 'Run' to open the plugin",
309
+ "Wait 3 seconds, then call figma_get_status with probe:true to verify",
310
+ ],
311
+ };
242
312
  }
243
313
  /**
244
314
  * Get the current Figma file URL from the best available source.
@@ -1024,7 +1094,9 @@ If Design Systems Assistant MCP is not available, install it from: https://githu
1024
1094
  }
1025
1095
  });
1026
1096
  // Tool 7: Get Status (with setup validation)
1027
- this.server.tool("figma_get_status", "Check connection status to Figma Desktop. Reports transport status and connection health via the Desktop Bridge plugin (WebSocket transport).", {}, async () => {
1097
+ this.server.tool("figma_get_status", "Check connection status to Figma Desktop. Reports transport status and connection health via the Desktop Bridge plugin (WebSocket transport). Use probe:true for an active roundtrip verification that the plugin is actually responding.", {
1098
+ probe: z.boolean().optional().describe("When true, sends a live roundtrip command to the plugin to verify the connection is actually responsive (not just TCP-open). Returns probeResult with success/latency. Recommended for health checks."),
1099
+ }, async ({ probe }) => {
1028
1100
  try {
1029
1101
  // Check WebSocket availability
1030
1102
  const wsConnected = this.wsServer?.isClientConnected() ?? false;
@@ -1058,6 +1130,50 @@ If Design Systems Assistant MCP is not available, install it from: https://githu
1058
1130
  }
1059
1131
  }
1060
1132
  const setupValid = activeTransport !== "none";
1133
+ // Compute failure layer for machine-readable diagnostics
1134
+ // Layer 1 = MCP server/WS server issue, Layer 2 = plugin bridge not connected
1135
+ const wsServerRunning = this.wsServer?.isStarted() ?? false;
1136
+ const failureLayer = setupValid
1137
+ ? null
1138
+ : !wsServerRunning
1139
+ ? 1
1140
+ : 2;
1141
+ // Active probe: verify the plugin actually responds to commands
1142
+ let probeResult;
1143
+ if (probe) {
1144
+ const probeStart = Date.now();
1145
+ try {
1146
+ const result = await this.wsServer.sendCommand('GET_FILE_INFO', {}, 3000);
1147
+ probeResult = {
1148
+ success: !!(result && result.fileInfo),
1149
+ latencyMs: Date.now() - probeStart,
1150
+ };
1151
+ }
1152
+ catch (probeError) {
1153
+ probeResult = {
1154
+ success: false,
1155
+ latencyMs: Date.now() - probeStart,
1156
+ error: probeError?.message || String(probeError),
1157
+ };
1158
+ }
1159
+ }
1160
+ // Recovery steps for agents to act on programmatically
1161
+ const recoverySteps = setupValid
1162
+ ? undefined
1163
+ : failureLayer === 1
1164
+ ? [
1165
+ "Ensure your AI client (Claude Code, Cursor, etc.) is running with figma-console-mcp configured",
1166
+ "Check if all ports 9223-9232 are occupied: lsof -i :9223-9232 | grep LISTEN",
1167
+ "Kill stale processes if needed: pkill -f figma-console-mcp",
1168
+ "Restart your AI client — the MCP server will start automatically on the next tool call",
1169
+ ]
1170
+ : [
1171
+ "Open Figma Desktop with your target file",
1172
+ "Go to Plugins → Development → Figma Desktop Bridge",
1173
+ "Click 'Run' to open the plugin",
1174
+ "Wait 3 seconds for the WebSocket connection to establish",
1175
+ "Call figma_get_status with probe:true to verify the connection",
1176
+ ];
1061
1177
  return {
1062
1178
  content: [
1063
1179
  {
@@ -1128,10 +1244,14 @@ If Design Systems Assistant MCP is not available, install it from: https://githu
1128
1244
  page: sel.page,
1129
1245
  };
1130
1246
  })(),
1247
+ lastPongAt: this.wsServer?.getActiveClientLastPongAt() ? new Date(this.wsServer.getActiveClientLastPongAt()).toISOString() : undefined,
1131
1248
  },
1132
1249
  },
1133
1250
  setup: {
1134
1251
  valid: setupValid,
1252
+ failureLayer,
1253
+ probeResult,
1254
+ recoverySteps,
1135
1255
  message: activeTransport === "websocket"
1136
1256
  ? this.wsActualPort !== this.wsPreferredPort
1137
1257
  ? `✅ Connected to Figma Desktop via WebSocket Bridge (port ${this.wsActualPort}, fallback from ${this.wsPreferredPort})`
@@ -1262,6 +1382,7 @@ If Design Systems Assistant MCP is not available, install it from: https://githu
1262
1382
  error: error instanceof Error ? error.message : String(error),
1263
1383
  message: "Failed to reconnect to Figma Desktop",
1264
1384
  hint: "Open the Desktop Bridge plugin in Figma",
1385
+ connectionError: this.buildConnectionError(error),
1265
1386
  }),
1266
1387
  },
1267
1388
  ],
@@ -1667,6 +1788,7 @@ Layers: If your code creates helper frames, placeholder nodes, or intermediate l
1667
1788
  error: lastError?.message || "Unknown error",
1668
1789
  message: "Failed to execute code in Figma plugin context",
1669
1790
  hint: "Make sure the Desktop Bridge plugin is running in Figma",
1791
+ connectionError: this.buildConnectionError(lastError),
1670
1792
  }),
1671
1793
  },
1672
1794
  ],
@@ -1705,19 +1827,7 @@ Layers: If your code creates helper frames, placeholder nodes, or intermediate l
1705
1827
  }
1706
1828
  catch (error) {
1707
1829
  logger.error({ error }, "Failed to update variable");
1708
- return {
1709
- content: [
1710
- {
1711
- type: "text",
1712
- text: JSON.stringify({
1713
- error: error instanceof Error ? error.message : String(error),
1714
- message: "Failed to update variable",
1715
- hint: "Make sure the Desktop Bridge plugin is running and the variable ID is correct",
1716
- }),
1717
- },
1718
- ],
1719
- isError: true,
1720
- };
1830
+ return this.bridgeToolError(error, "Failed to update variable", "Make sure the Desktop Bridge plugin is running and the variable ID is correct");
1721
1831
  }
1722
1832
  });
1723
1833
  // Tool: Create a new variable