@mp3wizard/figma-console-mcp 1.27.2 β†’ 1.28.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.
Files changed (65) hide show
  1. package/README.md +9 -7
  2. package/dist/apps/design-system-dashboard/mcp-app.html +78 -78
  3. package/dist/apps/token-browser/mcp-app.html +60 -59
  4. package/dist/cloudflare/core/tokens/alias-resolver.js +37 -0
  5. package/dist/cloudflare/core/tokens/formatters/json.js +185 -5
  6. package/dist/cloudflare/core/tokens/formatters/scss.js +251 -3
  7. package/dist/cloudflare/core/tokens/formatters/stubs.js +6 -4
  8. package/dist/cloudflare/core/tokens/formatters/style-dictionary-v3.js +206 -3
  9. package/dist/cloudflare/core/tokens/formatters/tailwind-v3.js +236 -3
  10. package/dist/cloudflare/core/tokens/formatters/tailwind-v4.js +329 -3
  11. package/dist/cloudflare/core/tokens/formatters/tokens-studio.js +249 -3
  12. package/dist/cloudflare/core/tokens/formatters/ts-module.js +197 -3
  13. package/dist/cloudflare/core/tokens/index.js +1 -1
  14. package/dist/cloudflare/core/tokens/parsers/stubs.js +13 -6
  15. package/dist/cloudflare/core/tokens-tools.js +12 -2
  16. package/dist/cloudflare/index.js +3 -3
  17. package/dist/core/tokens/alias-resolver.d.ts +15 -0
  18. package/dist/core/tokens/alias-resolver.d.ts.map +1 -1
  19. package/dist/core/tokens/alias-resolver.js +37 -0
  20. package/dist/core/tokens/alias-resolver.js.map +1 -1
  21. package/dist/core/tokens/formatters/json.d.ts +34 -2
  22. package/dist/core/tokens/formatters/json.d.ts.map +1 -1
  23. package/dist/core/tokens/formatters/json.js +185 -5
  24. package/dist/core/tokens/formatters/json.js.map +1 -1
  25. package/dist/core/tokens/formatters/scss.d.ts +23 -1
  26. package/dist/core/tokens/formatters/scss.d.ts.map +1 -1
  27. package/dist/core/tokens/formatters/scss.js +251 -3
  28. package/dist/core/tokens/formatters/scss.js.map +1 -1
  29. package/dist/core/tokens/formatters/stubs.d.ts +3 -3
  30. package/dist/core/tokens/formatters/stubs.d.ts.map +1 -1
  31. package/dist/core/tokens/formatters/stubs.js +6 -4
  32. package/dist/core/tokens/formatters/stubs.js.map +1 -1
  33. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts +42 -1
  34. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts.map +1 -1
  35. package/dist/core/tokens/formatters/style-dictionary-v3.js +206 -3
  36. package/dist/core/tokens/formatters/style-dictionary-v3.js.map +1 -1
  37. package/dist/core/tokens/formatters/tailwind-v3.d.ts +34 -1
  38. package/dist/core/tokens/formatters/tailwind-v3.d.ts.map +1 -1
  39. package/dist/core/tokens/formatters/tailwind-v3.js +236 -3
  40. package/dist/core/tokens/formatters/tailwind-v3.js.map +1 -1
  41. package/dist/core/tokens/formatters/tailwind-v4.d.ts +38 -1
  42. package/dist/core/tokens/formatters/tailwind-v4.d.ts.map +1 -1
  43. package/dist/core/tokens/formatters/tailwind-v4.js +329 -3
  44. package/dist/core/tokens/formatters/tailwind-v4.js.map +1 -1
  45. package/dist/core/tokens/formatters/tokens-studio.d.ts +41 -1
  46. package/dist/core/tokens/formatters/tokens-studio.d.ts.map +1 -1
  47. package/dist/core/tokens/formatters/tokens-studio.js +249 -3
  48. package/dist/core/tokens/formatters/tokens-studio.js.map +1 -1
  49. package/dist/core/tokens/formatters/ts-module.d.ts +32 -1
  50. package/dist/core/tokens/formatters/ts-module.d.ts.map +1 -1
  51. package/dist/core/tokens/formatters/ts-module.js +197 -3
  52. package/dist/core/tokens/formatters/ts-module.js.map +1 -1
  53. package/dist/core/tokens/index.d.ts +1 -1
  54. package/dist/core/tokens/index.d.ts.map +1 -1
  55. package/dist/core/tokens/index.js +1 -1
  56. package/dist/core/tokens/index.js.map +1 -1
  57. package/dist/core/tokens/parsers/stubs.d.ts +9 -5
  58. package/dist/core/tokens/parsers/stubs.d.ts.map +1 -1
  59. package/dist/core/tokens/parsers/stubs.js +13 -6
  60. package/dist/core/tokens/parsers/stubs.js.map +1 -1
  61. package/dist/core/tokens-tools.d.ts.map +1 -1
  62. package/dist/core/tokens-tools.js +12 -2
  63. package/dist/core/tokens-tools.js.map +1 -1
  64. package/figma-desktop-bridge/code.js +1 -1
  65. package/package.json +18 -4
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
- > **πŸ†• Bidirectional Token Sync (v1.27.0, patched v1.27.1):** Two new tools β€” `figma_export_tokens` and `figma_import_tokens` β€” replace Style Dictionary and Tokens Studio's export pipeline for popular styling methods. Pull every variable across every collection and mode as canonical DTCG JSON + CSS custom properties; edit a hex value in code; push the delta back to Figma. Diff-aware merge produces exactly one API call per changed value, not a full collection rewrite. 103 tools total. [See what's new β†’](CHANGELOG.md#1271---2026-05-16)
11
+ > **πŸ†• Token Sync β€” Full Formatter Coverage (v1.28.0, patched v1.28.1):** `figma_export_tokens` now ships **10 fully-implemented output formats**: DTCG JSON (canonical), CSS custom properties, Tailwind v4 `@theme inline`, Tailwind v3 config, SCSS, TypeScript module, JSON (flat + nested), Style Dictionary v3, and Tokens Studio multi-file. Pull Figma variables and emit code in whatever styling flavor your project uses β€” no Style Dictionary or Tokens Studio install required. Diff-aware merge for round-trip; one Figma API call per changed value, not full rewrites. v1.28.1 fixes four alias-resolution bugs found in live-fire testing against multi-tier semantic-token design systems. 103 tools total. [See what's new β†’](CHANGELOG.md#1281---2026-05-18)
12
12
 
13
13
  ## What is this?
14
14
 
@@ -55,7 +55,7 @@ Figma Console MCP connects AI assistants (like Claude) to Figma, enabling:
55
55
  | Real-time monitoring (console, selection) | βœ… | ❌ | ❌ |
56
56
  | Desktop Bridge plugin | βœ… | βœ… | ❌ |
57
57
  | Requires Node.js | Yes | **No** | No |
58
- | **Total tools available** | **103** | **93** | **9** |
58
+ | **Total tools available** | **103** | **95** | **9** |
59
59
 
60
60
  > **Bottom line:** Remote SSE is **read-only** with ~38% of the tools. **Cloud Mode** unlocks write access from web AI clients without Node.js. NPX/Local Git gives the full 103 tools with real-time monitoring.
61
61
 
@@ -85,7 +85,7 @@ Figma Console MCP connects AI assistants (like Claude) to Figma, enabling:
85
85
 
86
86
  **Claude Code (CLI):**
87
87
  ```bash
88
- claude mcp add figma-console -s user -e FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN_HERE -e ENABLE_MCP_APPS=true -- npx -y figma-console-mcp@latest
88
+ claude mcp add figma-console -s user -e FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN_HERE -e ENABLE_MCP_APPS=true -- npx -y @mp3wizard/figma-console-mcp@latest
89
89
  ```
90
90
 
91
91
  **Cursor / Windsurf / Claude Desktop:**
@@ -97,7 +97,7 @@ Add to your MCP config file (see [Where to find your config file](#-where-to-fin
97
97
  "mcpServers": {
98
98
  "figma-console": {
99
99
  "command": "npx",
100
- "args": ["-y", "figma-console-mcp@latest"],
100
+ "args": ["-y", "@mp3wizard/figma-console-mcp@latest"],
101
101
  "env": {
102
102
  "FIGMA_ACCESS_TOKEN": "figd_YOUR_TOKEN_HERE",
103
103
  "ENABLE_MCP_APPS": "true"
@@ -308,7 +308,7 @@ AI Client β†’ Cloud MCP Server β†’ Durable Object Relay β†’ Desktop Bridge Plugi
308
308
  | Feature | NPX (Recommended) | Cloud Mode | Local Git | Remote SSE |
309
309
  |---------|-------------------|------------|-----------|------------|
310
310
  | **Setup time** | ~10 minutes | ~5 minutes | ~15 minutes | ~2 minutes |
311
- | **Total tools** | **103** | **93** | **103** | **9** (read-only) |
311
+ | **Total tools** | **103** | **95** | **103** | **9** (read-only) |
312
312
  | **Design creation** | βœ… | βœ… | βœ… | ❌ |
313
313
  | **Variable management** | βœ… | βœ… | βœ… | ❌ |
314
314
  | **Component instantiation** | βœ… | βœ… | βœ… | ❌ |
@@ -802,9 +802,11 @@ The architecture supports adding new apps with minimal boilerplate β€” each app
802
802
 
803
803
  ## πŸ›€οΈ Roadmap
804
804
 
805
- **Current Status:** v1.27.1 (Stable) - Production-ready with 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, **103 tools** (Local) / **95 tools** (Cloud) / **9 tools** (Remote read-only), Comments API, cross-MCP identity disambiguation, and MCP Apps.
805
+ **Current Status:** v1.28.1 (Stable) - Production-ready with 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, **103 tools** (Local) / **95 tools** (Cloud) / **9 tools** (Remote read-only), Comments API, cross-MCP identity disambiguation, and MCP Apps.
806
806
 
807
807
  **Recent Releases:**
808
+ - [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.
809
+ - [x] **v1.28.0** - Full formatter coverage for `figma_export_tokens`. Seven new output formats: Tailwind v4 `@theme inline`, Tailwind v3 config, SCSS variables, TypeScript module, JSON flat/nested, Style Dictionary v3, Tokens Studio multi-file. Combined with DTCG + CSS variables, ships **10 fully-implemented output formats** with zero third-party build-tool dependencies. Tool description updated, docs/tools.md table all-green. 22 new Jest tests, 1151 total passing.
808
810
  - [x] **v1.27.1** - Documentation patch. No code behavior changes. Sweeps stale "Phase 1 ships with DTCG only" claims across tool descriptions, error messages, and internal comments after CSS variables formatter and the apply phase shipped during the v1.27.0 dev cycle. Refreshes README banner + capability bullets + roadmap. Adds `Phase 3.5: Stale-Content Audit` to the release runbook so future releases get a strict pre-publish grep sweep across banners, tool descriptions, error messages, source comments, and tool-count consistency.
809
811
  - [x] **v1.27.0** - Bidirectional token sync: `figma_export_tokens` + `figma_import_tokens` replace Style Dictionary and Tokens Studio's export pipeline. Canonical DTCG JSON + CSS custom properties. Diff-aware merge with round-trip ID preservation via `$extensions["figma-console-mcp"]`. Apply phase pushes hex-value edits back to Figma via the plugin bridge. Verified end-to-end against 713-token + 280-token design systems.
810
812
  - [x] **v1.26.0** - Internal cleanup + cross-MCP identity: Local-mode CDP/Puppeteer transport removed entirely (WebSocket-only). `figma_diagnose` tool for designer-readable health checks. Every response tagged `_mcp: "figma-console-mcp"`; errors prefixed `[figma-console-mcp]` so attribution is unambiguous when running multiple Figma MCPs. Plugin status pill now reads `Local Β· ready` / `Cloud Β· ready` / `Local + Cloud Β· ready`. Net diff: βˆ’7,299 lines, plugin re-import optional.
@@ -821,7 +823,7 @@ The architecture supports adding new apps with minimal boilerplate β€” each app
821
823
  - [x] **v1.7.0** - MCP Apps (Token Browser, Design System Dashboard), batch variable operations, design-code parity tools.
822
824
 
823
825
  **Coming Next:**
824
- - [ ] **Token sync Phase 2** - Tailwind v4 `@theme`, SCSS, TypeScript module, Style Dictionary v3 source format, `toCreate` apply orchestration, `toDelete` for `replace` strategy, cross-library variable resolution via `getVariableByIdAsync`.
826
+ - [ ] **Token sync β€” parsers + import-side apply expansion** - Parsers for non-DTCG input (Tokens Studio, CSS vars, Tailwind v4, Tailwind v3 config, SCSS, Style Dictionary v3, JSON flat/nested). Plus `toCreate` apply orchestration, `toDelete` for `replace` strategy, alias-target updates, and cross-library variable resolution via `getVariableByIdAsync` so cross-library aliases render as real `var(--target)` references instead of comments.
825
827
  - [ ] **Component template library** - Common UI pattern generation
826
828
  - [ ] **Visual regression testing** - Screenshot diff capabilities
827
829
  - [ ] **Design linting** - Automated compliance and accessibility checks