{"_id":"@airframeui/mcp","_rev":"14-e7b9518bb7b52b54db3fcdd26eed5581","name":"@airframeui/mcp","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.1":{"name":"@airframeui/mcp","version":"0.1.1","keywords":["airframe","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.1.1","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"fabaf846806b5dba269b8aa099b01cbb955016ef","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.1.1.tgz","fileCount":39,"integrity":"sha512-rKdIeLJGNEOvnY/BRxd3HZwVRwkksXLIm3DyAZI913TOrq07KdkmxAV0bCDG6CqXldwRH7z0Q9PEuLOqHF82zg==","signatures":[{"sig":"MEUCIE4L6yLHpvaiZkONX9pVXelxWXDjUaxtfVUAvFnU9e1qAiEA8SaXfWCXoUKTLoJpRQg25RYD5akwjj5Sp2dDOT89P3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82530},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.1.1.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"pnpm build && node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/6db93c23348f3e582097d25e7f1dfb3b/airframeui-mcp-0.1.1.tgz","_integrity":"sha512-rKdIeLJGNEOvnY/BRxd3HZwVRwkksXLIm3DyAZI913TOrq07KdkmxAV0bCDG6CqXldwRH7z0Q9PEuLOqHF82zg==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"MCP server for Airframe UI — on-demand pattern search, markup validation, token lookup, and theme mapping for Cursor and Claude Code","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.1.1","@airframeui/theme":"0.1.1","@airframeui/tokens":"0.1.1","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.1_1786891563327_0.38504956380592703","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@airframeui/mcp","version":"0.1.2","keywords":["airframe","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.1.2","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"cddab40694bc807102f64d6200ad4811a1ffe6b4","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.1.2.tgz","fileCount":39,"integrity":"sha512-CfWWI1iSZirHRoRqw3W7lsk3IZTN8LBqf7MphcCwzSxtFal9/1UuEA5eP4Z6Nid4LrCo2mPLuKpWKbVBPiEmKw==","signatures":[{"sig":"MEYCIQDUMw8C/22t2b0PQicVH9MdI90v9HU3YuULgGl2/XIYvQIhAOuHEJ/ElbhtSD6r1fCAaBjBreqn8OQFyNNc36Gbb5EM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82547},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.1.2.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"pnpm build && node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/ce0aa0034fa03091a2a47031e952b038/airframeui-mcp-0.1.2.tgz","_integrity":"sha512-CfWWI1iSZirHRoRqw3W7lsk3IZTN8LBqf7MphcCwzSxtFal9/1UuEA5eP4Z6Nid4LrCo2mPLuKpWKbVBPiEmKw==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP, a server for on-demand pattern search, markup validation, token lookup, and theme mapping for Cursor and Claude Code","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.1.2","@airframeui/theme":"0.1.2","@airframeui/tokens":"0.1.2","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.2_1786892239279_0.38525156018195683","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@airframeui/mcp","version":"0.1.3","keywords":["airframe","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.1.3","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"317189bcff7377ab48b0838f75047cf828e3abf5","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.1.3.tgz","fileCount":39,"integrity":"sha512-UoKfpuIj1aQd+sIJZJEa0fYc+DPkYpwVt9Gk5F3D2Ot2zleX0S0vXsmv8W/0k0pAZWGVtyZX1qLzWCkxo1oBQA==","signatures":[{"sig":"MEUCIHFr56FnncXYh1Akni6QqVDDah2mktv+qMaGvFfJLNnPAiEA7j23HyflXaJhqWRUvF/qbffTvf8cpE5a7QQpOxOidjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83753},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.1.3.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"pnpm build && node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/c156191c670fa6345b13642c3819f674/airframeui-mcp-0.1.3.tgz","_integrity":"sha512-UoKfpuIj1aQd+sIJZJEa0fYc+DPkYpwVt9Gk5F3D2Ot2zleX0S0vXsmv8W/0k0pAZWGVtyZX1qLzWCkxo1oBQA==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP, a server for on-demand pattern search, markup validation, token lookup, and theme mapping for Cursor and Claude Code","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.1.3","@airframeui/theme":"0.1.3","@airframeui/tokens":"0.1.3","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.3_1786894416431_0.18933665905961616","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@airframeui/mcp","version":"0.1.4","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.1.4","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"eb43e89ea1ee416e66cd04e059b8c6f872db8c1d","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.1.4.tgz","fileCount":39,"integrity":"sha512-W9DdzsPtoRWJCLVohmbzjew7X9PS956KowEgjCvH4RzFy33NNlgeUtMDRuba/prW9f9hglD1CcCDrhZ32h195A==","signatures":[{"sig":"MEYCIQCQ7EMMcsccNHXb/5Bn3WPSlQytHIg2IACOO5SFBGbE8AIhAOk7bVkt6eTLqtTzivlcLFN7dqzqqVBKGC5WcpUaSJNT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86320},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.1.4.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/b47a8105ff41d26873fc3c6555998707/airframeui-mcp-0.1.4.tgz","_integrity":"sha512-W9DdzsPtoRWJCLVohmbzjew7X9PS956KowEgjCvH4RzFy33NNlgeUtMDRuba/prW9f9hglD1CcCDrhZ32h195A==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.1.4","@airframeui/theme":"0.1.4","@airframeui/tokens":"0.1.4","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.4_1786974939031_0.746141631178898","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@airframeui/mcp","version":"0.2.0","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.2.0","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"cd6c7e71d67eb5f491255a9460e93de043b690ba","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.2.0.tgz","fileCount":39,"integrity":"sha512-WlmmkMJhLk1szt5hzZinnpc/unjr3PVS8Kb66Lkr+Y6yVe2PE9e8uy+8VHyNSrh+s+07u8iGxv2VBCznY59Drw==","signatures":[{"sig":"MEYCIQDl88t0dEFh8nJ45uO52X+Gw5XZDCWZLX3ozH2PvpYNygIhAPqQ3Q78gLaTkQWBMr9rUqBaLeqsnosOZigKZjlbIgDR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86574},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.2.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/93a7f92d9cd9fdd2aea35dc92d75b2f8/airframeui-mcp-0.2.0.tgz","_integrity":"sha512-WlmmkMJhLk1szt5hzZinnpc/unjr3PVS8Kb66Lkr+Y6yVe2PE9e8uy+8VHyNSrh+s+07u8iGxv2VBCznY59Drw==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.2.0","@airframeui/theme":"0.2.0","@airframeui/tokens":"0.2.0","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.0_1787064663544_0.7824504791191027","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@airframeui/mcp","version":"0.3.0","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.3.0","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"774685cebc7fd2096d824bf738979eaea1687a74","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.3.0.tgz","fileCount":39,"integrity":"sha512-2m844MEG6+xl4UUOTHsRGE0CkGcTCT79020yc1nfN0A/NsqLZe/P7+w09g1E05JVdP98Zybfnq0ji2p7+BSjJg==","signatures":[{"sig":"MEQCIDSOmHBB74CU2IQ2diJokazA6HXIt10rjPTH1GXUnpvJAiBTDJsd7vewuQwyJr3q4Og+O+20dWVVPA3kNYRxuVJA8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86574},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.3.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/00449b7b2d956fb692f9f7c32c2a6d1a/airframeui-mcp-0.3.0.tgz","_integrity":"sha512-2m844MEG6+xl4UUOTHsRGE0CkGcTCT79020yc1nfN0A/NsqLZe/P7+w09g1E05JVdP98Zybfnq0ji2p7+BSjJg==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.3.0","@airframeui/theme":"0.3.0","@airframeui/tokens":"0.3.0","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.0_1787388435347_0.6968040664089179","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@airframeui/mcp","version":"0.3.1","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.3.1","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"45ac940c3cdd6d994b90a767e1e6228214180210","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.3.1.tgz","fileCount":39,"integrity":"sha512-mis6bYj/ac2EUw3TRTXW7S/Fu8LRp97x6TZsHWBy3u44MieAI/T/PLPbc5VjwYO8i1S1u6kyBzUfhe9uIVv5dg==","signatures":[{"sig":"MEYCIQDRldfI9W5mRP1KegGfenzZoz8eN8c2seyxfUVKTTSuiQIhAPj4G7jcDMBwrUWFuRdBAHUnyjjG/Nzzdvry6d9cLO4b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86574},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.3.1.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/535c44d6b9c5c581f9515fab74ef4a01/airframeui-mcp-0.3.1.tgz","_integrity":"sha512-mis6bYj/ac2EUw3TRTXW7S/Fu8LRp97x6TZsHWBy3u44MieAI/T/PLPbc5VjwYO8i1S1u6kyBzUfhe9uIVv5dg==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.3.1","@airframeui/theme":"0.3.1","@airframeui/tokens":"0.3.1","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.1_1787390676667_0.4713036351721278","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@airframeui/mcp","version":"0.3.2","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.3.2","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"201df10523c83ff8355713e5e40f271537c8e29c","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.3.2.tgz","fileCount":39,"integrity":"sha512-WH+5r8ETkRbv45iJyURU6wgC8QELFQ/yEUWRz1TIAsYJn+m7dzyOvQXVFJP1oOFcpcwj5o102H60PsjciSJ+7w==","signatures":[{"sig":"MEUCIQDErsRGbKHUTDmpiQZm99c80bY8ztUc0m7/M/3QFJXCEwIgG4vqixVZZbIi6790T2V/a5J2909z2UlagWMBXSxCxz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89691},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.3.2.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/52d99e704cdf5cd646abc134f59820c6/airframeui-mcp-0.3.2.tgz","_integrity":"sha512-WH+5r8ETkRbv45iJyURU6wgC8QELFQ/yEUWRz1TIAsYJn+m7dzyOvQXVFJP1oOFcpcwj5o102H60PsjciSJ+7w==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.3.2","@airframeui/theme":"0.3.2","@airframeui/tokens":"0.3.2","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.2_1787406954268_0.11424866009598622","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@airframeui/mcp","version":"0.4.0","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.4.0","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"7ad9a7da483fb48f3fecd1b60c362f72bd469e68","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.4.0.tgz","fileCount":39,"integrity":"sha512-skg8LZuukc8qkQ8AkcTLUaIE6U5tZX8/65GRqS5duYaVgf7ALT+0acl8AIDojFOiMcydPRJC8zcblZh7cxE8Eg==","signatures":[{"sig":"MEYCIQCPSoY9Mc9D0Xv0e60KdiiFeLbr1AytYIR4ySZS8QLoTQIhAPMDsIV1GxyV7HQ/qcYySySOy8M426B0sU4EQ+k2GnpB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90635},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.4.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/f134c9c09c1eca3fdb91f9bda5b8c654/airframeui-mcp-0.4.0.tgz","_integrity":"sha512-skg8LZuukc8qkQ8AkcTLUaIE6U5tZX8/65GRqS5duYaVgf7ALT+0acl8AIDojFOiMcydPRJC8zcblZh7cxE8Eg==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.4.0","@airframeui/theme":"0.4.0","@airframeui/tokens":"0.4.0","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.4.0_1787469487002_0.16876809908814927","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@airframeui/mcp","version":"0.4.1","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.4.1","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"625324f09e586e9547ee43af1583106a2fcb771c","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.4.1.tgz","fileCount":39,"integrity":"sha512-kH5csbStuUALxO+g0OiX7SYp9GUHr5NcRrKeKLF/BRLnydicNWPwnVzqw9rzuWeBLK7ZUn8DKfXcDx3SUtzv2Q==","signatures":[{"sig":"MEUCIQC2TvdtK3hZ9Nt1CtRGYppd08wrewCNtikQQQL8/y/m3QIgFmW9x5qf29gKIt3LLF6rlHjn8oYGmRxpkazu7VB0Hsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91578},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.4.1.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/66f6315051ff68ea4d292661771104b9/airframeui-mcp-0.4.1.tgz","_integrity":"sha512-kH5csbStuUALxO+g0OiX7SYp9GUHr5NcRrKeKLF/BRLnydicNWPwnVzqw9rzuWeBLK7ZUn8DKfXcDx3SUtzv2Q==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.4.1","@airframeui/theme":"0.4.1","@airframeui/tokens":"0.4.1","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.4.1_1787499877537_0.005493331548842129","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@airframeui/mcp","version":"0.4.2","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"license":"MIT","_id":"@airframeui/mcp@0.4.2","maintainers":[{"name":"itodd","email":"itodd@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"0700a334c393285d15c33296b1551e5f798a55c0","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.4.2.tgz","fileCount":39,"integrity":"sha512-PI74I2WxRAW+JCg0KSsFauloFVdkcAu1tKd5d/7zU6XKJq+r+AWiZsziaqDBtzJ543vJESbbnolrtDnBkNmaJw==","signatures":[{"sig":"MEUCIQDWef3XsxRn31m08Zr/KdlP7cBIKLa9+dXln3+vIu4z+wIgWmeM/4YK6cDAdCAGsVrtoz2Y4lEDMVdrnUQ4dw7o+RA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91578},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.4.2.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/58173c1787ef9be86e0fe8c39f1e3788/airframeui-mcp-0.4.2.tgz","_integrity":"sha512-PI74I2WxRAW+JCg0KSsFauloFVdkcAu1tKd5d/7zU6XKJq+r+AWiZsziaqDBtzJ543vJESbbnolrtDnBkNmaJw==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.4.2","@airframeui/theme":"0.4.2","@airframeui/tokens":"0.4.2","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.4.2_1787557331538_0.06341638054509446","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@airframeui/mcp","version":"0.5.0","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"author":{"name":"Airframe","email":"team@airframeui.com"},"license":"MIT","_id":"@airframeui/mcp@0.5.0","maintainers":[{"name":"itodd","email":"itodd+npm@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"8ab000c86d274b600b158cf3e6bca4c947b14e6a","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.5.0.tgz","fileCount":43,"integrity":"sha512-3BgdrwrKuUiO7d6wn2MyBULQ0L83/s4cLJ6WHE4KIKj+9t9uW141X4b6yNtx4XyGhLeH1cfMos+Rt5udypy3DQ==","signatures":[{"sig":"MEUCIBMj1mptWjw7Djf2PpSeisxIx4e4uAr5XTV+DkBfs/37AiEAiD8O6Yuhvb+pDP51ELAmCzAfafFEN9BVUH4TT2cAonk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133244},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.5.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd+npm@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/5a8c527b5573e9bc8b3780f05de68fb0/airframeui-mcp-0.5.0.tgz","_integrity":"sha512-3BgdrwrKuUiO7d6wn2MyBULQ0L83/s4cLJ6WHE4KIKj+9t9uW141X4b6yNtx4XyGhLeH1cfMos+Rt5udypy3DQ==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.5.0","@airframeui/theme":"0.5.0","@airframeui/tokens":"0.5.0","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.5.0_1787658790442_0.6536638367034207","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@airframeui/mcp","version":"0.6.0","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"author":{"name":"Airframe","email":"team@airframeui.com"},"license":"MIT","_id":"@airframeui/mcp@0.6.0","maintainers":[{"name":"itodd","email":"itodd+npm@hotmail.co.uk"}],"homepage":"https://airframeui.com/docs/mcp","bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"bin":{"airframe-mcp":"dist/server.js"},"dist":{"shasum":"569c032f5fc7ea679c3cf939072c00acf86af97c","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.6.0.tgz","fileCount":43,"integrity":"sha512-+DvuLlIYZTzMHnJL7Z21Kt+6oshAeUO0hLvtNoA2z5tS535KpD+8Wu65VpvjSO5luwRjNxoMsl6hNPP5UXryUw==","signatures":[{"sig":"MEYCIQD4MmHhIHigvihxymyzpl728lOucbKEkKFBsY4sQ1ElXAIhAIMmbRrkJaw7caftJuvBH/QjVxjuO80l5JBSYknDznHA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138915},"main":"./dist/server.js","type":"module","_from":"file:airframeui-mcp-0.6.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","build":"tsc -p tsconfig.json","smoke":"pnpm build && node ./dist/stdio-smoke.js","start":"node ./dist/server.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_npmUser":{"name":"itodd","email":"itodd+npm@hotmail.co.uk"},"_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/dd47176e37ecd1ea64507ae348f2e45c/airframeui-mcp-0.6.0.tgz","_integrity":"sha512-+DvuLlIYZTzMHnJL7Z21Kt+6oshAeUO0hLvtNoA2z5tS535KpD+8Wu65VpvjSO5luwRjNxoMsl6hNPP5UXryUw==","repository":{"url":"git+https://github.com/airframeui/airframeui.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"3.25.76","@airframeui/core":"0.6.0","@airframeui/theme":"0.6.0","@airframeui/tokens":"0.6.0","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.6.0_1787847535699_0.799303924206582","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@airframeui/mcp","version":"0.7.0","description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","author":{"name":"Airframe","email":"team@airframeui.com"},"license":"MIT","homepage":"https://airframeui.com/docs/mcp","repository":{"type":"git","url":"git+https://github.com/airframeui/airframeui.git","directory":"packages/mcp"},"bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"type":"module","bin":{"airframe-mcp":"dist/server.js"},"main":"./dist/server.js","types":"./dist/server.d.ts","exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"1.30.0","zod":"3.25.76","@airframeui/core":"0.7.0","@airframeui/theme":"0.7.0","@airframeui/tokens":"0.7.0"},"devDependencies":{"@types/node":"26.2.0","typescript":"6.0.3"},"engines":{"node":">=24.0.0"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsc -p tsconfig.json --watch","lint":"eslint src","test":"node --test dist/**/*.test.js","start":"node ./dist/server.js","smoke":"pnpm build && node ./dist/stdio-smoke.js","inspect":"pnpm build && npx --yes @modelcontextprotocol/inspector node ./dist/server.js"},"_id":"@airframeui/mcp@0.7.0","_integrity":"sha512-ZLpHeUv2w5lUfntM3AY/D2irxz5lPhrZloSAS+MgX+LmNrWEZcA4u+ClPQ4bbLEhoC0NbfHjq+BoPqyEqBQZVw==","_resolved":"/private/var/folders/3z/31jdvz690j13v6kzqwd719yc0000gn/T/5544c96bd1e04a178d8f26f8af35c9a9/airframeui-mcp-0.7.0.tgz","_from":"file:airframeui-mcp-0.7.0.tgz","_nodeVersion":"26.7.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-ZLpHeUv2w5lUfntM3AY/D2irxz5lPhrZloSAS+MgX+LmNrWEZcA4u+ClPQ4bbLEhoC0NbfHjq+BoPqyEqBQZVw==","shasum":"b9966cb5bd8b991e4eafbf65db87f60f3d7ae343","tarball":"https://registry.npmjs.org/@airframeui/mcp/-/mcp-0.7.0.tgz","fileCount":43,"unpackedSize":145000,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDz2l/MS0k5Jtu8FERoFDHIB9jD5LE3u78TJQjG2BjtUgIgcA9P+cf9MOJGc0AyfmbcIGqHnxub7thTX/fpacfRW6w="}]},"_npmUser":{"name":"itodd","email":"itodd+npm@hotmail.co.uk"},"directories":{},"maintainers":[{"name":"itodd","email":"itodd+npm@hotmail.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.7.0_1788002145937_0.7971004253602432"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-16T14:46:03.194Z","modified":"2026-08-29T11:15:46.309Z","0.1.1":"2026-08-16T14:46:03.472Z","0.1.2":"2026-08-16T14:57:19.425Z","0.1.3":"2026-08-16T15:33:36.581Z","0.1.4":"2026-08-17T13:55:39.173Z","0.2.0":"2026-08-18T14:51:03.717Z","0.3.0":"2026-08-22T08:47:15.489Z","0.3.1":"2026-08-22T09:24:36.816Z","0.3.2":"2026-08-22T13:55:54.409Z","0.4.0":"2026-08-23T07:18:07.181Z","0.4.1":"2026-08-23T15:44:37.660Z","0.4.2":"2026-08-24T07:42:11.677Z","0.5.0":"2026-08-25T11:53:10.576Z","0.6.0":"2026-08-27T16:18:55.840Z","0.7.0":"2026-08-29T11:15:46.068Z"},"bugs":{"url":"https://github.com/airframeui/airframeui/issues"},"author":{"name":"Airframe","email":"team@airframeui.com"},"license":"MIT","homepage":"https://airframeui.com/docs/mcp","keywords":["airframe","airframeui","mcp","model-context-protocol","cursor","claude","design-system","css","theme","ai"],"repository":{"type":"git","url":"git+https://github.com/airframeui/airframeui.git","directory":"packages/mcp"},"description":"Airframe UI MCP — stdio server for Cursor, Claude Code, and other MCP hosts. Pattern search, markup validation, token lookup, and theme mapping. Dev dependency or npx.","maintainers":[{"name":"itodd","email":"itodd+npm@hotmail.co.uk"}],"readme":"# @airframeui/mcp\n\nAirframe UI MCP — a stdio server for Cursor, Claude Code, Codex, VS Code, and other hosts. Coding agents look up `af-*` patterns, `--af-*` tokens, and validate markup on demand.\n\nIt reads the catalogs that ship with [`@airframeui/core`](https://www.npmjs.com/package/@airframeui/core) and [`@airframeui/tokens`](https://www.npmjs.com/package/@airframeui/tokens). `search_patterns` / `get_pattern` / `get_example` also match aliases (`app-shell` → `app`, `hr` → `divider`).\n\nTheme tools use [`@airframeui/theme`](https://www.npmjs.com/package/@airframeui/theme).\n\nMCP does not put CSS on the page. Still [install `@airframeui/core`](https://airframeui.com/docs/installation) in the app.\n\nDocs: [Airframe for AI agents](https://airframeui.com/docs/ai-agents) · [airframeui.com/docs/mcp](https://airframeui.com/docs/mcp) · [Changelog](https://airframeui.com/docs/changelog)\n\nRequires Node.js 24 or later. Keep MCP on the same version as `@airframeui/core` so lookups match the CSS in the app.\n\n## Connect\n\nTreat MCP as optional. Cursor project MCP off, cloud agents, and CI often have no Airframe tools — see [Without MCP](#without-mcp).\n\nTwo ways to run the server when you do connect it. **npx** works before `pnpm install`. A **dev dependency** pins MCP in the lockfile next to core (recommended once the app is installed).\n\nEach host has its own config file. Restart the **airframeui** server after saving.\n\n| Host        | File                                          |\n| ----------- | --------------------------------------------- |\n| Cursor      | `.cursor/mcp.json` (or Cursor Settings → MCP) |\n| Claude Code | `.mcp.json`                                   |\n| Codex       | `.codex/config.toml`                          |\n| VS Code     | `.vscode/mcp.json`                            |\n\nCursor also reads `~/.cursor/mcp.json`. Codex also reads `~/.codex/config.toml` (project `.codex/config.toml` only in trusted projects). VS Code uses a top-level `servers` key, not `mcpServers`. Codex is TOML, not JSON.\n\nSame `mcpServers` JSON as Cursor works in Claude Desktop (`claude_desktop_config.json`), Windsurf, and Gemini CLI (`.gemini/settings.json`).\n\n### npx (default — works before install)\n\nPin the version in the args so it matches `@airframeui/core`. `@latest` can drift.\n\n#### Cursor — `.cursor/mcp.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"airframeui\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@airframeui/mcp@0.7.0\"]\n    }\n  }\n}\n```\n\n#### Claude Code — `.mcp.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"airframeui\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@airframeui/mcp@0.7.0\"]\n    }\n  }\n}\n```\n\n#### Codex — `.codex/config.toml`\n\n```toml\n[mcp_servers.airframeui]\ncommand = \"npx\"\nargs = [\"-y\", \"@airframeui/mcp@0.7.0\"]\n```\n\n#### VS Code — `.vscode/mcp.json`\n\n```json\n{\n  \"servers\": {\n    \"airframeui\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@airframeui/mcp@0.7.0\"]\n    }\n  }\n}\n```\n\n### Dev dependency (production pin)\n\nPins MCP in the lockfile next to core:\n\n```bash\nnpm install -D @airframeui/mcp\n```\n\n#### Cursor — `.cursor/mcp.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"airframeui\": {\n      \"command\": \"node\",\n      \"args\": [\"./node_modules/@airframeui/mcp/dist/server.js\"]\n    }\n  }\n}\n```\n\n#### Claude Code — `.mcp.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"airframeui\": {\n      \"command\": \"node\",\n      \"args\": [\"./node_modules/@airframeui/mcp/dist/server.js\"]\n    }\n  }\n}\n```\n\n#### Codex — `.codex/config.toml`\n\n```toml\n[mcp_servers.airframeui]\ncommand = \"node\"\nargs = [\"./node_modules/@airframeui/mcp/dist/server.js\"]\n```\n\n#### VS Code — `.vscode/mcp.json`\n\n```json\n{\n  \"servers\": {\n    \"airframeui\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"./node_modules/@airframeui/mcp/dist/server.js\"]\n    }\n  }\n}\n```\n\n## Use\n\nAsk the coding agent for Airframe markup. It should follow this loop:\n\n```text\nsearch_patterns → get_pattern → get_example → compose af-* → validate_markup\n```\n\nThe UI language is Structure → Patterns → Blocks → Blueprints. [Blocks](https://airframeui.com/blocks) ([llms-blocks.txt](https://airframeui.com/llms-blocks.txt)) and [blueprints](https://airframeui.com/blueprints) are guides. Start from one when it is close, then edit it.\n\nLookup on demand. `get_pattern` is dense by default. When present, read `useCases` / `guidelines` / `criteria` (`must*` are hard; follow `useInstead` / `prefer`). Do not dump catalogs. Do not invent `af-*` or `--af-*` names, a parallel look, or pattern CSS. Compose existing Airframe.\n\n## Tools\n\n| Tool                                              | Use                                                                                                                                   |\n| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |\n| `search_patterns` / `get_pattern` / `get_example` | Patterns, structure, and guide ids (blocks/blueprints → `docsUrl`). Dense `get_pattern` includes `useCases`, `guidelines`, `criteria` |\n| `validate_markup`                                 | Unknown `af-*` / `--af-*`, plus `htmlSemantics` (E/W HTML rules; issues include `ruleId`)                                             |\n| `search_tokens` / `get_token`                     | Unsuffixed `--af-*` names                                                                                                             |\n| `generate_theme` / `lint_theme`                   | Map a foreign token set                                                                                                               |\n\nSkip `list_patterns` / `list_tokens` unless you need an inventory. `map_tokens` / `validate_theme` are available if you need a spec without full generate+lint.\n\nResources: `airframe://ai` (short loop), `airframe://rules` (full contract), `airframe://theme/rules` (theme mapping).\n\n## Without MCP\n\nIf Airframe tools are not connected, do not guess docs URLs. Read the files that ship with `@airframeui/core`:\n\n1. `component-catalog.json` (`@airframeui/core/catalog`) — pattern id, classes, guidance, `useCases` / `guidelines` / `criteria`, `docsUrl`, `htmlSemantics`\n2. `examples.json` (`@airframeui/core/examples`)\n3. `dist/patterns/<id>.css` when the example is not enough\n4. `breaking.json` (`@airframeui/core/breaking`) — version-to-version import/catalog renames (`layouts.css` → `structure.css`)\n\nPattern pages: https://airframeui.com/docs/patterns/{catalogId} (`skip`, `nav-collapse`). That short URL redirects to the nested docs page.\n\n## Versioning\n\nFixed group with `@airframeui/core`, `@airframeui/tokens`, `@airframeui/theme`, `@airframeui/mcp`, `@airframeui/build`, `@airframeui/eslint-plugin`, and [IntelliSense for Airframe](https://marketplace.visualstudio.com/items?itemName=Airframeui.airframe-intellisense).\n\n## Related\n\n- [`@airframeui/core`](https://www.npmjs.com/package/@airframeui/core) — CSS system (install this in the app)\n- [`@airframeui/tokens`](https://www.npmjs.com/package/@airframeui/tokens) — token catalog (installed with core)\n- [`@airframeui/theme`](https://www.npmjs.com/package/@airframeui/theme) — generate and lint `--af-*` CSS from a foreign token file\n- [`@airframeui/build`](https://www.npmjs.com/package/@airframeui/build) — optional PostCSS plugin, `af` CLI, and `af init --agents` (static agent file; complementary to this server)\n- [Airframe for AI agents](https://airframeui.com/docs/ai-agents) — vocabulary, composition, catalogs, endpoints\n- [Packages](https://airframeui.com/docs/packages)\n- [Changelog](https://airframeui.com/docs/changelog)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}