{"_id":"@10up/block-renderer-mcp-server","_rev":"8-c48909fa8b7ec1becea522b47e4780d6","name":"@10up/block-renderer-mcp-server","dist-tags":{"latest":"0.3.3"},"versions":{"0.1.4":{"name":"@10up/block-renderer-mcp-server","version":"0.1.4","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.1.4","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"be0aaa46431840395ca4a0090586e31c8c76c35e","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.1.4.tgz","fileCount":35,"integrity":"sha512-/LfXVLcj03cEDJJ2SI7oanIZ5n5zhk1cD23VVzL1LUsGa8tXzMgwDgfbTj6wbv1LN34Ufz43slN3pa8ZnYzDEw==","signatures":[{"sig":"MEUCIHGOsyg0l5oBVUfEQ53eq0+PS4FsytRBmBQibcrp9G67AiEA5oREzSmMVlfIyo5XzYgZmXpOW1u5igQ4F/mXCtvK+F8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189952},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},"_resolved":"/private/var/folders/j3/yjw_92c17dxg7b0pcdntvnqh0000gn/T/930af287d3f9a89d23649f5d385a260c/10up-block-renderer-mcp-server-0.1.4.tgz","_integrity":"sha512-/LfXVLcj03cEDJJ2SI7oanIZ5n5zhk1cD23VVzL1LUsGa8tXzMgwDgfbTj6wbv1LN34Ufz43slN3pa8ZnYzDEw==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.7.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"25.3.0","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.1.4","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.4","@10up/block-renderer-validator":"0.1.4","@10up/block-renderer-serializer":"0.1.4","@10up/block-renderer-theme-json":"0.1.4","@10up/block-renderer-preferences":"0.1.4","@10up/block-renderer-block-schemas":"0.1.4","@10up/block-renderer-prompt-generator":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.1.4_1768823487904_0.3274099136566637","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@10up/block-renderer-mcp-server","version":"0.2.0","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.2.0","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"5fd95e909597bcc59379c53b8c43ed7a4a46842e","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.2.0.tgz","fileCount":35,"integrity":"sha512-yX8wJgTEr0/gxZGR9s8k575iMJxxsceLps/LBXayrqwZTXF4E7Hiq61Icco1hdCnByTh6qxR6U0tIz0Ziym4Ag==","signatures":[{"sig":"MEYCIQDlRJIMp5H/FKAnDHE4CcLZgf3IdfcOQTcwQDZ5qTx5ZgIhAJfIlnt/Y32kd8ro7hK2FuVhR/mbV+uAVGpsMXNWjThb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189952},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71f9bbd5-8685-446d-a5e7-526d57c1f8af"}},"_resolved":"/tmp/9d9f932fd1a8bde20370073a395edfa9/10up-block-renderer-mcp-server-0.2.0.tgz","_integrity":"sha512-yX8wJgTEr0/gxZGR9s8k575iMJxxsceLps/LBXayrqwZTXF4E7Hiq61Icco1hdCnByTh6qxR6U0tIz0Ziym4Ag==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.7.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.1.5","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.5","@10up/block-renderer-validator":"0.1.5","@10up/block-renderer-serializer":"0.1.5","@10up/block-renderer-theme-json":"0.1.5","@10up/block-renderer-preferences":"0.1.5","@10up/block-renderer-block-schemas":"0.1.5","@10up/block-renderer-prompt-generator":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.2.0_1768824036969_0.5281990848222236","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@10up/block-renderer-mcp-server","version":"0.2.1","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.2.1","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"1ca3f549e74c62b8b0d99234e2750847ad880bfc","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.2.1.tgz","fileCount":35,"integrity":"sha512-f6mwITvIeAmxYT5QXJP2B7ahp0oi7EOAdp0WamhwCVpFyMR+f/7PukaAP89yEGm/gqw5WIHkaBzHeZLGbYo5Eg==","signatures":[{"sig":"MEUCIQD3CvaV8SEUN6vv2S/3BbBx81eqD5dAQ0U++fDZXTfGNAIgC+tVI3Zfxsn2cLNNVM5f2ZKZk9Uc2vxraWtN+lOoVwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189952},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71f9bbd5-8685-446d-a5e7-526d57c1f8af"}},"_resolved":"/tmp/8d8fcc593ea6bb8f9f13a33b6e9be20f/10up-block-renderer-mcp-server-0.2.1.tgz","_integrity":"sha512-f6mwITvIeAmxYT5QXJP2B7ahp0oi7EOAdp0WamhwCVpFyMR+f/7PukaAP89yEGm/gqw5WIHkaBzHeZLGbYo5Eg==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.7.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.1.6","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.6","@10up/block-renderer-validator":"0.1.6","@10up/block-renderer-serializer":"0.1.6","@10up/block-renderer-theme-json":"0.1.6","@10up/block-renderer-preferences":"0.1.6","@10up/block-renderer-block-schemas":"0.1.6","@10up/block-renderer-prompt-generator":"0.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.2.1_1768824510560_0.8041174055794615","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@10up/block-renderer-mcp-server","version":"0.3.0","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.3.0","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"5f20305e1c595e70cc14b1e56ccd5846f872b015","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.3.0.tgz","fileCount":35,"integrity":"sha512-/+lEeLH1caS6RR7TYrvkGzU05I5K9FdcUvMBorCsH0AxKDADcOcxonlzxEazKhQClJvLSJKv0A1ta/l//3a1yA==","signatures":[{"sig":"MEUCIQCFCgH/o+YMFzsYk3998rp5xLht3cc1GtvIrBX4tVHkiwIgEWWR4DlOELGllWuGf2HIw3JYePXt82XoAIZsaaWYS5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198078},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71f9bbd5-8685-446d-a5e7-526d57c1f8af"}},"_resolved":"/tmp/a9cee0b9c2e93b5078b8ead83abf5435/10up-block-renderer-mcp-server-0.3.0.tgz","_integrity":"sha512-/+lEeLH1caS6RR7TYrvkGzU05I5K9FdcUvMBorCsH0AxKDADcOcxonlzxEazKhQClJvLSJKv0A1ta/l//3a1yA==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.7.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.1.6","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.6","@10up/block-renderer-validator":"0.1.6","@10up/block-renderer-serializer":"0.2.0","@10up/block-renderer-theme-json":"0.1.6","@10up/block-renderer-preferences":"0.1.6","@10up/block-renderer-block-schemas":"0.1.6","@10up/block-renderer-prompt-generator":"0.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.3.0_1768830706611_0.4495396736306585","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@10up/block-renderer-mcp-server","version":"0.3.1","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.3.1","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"5f56b496a36434128279a982b4c6c5c230bbcb5c","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.3.1.tgz","fileCount":35,"integrity":"sha512-XSqyEgNTLLxM5ArzxlZVriX5WRpOZu+0vDOxwiFWGT++fXllpfCeKlgzZWGxp2Mbz79kAdzEnJFRYJB9ypZdrQ==","signatures":[{"sig":"MEUCIB4FTijhNXQDibpTyCqD2aNwdUW4M219rpL6GKYNlfnZAiEAjKA4H+FTUyB+ija3r3pz/3M8+rgv8GWo3465o1P7nL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198078},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71f9bbd5-8685-446d-a5e7-526d57c1f8af"}},"_resolved":"/tmp/e7405d3ed27d0b5fa42ade0d2930dfa3/10up-block-renderer-mcp-server-0.3.1.tgz","_integrity":"sha512-XSqyEgNTLLxM5ArzxlZVriX5WRpOZu+0vDOxwiFWGT++fXllpfCeKlgzZWGxp2Mbz79kAdzEnJFRYJB9ypZdrQ==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.7.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.1.6","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.6","@10up/block-renderer-validator":"0.1.6","@10up/block-renderer-serializer":"0.2.1","@10up/block-renderer-theme-json":"0.1.6","@10up/block-renderer-preferences":"0.1.6","@10up/block-renderer-block-schemas":"0.1.6","@10up/block-renderer-prompt-generator":"0.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.3.1_1768834430222_0.3598401475036934","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@10up/block-renderer-mcp-server","version":"0.3.2","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.3.2","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"137c312baab53e92988b0e841f6504083de9eab4","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.3.2.tgz","fileCount":35,"integrity":"sha512-+n0fWVrMhLf6VlbBRK12jsAriH6PDiLEzWXlK2d8f1MHqabpJdgDLNQ4+PFcPtgzUZSp0Z5P3r7g57EH6QzlFA==","signatures":[{"sig":"MEUCIQDzBgVs+aGSwFXQe59Xz1HZK/GksQUPusKlJrlYc1gZVgIgY9X+wI8WDZQUjnTNYXYPs1QMRHqP7XrHNgtu7MCqIxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198078},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71f9bbd5-8685-446d-a5e7-526d57c1f8af"}},"_resolved":"/tmp/89f8d460080c8d447288bb8863fad89f/10up-block-renderer-mcp-server-0.3.2.tgz","_integrity":"sha512-+n0fWVrMhLf6VlbBRK12jsAriH6PDiLEzWXlK2d8f1MHqabpJdgDLNQ4+PFcPtgzUZSp0Z5P3r7g57EH6QzlFA==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.7.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.1.6","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.6","@10up/block-renderer-validator":"0.1.6","@10up/block-renderer-serializer":"0.2.2","@10up/block-renderer-theme-json":"0.1.6","@10up/block-renderer-preferences":"0.1.6","@10up/block-renderer-block-schemas":"0.1.6","@10up/block-renderer-prompt-generator":"0.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.3.2_1768908185490_0.9632369018236766","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@10up/block-renderer-mcp-server","version":"0.3.3","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"license":"MIT","_id":"@10up/block-renderer-mcp-server@0.3.3","maintainers":[{"name":"fabiankaegy","email":"mail@fabian-kaegy.de"},{"name":"eugene-manuilov","email":"eugene.manuilov@gmail.com"},{"name":"christianc1","email":"christian.m.chung@gmail.com"},{"name":"nicholasio","email":"nicholasio.oliveira@gmail.com"},{"name":"joesnellpdx","email":"joesnellpdx@gmail.com"},{"name":"devinle","email":"devin.leggett@gmail.com"},{"name":"darylldoyle","email":"daryll.doyle@10up.com"}],"homepage":"https://github.com/10up/json-block-renderer#readme","bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"bin":{"block-renderer-mcp":"bin/mcp-server.js"},"dist":{"shasum":"c0bc6cba7972750dabe0607399d31a521edcb8bd","tarball":"https://registry.npmjs.org/@10up/block-renderer-mcp-server/-/block-renderer-mcp-server-0.3.3.tgz","fileCount":35,"integrity":"sha512-bDMqe+x+kRS5pBxFviQtsoTP0MZ57EktNTSVcRBL4f6ck8diJ23CzJpuO6CEXooGQ74s/zS7cdyDf6gGef55zA==","signatures":[{"sig":"MEYCIQD/lPDZ5XvADXOyEPoC9m5/HEAt9xter6QSH5Ey0riPZQIhAKw3k1t9LtMENyGuI6tRTso4Hp27eEA4oU/7vZwTsJSu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209096},"main":"./dist/index.js","type":"module","_from":"file:10up-block-renderer-mcp-server-0.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71f9bbd5-8685-446d-a5e7-526d57c1f8af"}},"_resolved":"/tmp/8112ca3a06b4f06aecba0c7f78106da7/10up-block-renderer-mcp-server-0.3.3.tgz","_integrity":"sha512-bDMqe+x+kRS5pBxFviQtsoTP0MZ57EktNTSVcRBL4f6ck8diJ23CzJpuO6CEXooGQ74s/zS7cdyDf6gGef55zA==","repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.8.0","description":"MCP (Model Context Protocol) server for WordPress block generation","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tsx":"^4.19.0","zod":"^3.24.0","jsdom":"^26.0.0","react":"^18.3.1","chokidar":"^4.0.0","react-dom":"^18.3.1","@wordpress/data":"^10.14.0","@wordpress/hooks":"^4.38.0","@wordpress/blocks":"^14.11.0","@wordpress/element":"^6.38.0","@wordpress/block-library":"^9.38.0","@10up/block-renderer-core":"0.2.0","@modelcontextprotocol/sdk":"^1.12.0","@10up/block-renderer-patterns":"0.1.7","@10up/block-renderer-validator":"0.2.0","@10up/block-renderer-serializer":"0.3.0","@10up/block-renderer-theme-json":"0.1.7","@10up/block-renderer-preferences":"0.1.7","@10up/block-renderer-block-schemas":"0.1.7","@10up/block-renderer-prompt-generator":"0.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.7.0","@types/jsdom":"^21.1.7","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@wordpress/block-editor":"^15.11.0"},"_npmOperationalInternal":{"tmp":"tmp/block-renderer-mcp-server_0.3.3_1769077368791_0.22390287371326734","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-19T11:51:27.759Z","modified":"2026-08-21T19:38:47.017Z","0.1.4":"2026-01-19T11:51:28.063Z","0.2.0":"2026-01-19T12:00:37.105Z","0.2.1":"2026-01-19T12:08:30.759Z","0.3.0":"2026-01-19T13:51:46.750Z","0.3.1":"2026-01-19T14:53:50.407Z","0.3.2":"2026-01-20T11:23:05.627Z","0.3.3":"2026-01-22T10:22:48.936Z"},"bugs":{"url":"https://github.com/10up/json-block-renderer/issues"},"license":"MIT","homepage":"https://github.com/10up/json-block-renderer#readme","keywords":["wordpress","blocks","mcp","model-context-protocol","ai","gutenberg"],"repository":{"url":"git+https://github.com/10up/json-block-renderer.git","type":"git","directory":"packages/mcp-server"},"description":"MCP (Model Context Protocol) server for WordPress block generation","maintainers":[{"email":"mail@fabian-kaegy.de","name":"fabiankaegy"},{"email":"eugene.manuilov@gmail.com","name":"eugene-manuilov"},{"email":"christian.m.chung@gmail.com","name":"christianc1"},{"email":"nicholasio.oliveira@gmail.com","name":"nicholasio"},{"email":"joesnellpdx@gmail.com","name":"joesnellpdx"},{"email":"devin.leggett@gmail.com","name":"devinle"},{"email":"daryll.doyle@10up.com","name":"darylldoyle"},{"email":"jeffpaul@hotmail.com","name":"jeffpaul"}],"readme":"# @10up/block-renderer-mcp-server\n\nModel Context Protocol (MCP) server for AI assistant integration. Enables AI assistants like Claude to render and validate WordPress blocks.\n\n## Installation\n\n```bash\nnpm install @10up/block-renderer-mcp-server\n# or\npnpm add @10up/block-renderer-mcp-server\n```\n\n## Overview\n\nThis package provides an MCP server that exposes:\n\n1. **Tools** - Actions AI can perform (render, validate, generate prompt)\n2. **Resources** - Data AI can read (blocks, tokens, patterns, preferences)\n\nWorks with:\n- Claude Desktop\n- Cursor IDE\n- Any MCP-compatible client\n\n## Usage\n\n### Start Server Programmatically\n\n```typescript\nimport { runMcpServer } from '@10up/block-renderer-mcp-server';\n\nawait runMcpServer({\n  theme: parsedTheme,\n  patterns: patternRegistry,\n  preferences: userPreferences,\n  wpContentPath: '/path/to/wp-content',\n  themeName: 'my-theme'\n});\n```\n\n### Create Server Without Running\n\n```typescript\nimport { createMcpServer } from '@10up/block-renderer-mcp-server';\n\nconst server = createMcpServer({\n  theme: parsedTheme,\n  patterns: patternRegistry,\n});\n\n// Connect to custom transport\nserver.connect(myTransport);\n```\n\n### Server Configuration\n\n```typescript\ninterface McpServerConfig {\n  /** Block catalog (auto-generated if theme provided) */\n  catalog?: BlockCatalog;\n  /** Parsed theme with tokens */\n  theme?: ParsedTheme;\n  /** Pattern registry */\n  patterns?: PatternRegistry;\n  /** User preferences */\n  preferences?: BlockPreferencesConfig;\n  /** Path to wp-content for third-party block scanning */\n  wpContentPath?: string;\n  /** Theme name for block scanning */\n  themeName?: string;\n}\n```\n\n## CLI Usage\n\n```bash\n# Using workspace config from a specific directory\nnpx @10up/block-renderer-mcp-server --config /path/to/project\n\n# Using workspace config from current directory\nnpx @10up/block-renderer-mcp-server\n\n# With theme (bypasses workspace config)\nnpx @10up/block-renderer-mcp-server --theme /path/to/theme\n\n# Disable file watching\nnpx @10up/block-renderer-mcp-server --config /path/to/project --no-watch\n```\n\n### CLI Options\n\n| Option | Description |\n|--------|-------------|\n| `-c, --config <path>` | Path to workspace directory containing `.block-renderer/config.json` |\n| `-t, --theme <path>` | Path to WordPress theme directory |\n| `-p, --preferences <path>` | Path to preferences file |\n| `-i, --ignite` | Enable Ignite WP mode (fluid tokens, typography presets) |\n| `-P, --pretty` | Format rendered block markup with indentation |\n| `--no-watch` | Disable file watching for auto-refresh |\n| `-h, --help` | Show help message |\n\n## Workspace Configuration\n\nInstead of passing CLI arguments, you can configure the MCP server via a config file in your project root. This is the recommended approach for per-project setups.\n\n### Config File Location\n\nCreate `.block-renderer/config.json` in your project directory:\n\n```json\n{\n  \"themePath\": \"./wp-content/themes/my-theme\",\n  \"ignite\": true,\n  \"prettyPrint\": true,\n  \"preferencesPath\": \"./block-preferences.json\"\n}\n```\n\n### Config Options\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `themePath` | `string` | **Required.** Path to WordPress theme directory (relative to project root) |\n| `patternsDir` | `string` | Path to patterns directory (relative to project root, defaults to `themePath/patterns`) |\n| `ignite` | `boolean` | Enable Ignite WP mode for fluid tokens and typography presets |\n| `prettyPrint` | `boolean` | Format rendered block markup with indentation |\n| `preferencesPath` | `string` | Path to preferences file (relative to project root) |\n\n### Path Resolution\n\nAll paths in the config file are resolved relative to the **project root** (the directory containing `.block-renderer/`), not relative to the config file itself.\n\nFor example, with this structure:\n```\nmy-project/                          # Project root\n├── .block-renderer/\n│   └── config.json                  # themePath: \"./wp-content/themes/my-theme\"\n└── wp-content/\n    └── themes/\n        └── my-theme/\n```\n\nThe `themePath` of `./wp-content/themes/my-theme` resolves to `/path/to/my-project/wp-content/themes/my-theme`.\n\n### Config Priority\n\nCLI arguments take precedence over config file settings:\n\n1. **CLI only**: Uses CLI arguments\n2. **Config file only**: Uses config file\n3. **Both**: CLI arguments override config file values\n\n## Auto-Refresh (File Watching)\n\nThe MCP server automatically watches for file changes and reloads data when:\n\n| File Pattern | Refreshes |\n|--------------|-----------|\n| `theme.json` | Theme tokens, colors, typography, spacing |\n| `styles/*.json` | Style variations, section styles |\n| `patterns/*.php` | Pattern registry |\n| `**/block.json` | Block catalog (theme + plugins) |\n| `block-preferences.json` | User preferences |\n\nChanges are debounced (300ms) to batch rapid file saves. After refresh, MCP clients are notified via `resourceListChanged` notification.\n\n### Disabling File Watching\n\nUse `--no-watch` flag to disable:\n\n```bash\nnpx @10up/block-renderer-mcp-server --no-watch\n```\n\n## Client Configuration\n\n### Recommended: Per-Project Configuration\n\nThe recommended approach is to use **per-project MCP configs**. This allows each project to have its own block-renderer configuration without hardcoding paths in global config files.\n\n#### Setup Steps\n\n1. **Create workspace config** in your project root:\n\n```\nyour-project/\n├── .block-renderer/\n│   └── config.json      # Theme path and options\n├── .cursor/\n│   └── mcp.json         # MCP server definition (for Cursor)\n├── .claude/\n│   └── settings.json    # MCP server definition (for Claude Code)\n└── wp-content/\n    └── themes/\n        └── your-theme/\n```\n\n2. **Create `.block-renderer/config.json`** with your theme settings:\n\n```json\n{\n  \"themePath\": \"./wp-content/themes/your-theme\",\n  \"ignite\": true,\n  \"prettyPrint\": true\n}\n```\n\n3. **Create the MCP client config** for your IDE (see below).\n\nWhen the MCP server starts, it reads `.block-renderer/config.json` from the current working directory (your project root) and resolves all paths relative to that directory.\n\n### Cursor IDE (Per-Project)\n\nCreate `.cursor/mcp.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"block-renderer\": {\n      \"command\": \"npx\",\n      \"args\": [\"@10up/block-renderer-mcp-server\"]\n    }\n  }\n}\n```\n\nWhen you open the project folder in Cursor, the MCP server starts with that folder as the working directory and automatically finds `.block-renderer/config.json`.\n\n### Claude Code (Per-Project)\n\nCreate `.claude/settings.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"block-renderer\": {\n      \"command\": \"npx\",\n      \"args\": [\"@10up/block-renderer-mcp-server\"]\n    }\n  }\n}\n```\n\n### Claude Desktop\n\nClaude Desktop requires a global config. Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"block-renderer\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@10up/block-renderer-mcp-server\",\n        \"--config\",\n        \"/absolute/path/to/your/project\"\n      ]\n    }\n  }\n}\n```\n\n**Note:** Claude Desktop doesn't support per-project configs, so you must use `--config` with an absolute path. For multi-project setups, you may need to update this path when switching projects.\n\n### Global Config (Not Recommended)\n\nYou can add the MCP server to your global Cursor config at `~/.cursor/mcp.json`, but this requires hardcoding the project path:\n\n```json\n{\n  \"mcpServers\": {\n    \"block-renderer\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@10up/block-renderer-mcp-server\",\n        \"--config\",\n        \"/absolute/path/to/project\"\n      ]\n    }\n  }\n}\n```\n\nThis approach is **not recommended** because:\n- The path only works for one project\n- You must update it when switching between projects\n- Per-project configs are more portable and don't require absolute paths\n\n## Available Tools\n\n### render_blocks\n\nConvert JSON block tree to WordPress markup.\n\n**Input:**\n```json\n{\n  \"blockTree\": {\n    \"root\": \"para-1\",\n    \"elements\": {\n      \"para-1\": {\n        \"key\": \"para-1\",\n        \"type\": \"core/paragraph\",\n        \"props\": { \"content\": \"Hello world\" }\n      }\n    }\n  }\n}\n```\n\n**Output:**\n```\n<!-- wp:paragraph -->\n<p>Hello world</p>\n<!-- /wp:paragraph -->\n```\n\n### validate_tree\n\nValidate block structure and return errors.\n\n**Input:**\n```json\n{\n  \"blockTree\": {\n    \"root\": \"para-1\",\n    \"elements\": {\n      \"para-1\": {\n        \"key\": \"para-1\",\n        \"type\": \"core/paragraph\",\n        \"props\": {\n          \"content\": \"Hello\",\n          \"style\": { \"color\": { \"background\": \"var:preset|color|invalid\" } }\n        }\n      }\n    }\n  }\n}\n```\n\n**Output (valid):**\n```\nBlock tree is valid.\n```\n\n**Output (invalid):**\n```\nValidation errors:\n- Unknown color token: invalid\n```\n\n### generate_prompt\n\nGenerate AI system prompt with current configuration.\n\n**Input:**\n```json\n{\n  \"compact\": true\n}\n```\n\n**Output:**\n```\n# WordPress Block Generation\n\nYou are generating WordPress blocks using a JSON format...\n```\n\n### refresh_catalog\n\nManually reload blocks, patterns, and theme tokens from disk. Usually not needed as files are watched automatically, but useful as a fallback when changes aren't detected.\n\n**Input:**\n```json\n{\n  \"what\": [\"blocks\", \"patterns\", \"tokens\", \"preferences\"]\n}\n```\n\nOr refresh everything:\n```json\n{\n  \"what\": [\"all\"]\n}\n```\n\n**Output:**\n```\nRefreshed: blocks, patterns, tokens, preferences\nCounts: blocks: 45, thirdPartyBlocks: 5, patterns: 12, colors: 8\n```\n\n**Note:** This tool is only available when the server is started with workspace configuration (either via config file or CLI). In legacy mode (no configuration), this tool returns an error.\n\n## Available Resources\n\n### blocks://catalog\n\nList of available WordPress blocks with their attributes and constraints.\n\n```\nURI: blocks://catalog\nMIME: text/markdown\n\nReturns documentation of all registered blocks including:\n- Block name and title\n- Available attributes with types\n- Nesting constraints (parent, ancestor, allowedBlocks)\n- Whether block is dynamic\n```\n\n### tokens://colors\n\nColor presets from the configured theme.\n\n```\nURI: tokens://colors\nMIME: text/markdown\n\nReturns:\n- Color name and slug\n- Hex value\n- CSS variable reference (var:preset|color|{slug})\n```\n\n### tokens://typography\n\nTypography presets from the theme.\n\n```\nURI: tokens://typography\nMIME: text/markdown\n\nReturns:\n- Font sizes with slugs and values\n- Font families with CSS font stacks\n```\n\n### patterns://list\n\nAvailable block patterns from the theme.\n\n```\nURI: patterns://list\nMIME: text/markdown\n\nReturns:\n- Pattern slug and title\n- Categories\n- Description\n```\n\n### preferences://current\n\nCurrent user preferences configuration.\n\n```\nURI: preferences://current\nMIME: application/json\n\nReturns the loaded preferences object.\n```\n\n## Third-Party Block Support\n\nWhen `wpContentPath` and `themeName` are provided, the server automatically scans and registers third-party blocks from:\n\n- `wp-content/plugins/*/`\n- `wp-content/mu-plugins/*/`\n- `wp-content/client-mu-plugins/*/`\n- `wp-content/themes/{themeName}/blocks/`\n\nThis enables AI to generate markup for custom blocks like `tenup/tabs`, `acf/custom-block`, etc.\n\n## Complete Exports\n\n### Functions\n\n| Function | Description |\n|----------|-------------|\n| `createMcpServer(config)` | Create MCP server instance |\n| `runMcpServer(config)` | Run server with stdio transport |\n| `loadMcpConfig(cliArgs, cwd)` | Load and merge workspace config with CLI args |\n| `loadWorkspaceConfigFromFile(cwd)` | Load raw workspace config from file |\n| `mergeConfigs(fileConfig, cliArgs, cwd)` | Merge file config with CLI args |\n| `resolveConfig(rawConfig, configDir)` | Resolve relative paths to absolute |\n| `hasWorkspaceConfig(cwd)` | Check if workspace config exists |\n| `createFileWatcher(manager, config)` | Create file watcher for auto-refresh |\n\n### Classes\n\n| Class | Description |\n|-------|-------------|\n| `CatalogManager` | Manages catalog state with refresh capabilities |\n| `FileWatcher` | Watches files and triggers catalog refresh |\n\n### Types\n\n| Type | Description |\n|------|-------------|\n| `McpServerConfig` | Server configuration options |\n| `CreateMcpServerResult` | Result from createMcpServer |\n| `RunMcpServerResult` | Result from runMcpServer |\n| `RawWorkspaceConfig` | Raw config as stored in file |\n| `ResolvedMcpConfig` | Resolved config with absolute paths |\n| `CliArgs` | CLI argument interface |\n| `RefreshResult` | Result of a refresh operation |\n| `WatchConfig` | File watcher configuration |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}