{"_id":"@bromso/figma-mcp","_rev":"8-4afc63687a8e2dc8d8de1f92a6cd5837","name":"@bromso/figma-mcp","dist-tags":{"latest":"1.6.0"},"versions":{"1.0.0":{"name":"@bromso/figma-mcp","version":"1.0.0","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.0.0","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"dbf748eb306aff13346befe94f814373c1f66214","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.0.0.tgz","fileCount":7,"integrity":"sha512-xW8AH9X2n+ew+7xPkHxV8OKLa7zNJK1xjQHaBGDxlrADtEi/ZtwOXcM8gMCbpp/Q49FcpkWkJ48w1dUNqon2qg==","signatures":[{"sig":"MEYCIQCHQuEZzfU++s6e4p1ITLUgJgNmcvhhtIPTySgNYLtP7QIhALKKQZ721cvAMAUN96FhksGtxRn8KI7e4nr1E7MK/KSR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1063344},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"c1c559b8224d52ad119019f3af1c8d88a49097f1","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-design":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.0.0_1778169702910_0.8239022938687988","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bromso/figma-mcp","version":"1.1.0","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.1.0","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"16498859dfb83d4da8eb758908098c87df60b0d7","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.1.0.tgz","fileCount":7,"integrity":"sha512-GoAZmuwVQ0cnoYusfETYLv3SmDvoJ/qhpXdp1fUgbztYtoElcwt3ts14nSI8FCIcJO6f4Fr/f9OTdJsoq+VEEg==","signatures":[{"sig":"MEUCIHynNvS/sw28ylQ/Nf7QhpbITjuSA8i83RiMOXilR+jsAiEAwO20m/Dtf8X6wPO811qHfHVdQ74zEREIritqxcyCaT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1123903},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"6e88cc24c72a941c58e1007feac99a220f7bbef4","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-figjam":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@repo/figma-api-client":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.1.0_1778180058570_0.7493794610562039","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bromso/figma-mcp","version":"1.2.0","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.2.0","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"d1d5a5c603ad8ddcee87e311def851265a2f1f80","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.2.0.tgz","fileCount":7,"integrity":"sha512-kk3xVJO6qXuyAfXyLKZQuDcHuJigUPwyeFssyvTiVTlDle2FhCmgGSAGGpHTXQ9RBuDXxKbfEbq/kwYRSikLhA==","signatures":[{"sig":"MEUCIHaxGsWrtsF3dW4XPeTvuP2bOzugTWx1sK/c7U417SJIAiEAlM1aIH0lj2q4m4yoxC/MFwe446a4WVeXm7UyGXl012U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1158051},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"5176b4f35440954dcf967eca0937e0ae280ecc63","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-figjam":"workspace:*","@repo/tools-slides":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@repo/figma-api-client":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.2.0_1778185192756_0.606970710047851","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bromso/figma-mcp","version":"1.3.0","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.3.0","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"c8359cafd253bbf1fca8decb136d14fd20f05115","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.3.0.tgz","fileCount":7,"integrity":"sha512-LRw2qpMM9CwZsbgVZHhiAwR0uOn5miCkJBkI4kSF9fgMxd4JWhXJg7zB/8OpaTiD3DhcKrsiBhAtKdX9/wgBeQ==","signatures":[{"sig":"MEUCIBbN8Noi/F4z+DRzJn0voPQLJLfCvi/OQ1dSFMkHWHQLAiEAnEWCfG920iRFt/ZOzPzD6u9ULlH0+B7LijkjFSsiewg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1201105},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"373df9935f8003cf6ec6df3a272d6e813f6d177b","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-a11y":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-figjam":"workspace:*","@repo/tools-slides":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@repo/figma-api-client":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.3.0_1778189278549_0.5682684181200937","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@bromso/figma-mcp","version":"1.3.1","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.3.1","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"7dd29607c840a46aba650c338a283c684e1de5a1","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.3.1.tgz","fileCount":7,"integrity":"sha512-At00N0kW6Va9xpaWk88AuQu6RX5gTPCIdXVRrbTRELdPVztXYqIcfFv7HaJ1Hs6+k5rbvZ4gFyYUfHvk5OHF6Q==","signatures":[{"sig":"MEUCIDuPSqwHox+3tm2aoQ9udDTUJkCcTIb/a3gAD5QBTIiNAiEAmkHpYYUC2LfuasUh6W16idFboWpczmwqcf4r8S6pG7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1202010},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"4464ddf6de944ffd7b65a4511c79d4c33d10c97b","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-a11y":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-figjam":"workspace:*","@repo/tools-slides":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@repo/figma-api-client":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.3.1_1778191893595_0.590295402611364","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bromso/figma-mcp","version":"1.4.0","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.4.0","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"9ca5ea0ced0d7398076498d4e38b1ce1a20f53d0","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.4.0.tgz","fileCount":7,"integrity":"sha512-mXEJpFoZPEuY7EN+zZkqZ6lN9tMXOfdnmGMTrgU3Ist+9HLQtB7lamq4kJ1eGqE9X+a9qfauqqUCdjbhKCX2Pw==","signatures":[{"sig":"MEYCIQDYoQXuEwBqM8a/zi0Fkj91lqF+t6oBB6xgV4CSRC8eHAIhANNYPnrtM8spVqSBc1T5/pazDDjlC0Dga3M9kU++jsLu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1204701},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"9739e26ba81d4b2ad17b007618ec0ad581d27c5e","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-a11y":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-figjam":"workspace:*","@repo/tools-slides":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@repo/figma-api-client":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.4.0_1778229133460_0.637743383297652","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@bromso/figma-mcp","version":"1.5.0","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"author":{"name":"bromso"},"license":"MIT","_id":"@bromso/figma-mcp@1.5.0","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"homepage":"https://bromso.github.io/bro","bugs":{"url":"https://github.com/bromso/bro/issues"},"bin":{"figma-mcp":"dist/main.js"},"dist":{"shasum":"2aa34cd058e8b8984ee12905302dfdd42490817c","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.5.0.tgz","fileCount":7,"integrity":"sha512-nTWBx7D96xOZ+hghL+H+6o/qQ0H8WCHrwf9lEgHBM9wEeNdoy+yEq756u5VnJfIsYYEyWwptLjDzZcwTAuYmtA==","signatures":[{"sig":"MEQCIGKhiJG5eAMTRQHmF9CNZorehgE4l+3ouK4IdWOkIMnVAiAor4QF0loh5TKmYm4fxS/Aa/nC9853r/hSRqXoWK1TVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1216645},"main":"./dist/main.js","type":"module","engines":{"node":">=20.10.0"},"gitHead":"ef348f8e00dc0c7adbdbb7c76b74dd9c59a5687a","scripts":{"lint":"biome check .","test":"vitest run","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","start":"bun src/main.ts","types":"tsc --noEmit","test:watch":"vitest","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"repository":{"url":"git+https://github.com/bromso/bro.git","type":"git","directory":"apps/mcp-server"},"_npmVersion":"10.8.2","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@repo/protocol":"workspace:*","@repo/transport":"workspace:*","@repo/tools-a11y":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-figjam":"workspace:*","@repo/tools-slides":"workspace:*","zod-to-json-schema":"^3.23.0","@repo/figma-adapter":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-variables":"workspace:*","@repo/figma-api-client":"workspace:*","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","vitest":"4.1.4","@types/ws":"^8.5.13","typescript":"^6.0.0","@types/node":"^25.0.0","@repo/bridge-plugin":"workspace:*","@vitest/coverage-v8":"4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_1.5.0_1778243396118_0.6801072828558359","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@bromso/figma-mcp","version":"1.6.0","description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","homepage":"https://bromso.github.io/bro","repository":{"type":"git","url":"git+https://github.com/bromso/bro.git","directory":"apps/mcp-server"},"bugs":{"url":"https://github.com/bromso/bro/issues"},"license":"MIT","author":{"name":"bromso"},"keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"engines":{"node":">=20.10.0"},"type":"module","main":"./dist/main.js","bin":{"figma-mcp":"dist/main.js"},"scripts":{"test":"vitest run","test:watch":"vitest","types":"tsc --noEmit","lint":"biome check .","start":"bun src/main.ts","build":"bun build src/main.ts --target=node --outdir=dist --external:* && bun run build:plugin","build:plugin":"cd ../bridge-plugin && bun run build && cp -r dist/. ../mcp-server/dist/plugin/","prepublishOnly":"cp ../../README.md ./README.md && cp ../../LICENSE ./LICENSE"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@repo/figma-adapter":"workspace:*","@repo/figma-api-client":"workspace:*","@repo/protocol":"workspace:*","@repo/tools-console":"workspace:*","@repo/tools-design":"workspace:*","@repo/tools-extract":"workspace:*","@repo/tools-figjam":"workspace:*","@repo/tools-a11y":"workspace:*","@repo/tools-rest":"workspace:*","@repo/tools-slides":"workspace:*","@repo/tools-variables":"workspace:*","@repo/transport":"workspace:*","zod":"^3.23.8","zod-to-json-schema":"^3.23.0"},"devDependencies":{"@repo/bridge-plugin":"workspace:*","@types/node":"^25.0.0","@types/ws":"^8.5.13","@vitest/coverage-v8":"4.1.4","typescript":"^6.0.0","vitest":"4.1.4","ws":"^8.18.0"},"publishConfig":{"access":"public"},"_id":"@bromso/figma-mcp@1.6.0","gitHead":"24fa95d82bf1df7085a451a87e1cd34c09b6bff7","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-cCUmYWSD9YEVhFtB5hnn7U2722NKXWDErQ7rZeGQ0fYVDDl0O9PeExtZ+2QaQLhsQeEWrNWavoRZvy4oZIuDEQ==","shasum":"d227b5c98794662dfea3cfd1c969929b22f97f33","tarball":"https://registry.npmjs.org/@bromso/figma-mcp/-/figma-mcp-1.6.0.tgz","fileCount":7,"unpackedSize":1217600,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAcFENquAyMAosSnevwSP2xu7gUa8gfXaGx/e4eEJVFNAiEA58+k0uPka3vJvftrkbxp5DT0n5HtgrKvj3HzZKhCMho="}]},"_npmUser":{"name":"jonasbroms","email":"one_aims.0j@icloud.com"},"directories":{},"maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/figma-mcp_1.6.0_1778439184865_0.4907185554645428"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-07T16:01:42.779Z","modified":"2026-05-10T18:53:05.193Z","1.0.0":"2026-05-07T16:01:43.198Z","1.1.0":"2026-05-07T18:54:18.813Z","1.2.0":"2026-05-07T20:19:52.892Z","1.3.0":"2026-05-07T21:27:58.711Z","1.3.1":"2026-05-07T22:11:33.806Z","1.4.0":"2026-05-08T08:32:13.633Z","1.5.0":"2026-05-08T12:29:56.301Z","1.6.0":"2026-05-10T18:53:05.058Z"},"bugs":{"url":"https://github.com/bromso/bro/issues"},"author":{"name":"bromso"},"license":"MIT","homepage":"https://bromso.github.io/bro","keywords":["figma","mcp","model-context-protocol","ai","claude","cursor","windsurf"],"repository":{"type":"git","url":"git+https://github.com/bromso/bro.git","directory":"apps/mcp-server"},"description":"Bridge between AI MCP clients and Figma. Stdio shim + daemon + bundled bridge plugin.","maintainers":[{"name":"jonasbroms","email":"one_aims.0j@icloud.com"}],"readme":"# @bromso/figma-mcp\n\n> MCP server that lets your AI design in Figma.\n\n[![CI](https://github.com/bromso/bro/actions/workflows/ci.yml/badge.svg)](https://github.com/bromso/bro/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@bromso/figma-mcp)](https://www.npmjs.com/package/@bromso/figma-mcp)\n[![License: MIT](https://img.shields.io/github/license/bromso/bro)](LICENSE)\n![Node](https://img.shields.io/badge/node-%E2%89%A520.10-339933?logo=node.js&logoColor=white)\n![Bun](https://img.shields.io/badge/bun-1.3-f9f1e1?logo=bun)\n\n`figma-mcp` is a Model Context Protocol server that bridges any MCP-aware AI client — Claude Code, Claude Desktop, Cursor, Windsurf, VS Code Copilot — to a running Figma instance. Through a bundled Figma plugin it exposes ~25 tools across selection extraction, variable read/write, console capture, and canvas mutation. Designed for developers who use AI coding agents and design in Figma.\n\n## Quick start\n\n```bash\nnpx @bromso/figma-mcp setup     # detect AI clients, write MCP configs\n# Open Figma desktop and drag-import the bundled plugin\nfigma-mcp doctor                # verify daemon liveness, plugin pairing, configs\n```\n\nFor a step-by-step walkthrough with screenshots, see the [quickstart guide](https://bromso.github.io/bro/docs/getting-started). For per-client install instructions, see the [client matrix](https://bromso.github.io/bro/docs/clients).\n\n## Supported AI clients\n\n| Client            | Config path                                                              | Setup writes                |\n|-------------------|--------------------------------------------------------------------------|-----------------------------|\n| Claude Code       | `~/.claude.json`                                                         | `mcpServers.figma`          |\n| Claude Desktop    | `~/Library/Application Support/Claude/claude_desktop_config.json`*       | `mcpServers.figma`          |\n| Cursor            | `~/.cursor/mcp.json`                                                     | `mcpServers.figma`          |\n| Windsurf          | `~/.codeium/windsurf/mcp_config.json`                                    | `mcpServers.figma`          |\n| VS Code Copilot   | `~/Library/Application Support/Code/User/mcp.json`*                      | `mcpServers.figma`          |\n\n\\* macOS path; Linux uses `~/.config/...`, Windows uses `%APPDATA%`.\n\n`figma-mcp setup --client <id>` configures one client only. `figma-mcp setup --dry-run` previews actions without writing. `figma-mcp setup --cloud` pairs through the optional cloud relay for environments without local IPC.\n\n## What's in the box\n\n- **Stdio shim + per-user daemon.** First invocation forks a daemon; subsequent AI clients reuse it via Unix socket / named pipe.\n- **Bundled bridge plugin.** Drag-imported once; pairs over loopback WebSocket. `figma-mcp --print-path` prints the manifest location for `--open-figma` to reveal in Finder/Explorer.\n- **Optional cloud relay.** Cloudflare Worker + Durable Objects + WebSocket Hibernation. Used when the AI client and the Figma user aren't on the same machine.\n- **Tool packs.** `extract` (selection, components, variables, styles), `variables` (read/write/streamed import), `console` (plugin-sandbox log capture + query), `design` (canvas mutation: shapes, text, fills, components).\n- **`figma-mcp doctor`.** Parallel checks: daemon liveness, plugin pairing, AI-client config drift, recent errors, socket conflicts. `--json` for machine consumption.\n\n## Architecture\n\n```\nAI client (Claude/Cursor/etc.)\n        │\n        │ stdio MCP\n        ▼\n   figma-mcp shim ──────► daemon ◄──── shim ◄── another AI client\n                            │\n                  WebSocket │ (loopback or cloud relay)\n                            ▼\n                  Bridge plugin (Figma sandbox)\n                            │\n                  figma.* API calls\n                            ▼\n                       Figma file\n```\n\nA single daemon multiplexes multiple AI clients onto one bridge-plugin connection. See [Architecture](https://bromso.github.io/bro/docs/architecture) for depth.\n\n## Project layout\n\nThe published artifact is `@bromso/figma-mcp` from `apps/mcp-server`. The repo is a Turborepo monorepo with internal packages for protocol, transport, figma-adapter, and tool packs. See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full layout.\n\n## Versioning\n\nReleases are managed by [Changesets](https://github.com/changesets/changesets). Every user-facing change adds a changeset; merging to `master` triggers the release workflow which version-bumps and publishes to npm. See [CONTRIBUTING.md](./CONTRIBUTING.md#changesets-policy).\n\n## Links\n\n- [Documentation](https://bromso.github.io/bro)\n- [Issues](https://github.com/bromso/bro/issues)\n- [CONTRIBUTING.md](./CONTRIBUTING.md)\n- [LICENSE](./LICENSE)\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}