Skip to content

v0.7.0 — multi-agent connect + smarter inference

Choose a tag to compare

@tathagat22 tathagat22 released this 24 May 18:06
· 39 commits to main since this release

Highlights

Two pillars in one release.

🔌 Multi-agent connect

One Figma plugin can now pair with multiple plumb-mcp servers at once — different Claude / Cursor / Windsurf sessions on different projects can share the same Figma file with zero contention.

  • plumb-hello carries a sessionLabel (PLUMB_SESSION_NAME env or basename(cwd)) so the plugin UI shows which project each session is for
  • Plugin scans all 5 bridge ports in parallel and holds N concurrent WebSocket connections — per-row pair / unpair in the plugin UI
  • Per-session request routing via reqId rewrite (independent servers both mint r1; the plugin keeps them straight)
  • Selection / inventory broadcasts fan out to every paired session
  • Global main-thread queue for get-assets and get-screenshot so concurrent exports from two sessions don't fight Figma's IPC
  • Fixed a latent WebSocketServer error-handler crash on port fallback (no-op until 2+ servers ran — exactly the case we now enable)

🧠 Smarter inference

Six new inference signals on every plumb_node response, driven by real-world friction:

Field What it does
inheritedFill Surfaces the nearest ancestor's solid fill when this node has none — saves walking the tree to figure out what shows through
layout.contentMain Main-axis content size when justify is set and there's slack between content and container
iconHint (broadened) Climbs to grandparent when direct siblings have no TEXT label — catches [wrapper > vector] + TEXT button patterns (Edit / Delete / Duplicate)
meta.suspiciousText Single-edit-distance outliers vs a sibling cluster — catches "remainder" in a sea of "reminder", or "Duplucate" (sic)
pattern: "button" Row layout + visual identity + radius + TEXT label → tag it as a button
plumb_node URL routing Pasting a Figma URL now uses the paired plugin (was forcing REST, which 403'd on Free plans)

📖 README rewrite

  • Replaced the 14-row × 4-column competitor comparison table with a 4-line prose pitch
  • Deleted the "Battle-tested · identity withheld" stat block
  • New tagline leads with the verification loop
  • Quick start moved above the tools reference; shows plumb-mcp verify
  • Synced across English, 简体中文, 日本語, 한국어

Deferred to v0.7.1

  • iconHint: "close" from X-stroke geometry — needs plugin to expose vector path data; deferred to avoid name-only false positives

Install

```bash
npm install -g plumb-mcp@0.7.0
```

Then in Figma: re-run the Plumb plugin to pick up the new multi-session UI.