{"_id":"@autopus/figma-mcp","_rev":"15-2128a33a1b884df5a453c659e0121d18","name":"@autopus/figma-mcp","dist-tags":{"latest":"0.5.0"},"versions":{"0.3.0":{"name":"@autopus/figma-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.0","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/auto-discription#readme","bugs":{"url":"https://github.com/Insajin/auto-discription/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"c66e8a5f254816ee1fb36ead6b5f649e9ead558e","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.0.tgz","fileCount":213,"integrity":"sha512-4VVrflsntEw75X6ltbeH0KqENj8EO+Gp3CpmQ8u3LoivEARbHIn0D+HBHZszdk989jHx1Qi8EDIS3rlZlgkQGA==","signatures":[{"sig":"MEYCIQD906YxuCnbQr8wjfvXSVaKlxxR0+KK+HRSnImPCX6e+QIhAMwXjiHVCsits051K2yNjpnHJc+3ykFPnjzTXO3/4OIa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738598},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"3005e341ee9064112752457972fc193d7c3cc2c8","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/auto-discription.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.0_1779861386686_0.1432046587747018","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@autopus/figma-mcp","version":"0.3.1","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.1","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/auto-discription#readme","bugs":{"url":"https://github.com/Insajin/auto-discription/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"b1f34f3b31731ca3018588d74572ad1aec0a65b1","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.1.tgz","fileCount":261,"integrity":"sha512-ZdU1JFHpK/DWDIFdxmJL2tBcenTP5OcAVDWkmtwca+YVJynWrJ6FD4K81KbnTSzN9qumb9vFKa7iLGBp6FJ/gQ==","signatures":[{"sig":"MEQCIHzH7kYM4YswwurP5TvNb+lroNxZD6qYNd2Zu0NjDyDhAiAs7KnY5WVZUZkg/q2i6Bf2HAfc/pHuLslcC/xdJlcddw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":805660},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"0e4a980918a8bcca522723faedbb11c49ffd12e3","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/auto-discription.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.1_1779862135251_0.2317592623217648","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@autopus/figma-mcp","version":"0.3.2","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.2","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/auto-discription#readme","bugs":{"url":"https://github.com/Insajin/auto-discription/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"643b32de61d4e0724038578d4ffee95c87a9674a","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.2.tgz","fileCount":261,"integrity":"sha512-MDSpIelkTIfRVUSEBfpjJQRvFEyydGKmF+QyhVei9am33OgdO4tQUKTAsmxLKgkjgQqcfNDtewVUyl+Ugh3RUQ==","signatures":[{"sig":"MEUCIEsTnLWgVl0mnPXRjv65mvAIq/9GVPAK5meTI2Cf4QpFAiEAzUHXcuw9b1kYhuZBWg30LBIk+ivCH6Ed5TMHPbM/f54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":816716},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"6c204a10ea5b5e54f656b075c48a79c656d741ce","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"deprecated":"Security (C-1): 0.3.2 uses a fixed, guessable relay channel (default 'autopus') — any local process could inject design mutations. Upgrade to 0.3.3+, which binds the relay to a per-session secret channel.","repository":{"url":"git+https://github.com/Insajin/auto-discription.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.2_1779869067805_0.32482977056761286","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@autopus/figma-mcp","version":"0.3.3","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.3","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/auto-discription#readme","bugs":{"url":"https://github.com/Insajin/auto-discription/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"9ec9c263f154d5195961e34e4e59ed8f7c99d506","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.3.tgz","fileCount":261,"integrity":"sha512-LLB2rAdVLUJNy5zIF3dYYvcqGnNXfnI44BzpSDJnNW6dNJzIuszZRuJP/sLFb6j/O59rElta8n9+XqGrvCp2qg==","signatures":[{"sig":"MEQCIGKhWHOBXfkMDYGIkbb99EJJUa87ni58p6ra3aGKZyIXAiARyXnE5EOzA0zrztkSF7bGfuqpuzG+mXf+HlUVhyd1hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":836624},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"7cdf794cd2d3a9fdaee86a484df19d39f2397e0c","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/auto-discription.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.3_1780310823434_0.5409852115150284","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@autopus/figma-mcp","version":"0.3.4","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.4","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"c9b4b6ede8d0a8be27eecd433d77f85203f87845","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.4.tgz","fileCount":261,"integrity":"sha512-dU4foatJQX+mCkvPeC3oMa8JuQnrT3tALoM2wTtdcqFcgQSW7Za3tRTK6eO6pytPq3LG6IRcYcnqLMNyjwITGw==","signatures":[{"sig":"MEQCIHZd/CXrwwU1fVPnzsAh99cCsWvJ2lOtSrWk15yqHMcfAiBwalH5I/ym4jZLj+33iz5zl88Z6tJAYQETmwrSQEmE6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":839994},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"8a52ddc209caf31b2e03669b0780e628a62f8f94","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.4_1780534566760_0.9759546399640984","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@autopus/figma-mcp","version":"0.3.5","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.5","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"9c1cae3c104f0d55ebe0161a973cb314db80ff55","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.5.tgz","fileCount":261,"integrity":"sha512-GKJVE+t/9hRpW5Qu+HOT/cgUWI3ShVHCSnsLOZa0cKEMTHpLc71np4l0oGfrr2/gHzJSpoXb2Xr2uPxGr4hlew==","signatures":[{"sig":"MEUCIQCMnQ6VFyzp5/LpAm9fUfwmQ17Roc1M7WMq+gho6IWFcAIgL/Mew78IYu24Unc5hWZupFMyMdkQgzavtYoos2gO9M8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":844164},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"06cf535f38ab338f725430717398f2a7e2da9844","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.5_1780536825350_0.6788065379329138","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@autopus/figma-mcp","version":"0.3.6","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.6","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"fe60464f570aa8c1a6b46b8599c5c47fb14952d4","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.6.tgz","fileCount":261,"integrity":"sha512-E6dVJ/Efdfn1u0rNSagrXZGGons3t6MGE4tiuDhjPxC0rEIhf4j6I5zL1ekJ5UgOiBPCu4XldXfgaBIjapqqGw==","signatures":[{"sig":"MEUCIQCPBRGFby+ga2EyOT+UAF4pNgKJEcbDqYyDf7I9a8c0RwIgZbOYkRqjI+BylTn8ecyrxkvwqIO+8I6oo9TzKlyhhQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853525},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"68c72bbe8360376b6b86dc1184dbaf45014999a6","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.6_1780540010822_0.09000337072229048","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@autopus/figma-mcp","version":"0.3.7","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.7","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"ab0d4934ffe6fe2ff5b2142b143b9889d1c1bb87","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.7.tgz","fileCount":261,"integrity":"sha512-hfbdWnCxtkQvicT4Vf/cPq2mvYZVGGENoexoqYsjhBdaqQ0vE+hNf2gWUgp+AeJPLzOzh1r74Ob/N0CzWG2wAg==","signatures":[{"sig":"MEYCIQDf5H87KCPsHpUfzaZ8g74KbcC1INgaPIzy1VkCXseoAwIhANir3hNkRvPTsLBJ4uxSxJ3woUBOtn7krHX7is5S6r9x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":860574},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"ee7d4b367966a5ebeb0128db5549d0f3964f4aab","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.7_1780551498010_0.3467679476772949","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@autopus/figma-mcp","version":"0.3.8","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.8","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"b74a1afc0c8467fe7990b60d4d98007143453d9c","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.8.tgz","fileCount":261,"integrity":"sha512-9693c9I8ywQtP/czWZ0ZcvmQuGY6QqU3Ex0UCYBWj6DrwHXr+nYgf9E1tu3GpKTYzpEnJ5+HT615fa73ZweCDg==","signatures":[{"sig":"MEQCIDqZBexkCGj8dsQnuetb2yi0Mw/gWtZmAgtFmIjxeSLsAiBmFqpDZXxy9dTHsxAdTZ65My9qo3TZ7KRbQoBjNTE3hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":864143},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"524506a5d21c13bf0cfecb55b2cbf66b8b6f8852","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.8_1780553222147_0.028344598722092273","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@autopus/figma-mcp","version":"0.3.9","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.9","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"3d9c9f246e1c49b63081ee42a9f84d715f10369d","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.9.tgz","fileCount":261,"integrity":"sha512-iNVwp1JLAeWYUcuWX8t41c6/e40e8KXW9j32Z8xbTneFJubXHmdNsCOCJ9gob5MLzM4M0pS0FP7bFoPkqBoPMg==","signatures":[{"sig":"MEUCIQDJeajGapcKce8wQUU1J4GTui98BvGjurO1FO/cA6c07AIgBUulMXphAfWrPc40fXvLiZK5bXYmksrhVpLPw7MrrnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":870140},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"848605b57dec04358dffed487f0f41e32725103e","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.9_1780554440428_0.3026725090400104","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@autopus/figma-mcp","version":"0.3.10","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.10","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"554ebbb5ee040a1d2d5d341d7a63856aeb398463","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.10.tgz","fileCount":261,"integrity":"sha512-mryIkLpzAUrA4n0JtpnUOLdA561FvvKwptZXY4cxhAcWa8b1L6vAIkn0D/9+47aZspqm7bpXqVFMZ8vvMx377g==","signatures":[{"sig":"MEUCIQD+g2w2Qt5kEpkUPpPRPYnWYAzNSTaBNM2TK6sFUtBfNwIgYD2rISi/WkyBWhD61KzXuZZNxX/0X12loFFTG8k/pIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":870880},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"3177e52c7d2b1c1f8634df618d1c4548c8c303b2","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","build:mcpb":"node scripts/build-mcpb.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.10_1780555286908_0.19015091295243236","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@autopus/figma-mcp","version":"0.3.12","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.3.12","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"9481348d709788b10d514451eea922f50a046107","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.3.12.tgz","fileCount":280,"integrity":"sha512-ADzYx+FW8CDlecEyP6sYfvogmYDraejC7LnvVkY9XXGTQTfOqdudIF6k0+M0PJsnbTV5zRZI1TE7LnICSwbZOQ==","signatures":[{"sig":"MEUCIAfyy+ZD140oBc0v/4bdmTVfZmtdpAGeDxYb8+cbuv6dAiEAuBExR9QlbTGHjNXTx48PWZbdtQTmmoFS4RdPNFWRbOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":961872},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"8618aa72926aff178efbf622148a9a2a25f901fd","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","build:mcpb":"node scripts/build-mcpb.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.3.12_1781003370519_0.030068054312640813","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@autopus/figma-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"author":{"name":"Bitgapnam"},"license":"MIT","_id":"@autopus/figma-mcp@0.4.0","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"homepage":"https://github.com/Insajin/autopus-description#readme","bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"bin":{"figma-read":"dist/src/cli.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","generate-descriptions":"dist/src/cli/generate-descriptions.js"},"dist":{"shasum":"18de19a73f7da356eb68b7646cbbf6d493156ea2","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.4.0.tgz","fileCount":296,"integrity":"sha512-Bb2TbTwg2PTkC80/V62G4lmBlp99gYyGb0tHFd1PVpb8RyfvMVFSbu+IUdnKr+TNSq1YGCSsyPJA3Obh4cYVvA==","signatures":[{"sig":"MEUCIEjuE6kPK82I0ll1jiOETdBruyqmpvWHAnjotw0x2ALNAiEAwetnuKQW6b3ra0pcpPOFNgyFFfqQyAyNIwat7y7Pmo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1008496},"main":"./dist/src/cli.js","type":"module","types":"./dist/src/cli.d.ts","engines":{"node":">=22.0.0"},"gitHead":"e673615bd5e9a4178e36c7e8461eb8ab294ee29c","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --reporter=default","build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","build:mcpb":"node scripts/build-mcpb.mjs","test:watch":"vitest","prepublishOnly":"npm run lint && npm run build && npm test"},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"overrides":{"next":{"postcss":"^8.5.14"},"postcss":"^8.5.14"},"repository":{"url":"git+https://github.com/Insajin/autopus-description.git","type":"git"},"workspaces":["apps/*","packages/*","tools/validate-manifest"],"_npmVersion":"10.9.8","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","openai":"^6.36.0","@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","vitest":"^4.1.5","@types/ws":"^8.18.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitest/coverage-v8":"^4.1.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/figma-mcp_0.4.0_1781059820395_0.15605565279187683","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@autopus/figma-mcp","version":"0.5.0","description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","type":"module","license":"MIT","author":{"name":"Bitgapnam"},"homepage":"https://github.com/Insajin/autopus-description#readme","repository":{"type":"git","url":"git+https://github.com/Insajin/autopus-description.git"},"bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"workspaces":["apps/*","packages/*","tools/validate-manifest"],"bin":{"figma-read":"dist/src/cli.js","generate-descriptions":"dist/src/cli/generate-descriptions.js","autopus-daemon":"dist/src/daemon/cli.js","autopus-mcp-stdio":"dist/src/daemon/mcp-stdio-entry.js","autopus-mcp-http":"dist/src/daemon/mcp-http-entry.js"},"main":"./dist/src/cli.js","publishConfig":{"access":"public","provenance":true},"scripts":{"build":"npm run build --workspace @autopus/validate-manifest && tsc -p tsconfig.json && node scripts/prepend-shebang.mjs && node scripts/build-figma-plugin.mjs","build:mcpb":"node scripts/build-mcpb.mjs","test":"vitest run --reporter=default","test:watch":"vitest","lint":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run lint && npm run build && npm test"},"engines":{"node":">=22.0.0"},"dependencies":{"@anthropic-ai/sdk":"^0.95.0","@modelcontextprotocol/sdk":"^1.13.1","openai":"^6.36.0","ws":"^8.21.0"},"devDependencies":{"@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.5","esbuild":"^0.28.0","jsdom":"^29.1.1","typescript":"^6.0.3","vitest":"^4.1.5"},"overrides":{"postcss":"^8.5.14","next":{"postcss":"^8.5.14"}},"_id":"@autopus/figma-mcp@0.5.0","gitHead":"b0015be565ed63f81846be60512592595afdaff8","types":"./dist/src/cli.d.ts","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-6mq6R3ySOqNAQVk0fscovucx8Ev0xTqDSMxZTnrCvKqPwcvgbYoem/9b7Ntcdz7/UVhZcig9XgZUWoFntFBshw==","shasum":"ee0b6e20cf82bbb2341eff24f8a96abf86e2fa55","tarball":"https://registry.npmjs.org/@autopus/figma-mcp/-/figma-mcp-0.5.0.tgz","fileCount":300,"unpackedSize":1059032,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@autopus%2ffigma-mcp@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEQS7peb7p/PchBMuOjMXNCyR6QNknMdJBz2msD019+uAiEAx4xA0LtgPfygkbVxBG9TnH/w4ll8Xq+q1nqxayMMSc0="}]},"_npmUser":{"name":"bitgapnam","email":"bitgapnam@gmail.com"},"directories":{},"maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/figma-mcp_0.5.0_1781092383526_0.7431229762113969"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-27T05:56:26.432Z","modified":"2026-06-10T11:53:04.049Z","0.3.0":"2026-05-27T05:56:26.907Z","0.3.1":"2026-05-27T06:08:55.448Z","0.3.2":"2026-05-27T08:04:28.063Z","0.3.3":"2026-06-01T10:47:03.565Z","0.3.4":"2026-06-04T00:56:06.993Z","0.3.5":"2026-06-04T01:33:45.611Z","0.3.6":"2026-06-04T02:26:51.168Z","0.3.7":"2026-06-04T05:38:18.173Z","0.3.8":"2026-06-04T06:07:02.389Z","0.3.9":"2026-06-04T06:27:20.595Z","0.3.10":"2026-06-04T06:41:27.084Z","0.3.12":"2026-06-09T11:09:30.706Z","0.4.0":"2026-06-10T02:50:20.643Z","0.5.0":"2026-06-10T11:53:03.767Z"},"bugs":{"url":"https://github.com/Insajin/autopus-description/issues"},"author":{"name":"Bitgapnam"},"license":"MIT","homepage":"https://github.com/Insajin/autopus-description#readme","keywords":["mcp","model-context-protocol","figma","autopus","claude","codex","cursor","anthropic","ai","description-generator","design-handoff"],"repository":{"type":"git","url":"git+https://github.com/Insajin/autopus-description.git"},"description":"MCP server for the Autopus Figma description workflow — read frames, generate descriptions, manage briefs, write back via plugin bridge.","maintainers":[{"name":"bitgapnam","email":"bitgapnam@gmail.com"}],"readme":"<div align=\"center\">\n\n<img src=\"docs/assets/hero-banner.png\" alt=\"Autopus Description — 让你的 AI 智能体读懂设计并撰写说明\" width=\"100%\" />\n\n# 🐙 @autopus/figma-mcp\n\n**直接在 AI 客户端中读取 Figma 框架，生成可审计的设计说明。**\n\n这是一个用于 Autopus Figma **说明工作流**的 [MCP](https://modelcontextprotocol.io) 服务器。它让 AI 客户端（Claude Code、Codex CLI、Cursor）能够读取 Figma 框架、生成带人物标签的说明、管理项目简报，并在获得插件明确授权后将经过审批的说明结果写回 Figma。\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![npm](https://img.shields.io/npm/v/@autopus/figma-mcp.svg)](https://www.npmjs.com/package/@autopus/figma-mcp)\n[![Node](https://img.shields.io/badge/node-%3E%3D22-3c873a.svg)](https://nodejs.org)\n[![MCP](https://img.shields.io/badge/MCP-compatible-6E56CF.svg)](https://modelcontextprotocol.io)\n\n[English](README.md) · [한국어](README.ko.md) · **简体中文** · [日本語](README.ja.md)\n\n</div>\n\n---\n\n## 这是什么？（30 秒速览）\n\n设计师描述界面，这些知识通常会淹没在聊天记录和过时文档中。本包将每个 Figma 框架转化为**结构化、可评审、可版本化的说明** — *包括界面用途、交互行为及边界情况* — 并将审批后的结果写回 Figma，使文件始终作为唯一可信来源。\n\n> 🧭 **官方 Figma MCP 的配套工具。** 官方 [`figma`](https://www.figma.com/) MCP 服务器负责**设计创建**（`use_figma`、`generate_figma_design`、`generate_figma_library`、`generate_diagram`）。本包负责**说明工作流** — *每个框架的含义*，以及如何以可审计的方式将这些知识写回 Figma。两者相辅相成，建议同时安装。\n\n| 您的身份… | 从这里开始 |\n|------------|------------|\n| 🎨 **设计师**（无需编码） | [设计师专区](#-设计师专区无需编码) → 然后查看[完整操作指南](docs/guides/designer-figma-mcp-guide.zh-CN.md) |\n| 💻 **开发者** | [安装](#-安装开发者) → [快速开始](#-快速开始) |\n| 🧑‍💼 **产品经理 / 测试人员** | [说明工作流](#-说明工作流) |\n\n## 🎬 实际使用流程（示例）\n\n假设一位产品经理需要为某结账应用的**登录**界面编写说明，让工程师和测试人员清楚地了解其预期行为。以下是完整流程，按照您在 Claude Code（或 Codex / Cursor）中实际输入的方式呈现：\n\n**1. 创建项目简报**\n> 💬 *\"Initialize a project brief for `checkout-app`.\"*\n\nClaude 执行 `init_project_brief { project_slug: \"checkout-app\" }` 并创建 `.autopus/runs/checkout-app/project-brief.json`。随后您们通过对话共同填写内容 — 目标用户、产品目标、语气风格 — **无需**在 Figma 内操作。\n\n**2. 定位目标框架**\n> 💬 *\"List the frames in Figma file `aBcD1234`, then show me the Login frame's metadata.\"*\n\nClaude 执行 `figma_list_frames { file_id: \"aBcD1234\" }` → `figma_get_frame_meta`，返回框架的结构、截图、导航关系和源哈希值。\n\n**3. 生成说明**\n> 💬 *\"Generate a description for the Login frame.\"*\n\nClaude 执行 `generate_description { file_id: \"aBcD1234\", node_id: \"12:345\" }` 并返回一个*待审批*说明 — 此时尚未写入 Figma：\n\n```\nFrame: Login\nPurpose: 在结账前对回访用户进行身份验证。\nBehavior: 邮箱 + 密码；\"忘记密码\"打开重置流程；\n          凭据无效时在字段下方显示内联错误提示。\nEdge cases: 账户锁定、会话过期、SSO 回退。\nSuccess: 用户跳转至购物车且商品保持完整。\n```\n\n**4. 产品经理评审**\n> 💬 *\"Preview pending `p-7f3a`.\"*\n\n`preview_description { pending_id: \"p-7f3a\" }` 渲染 Markdown 视图供评审。产品经理可按需调整措辞。\n\n**5. 审批并写回**\n> 💬 *\"Approve `p-7f3a` and apply it.\"*\n\n`approve` → `apply { pending_id: \"p-7f3a\", source_hash_recomputed: \"...\" }`。此时 — 也只有在此时 — 说明才会**通过插件的授权门控**写入 Figma 文件。设计师将看到其出现在框架上。\n\n**6. 反悔了？**\n> 💬 *\"Undo that write.\"*\n\n`undo { write_id: \"w-91c2\" }` — 单步回滚。\n\n> 🔁 **需要一次性为整个文件生成说明？** 将第 3 步替换为 `submit_batch_lane { file_id, node_ids: [...] }`，即可在一次操作中为多个框架生成说明，然后统一评审并审批。\n\n➡️ 如需不含叙述的纯工具调用序列，请参阅下方的[设计说明工作流](#-说明工作流)。\n\n## 目录\n\n- [🎬 实际使用流程（示例）](#-实际使用流程示例)\n- [✨ 功能特性](#-功能特性)\n- [🎨 设计师专区（无需编码）](#-设计师专区无需编码)\n- [📦 安装（开发者）](#-安装开发者)\n- [🚀 快速开始](#-快速开始)\n- [🧰 MCP 工具接口](#-mcp-工具接口)\n- [🔄 说明工作流](#-说明工作流)\n- [🏗️ 架构](#️-架构)\n- [🤝 配套工具](#-配套工具)\n- [🛠️ 开发](#️-开发)\n- [🔒 安全](#-安全)\n- [📄 许可证](#-许可证)\n\n## ✨ 功能特性\n\n- **框架智能解析** — 从任意框架中提取元数据、截图、导航结构、设计令牌和源哈希值。\n- **说明生成** — 使用 mock、Anthropic 或 OpenAI 提供商生成带人物标签的说明。\n- **产品经理可评审的输出** — 支持预览、编辑、审批、应用和撤销，并保留完整审计追踪。\n- **Schema 驱动的清单** — 基于 JSON Schema 和确定性夹具进行验证。\n- **双传输模式** — 支持长连接 stdio 服务器或回环 HTTP/SSE。\n- **安全性设计** — 传输层自动脱敏密钥，写操作需经插件明确授权。\n\n## 🎨 设计师专区（无需编码）\n\n仅需两个组件 — 一个 Figma 插件 + 一个本地助手（即本包）：\n\n1. **Figma 插件** — 从 Figma 社区安装 **Autopus Description**（Figma → 插件 → 搜索），或在开发者模式下导入 `dist/plugin/manifest.json`（插件审批通过前可用）。\n2. **本地助手（一键安装）** — 从[最新版本](https://github.com/Insajin/autopus-description/releases/latest)下载 `autopus-description.mcpb`，然后 **Claude Desktop → 设置 → 扩展 → 安装扩展**。无需 Node / npm / JSON — Node 已随 Claude Desktop 一起提供。\n3. **连接** — 在 Figma 中运行插件，粘贴助手显示的频道密钥（问 Claude *\"what's the figma channel secret?\"*），然后点击**连接**。\n\n> ℹ️ **我要找的是哪个插件？** 在 Figma 插件列表中，它显示为 **Autopus Description** — *不是* `@autopus/figma-mcp`（那是 npm / MCP 服务器，不是 Figma 插件）。如果您看到的是 **Cursor MCP Plugin**，或者 manifest 的 `allowedDomains` 中出现了 `google-analytics.com`，说明您误导入了打包的上游 `vendor/` manifest — 请将其删除，然后导入 `dist/plugin/manifest.json`。\n\n📖 **完整操作指南：** [docs/guides/designer-figma-mcp-guide.zh-CN.md](docs/guides/designer-figma-mcp-guide.zh-CN.md)\n\n## 📦 安装（开发者）\n\n```bash\nnpm install -g @autopus/figma-mcp\n```\n\n安装后将提供五个 CLI 可执行文件：\n\n| 可执行文件 | 用途 |\n|--------|---------|\n| `autopus-mcp-stdio` | 长连接 MCP 服务器（stdio 传输），适用于 Claude / Codex / Cursor |\n| `autopus-mcp-http` | 回环 HTTP/SSE MCP 变体 |\n| `autopus-daemon` | Figma 插件桥接的后台守护进程 |\n| `generate-descriptions` | CLI 批量生成器（Figma → 说明清单 JSON） |\n| `figma-read` | CLI 只读 Figma 快照工具 |\n\n## 🚀 快速开始\n\n### Claude Code\n\n```bash\nclaude mcp add autopus-figma -- autopus-mcp-stdio\n```\n\n或添加到 `~/.config/claude/mcp_servers.json`：\n\n```json\n{\n  \"autopus-figma\": {\n    \"command\": \"autopus-mcp-stdio\",\n    \"env\": {\n      \"FIGMA_TOKEN\": \"figd_...\",\n      \"AUTOPUS_AUDIT_DIR\": \"~/.autopus\"\n    }\n  }\n}\n```\n\n### Codex CLI\n\n添加到 `~/.codex/config.toml`：\n\n```toml\n[mcp_servers.autopus_figma]\ncommand = \"autopus-mcp-stdio\"\nargs = []\n\n[mcp_servers.autopus_figma.env]\nFIGMA_TOKEN = \"figd_...\"\nAUTOPUS_AUDIT_DIR = \"/Users/<you>/.autopus\"\n```\n\n> 💡 `FIGMA_TOKEN` 是您的 Figma 个人访问令牌（`figd_...`）。在 **Figma → 设置 → 安全 → 个人访问令牌** 处创建。请妥善保管 — 它授权访问您的文件。\n\n## 🧰 MCP 工具接口\n\n`autopus-mcp-stdio` 在 4 个层级中最多提供 **26 个工具**。额外层级仅在启动时连接相应依赖后激活。\n\n| 层级 | SPEC | 工具 | 始终启用？ |\n|------|------|-------|:----------:|\n| **基础读取** | SPEC-FIGMA-006 / 009 | `get_active_selection`、`get_pending_descriptions`、`get_audit_events`、`get_stale_frames` | ✅ |\n| **基础写入** | SPEC-FIGMA-011 | `plan_emit`、`dryRun`、`approve`、`apply`、`undo` | 连接 writeExtension 后启用 |\n| **Figma 读取 + 验证** | SPEC-FIGMA-014 | `figma_list_frames`、`figma_get_frame_meta`、`figma_export_image`、`figma_get_prototype_graph`、`validate_manifest` | 连接 figmaAdapter 后启用 |\n| **单帧生成** | SPEC-FIGMA-014 | `generate_description` | 连接 descriptionGenerator 后启用 |\n| **项目简报** | SPEC-FIGMA-015 | `get_project_brief`、`validate_project_brief`、`init_project_brief`、`update_project_brief` | 设置 briefWorkspaceRoot 后启用 |\n| **运营管理** | SPEC-FIGMA-016 | `get_batch_status`、`get_generation_mode`、`preview_description`、`get_daemon_status`、`submit_batch_lane`、`force_generation_mode` | 连接 p2Context 后启用 |\n\n📋 完整工具列表、不变量及配置示例请参见 [`docs/runbooks/figma-014-mcp-expansion.md`](docs/runbooks/figma-014-mcp-expansion.md)。\n\n## 🔄 说明工作流\n\n```\n初始化简报 → 填写简报 → 验证 → 检查框架 → 生成 → 预览 → 审批 → 应用 → 撤销\n```\n\n1. **`init_project_brief { project_slug: \"myproj\" }`** — 生成 `.autopus/runs/myproj/project-brief.json` 模板。\n2. 与相关方（产品经理 / 设计师 / 开发者 / 测试人员）在对话中填写简报 — 不在 Figma 内部操作。\n3. **`validate_project_brief { brief_path }`** — 确认必填字段已填写。\n4. **`figma_list_frames { file_id }`** 然后 **`figma_get_frame_meta`** — 检查目标框架。\n5. **`submit_batch_lane { file_id, node_ids }`**（多帧）或 **`generate_description { file_id, node_id }`**（单帧）。\n6. **`preview_description { pending_id }`** — Markdown 视图供产品经理评审。\n7. **`approve { pending_id }`** → **`apply { pending_id, source_hash_recomputed }`** — 通过插件写入 Figma。\n8. **`undo { write_id }`** — 单步回滚。\n\n## 🏗️ 架构\n\n```\nClaude Code / Codex CLI / Cursor\n            │ MCP (stdio / http)\n            ▼\n   autopus-mcp-stdio  (this package)   ← policy / authoring boundary\n            │ WebSocket\n            ▼\n   Figma Plugin  (autopus_*.ts, MIT-vendored)   ← consent boundary\n            │\n            ▼\n        Figma file\n```\n\nMCP 服务器是**策略 / 创作边界**。Figma 插件是**授权边界** — 只有经过插件明确审批（`approve` → `apply`）后才会执行写操作。隧道 URL 和密钥在 MCP 传输层被脱敏处理（`INV-W2`、`INV-TUNNEL-REDACT`）。\n\n## 🤝 配套工具\n\n- **官方 Figma MCP** — 负责设计创建（`use_figma`、`generate_figma_design`、`generate_figma_library`、`generate_diagram`）。设计师工作流请单独安装。\n- **`@autopus/validate-manifest`** — 说明清单格式的 JSON Schema 验证器（工作区包，作为传递依赖项提供）。\n\n## 🛠️ 开发\n\n```bash\nnpm install\nnpm run build       # compiles TypeScript + prepends shebang to bin entries\nnpm test            # vitest suite\nnpm run lint        # tsc --noEmit\n```\n\n## 🔒 安全\n\n- 所有出站 MCP `text` 内容在传输前均通过 `redact()` 处理（`INV-W2`）。\n- Figma 令牌从环境变量读取，从不记录日志。\n- 项目简报路径限制在 `.autopus/runs/` 目录下（`INV-BRIEF-PATH`）。\n- 隧道 URL 在 `get_daemon_status` 中被脱敏（`INV-TUNNEL-REDACT`）。\n- Figma 读取工具仅发出 HTTP GET 请求（`INV-FIGMA-READ`）。\n\n🔐 请通过本仓库的 **GitHub Security Advisories** 报告安全漏洞。\n\n## 📄 许可证\n\nMIT — 详见 [LICENSE](LICENSE)。包含来自 [sonnylazuardi/cursor-talk-to-figma-mcp](https://github.com/sonnylazuardi/cursor-talk-to-figma-mcp) 的 MIT 许可代码，位于 `vendor/` 目录下。\n","readmeFilename":"README.zh-CN.md"}