{"_id":"@blueprint-chart/mcp","_rev":"10-f6f61710f9fe9962e9dbba758612e8ec","name":"@blueprint-chart/mcp","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@blueprint-chart/mcp","version":"0.1.0","author":{"name":"pirhoo"},"license":"MIT","_id":"@blueprint-chart/mcp@0.1.0","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"bin/blueprint-chart-mcp.js"},"dist":{"shasum":"1d16f0494142ffeab9303ae9fc3641beddb5b8a8","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.0.tgz","fileCount":75,"integrity":"sha512-csPAQuv6LKK7PYBisFBWae4nx4au91UVj5jvpPWZAqwlnkAkscuHp/PykOIXIQ8DNKBTM80DNm8TZr3ZJU+e2A==","signatures":[{"sig":"MEUCIQD+InfTOygNHJxVrwTeuL+y4/WEsaKqHFmrqN1gokjftQIgRUFFdfvYcMMUTbmfH7srYi46+2r2ydmfrFYljuQVtTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76652},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dbe89a4427a3c1e955462d4ca902d002ce93450a","scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"pirhoo","email":"promera@icij.org"},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","jsdom":"^26.1.0","@napi-rs/canvas":"^0.1.71","@resvg/resvg-js":"^2.6.2","@blueprint-chart/lib":"0.1.19","@blueprint-chart/docs":"0.1.20","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^21.1.7","typescript-eslint":"^8.59.4","@stylistic/eslint-plugin":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.0_1779617574424_0.10206828053986805","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@blueprint-chart/mcp","version":"0.1.1","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.1","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"73d7a0f6f4710e97c1b3b4927513ba1f3b0932bc","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.1.tgz","fileCount":75,"integrity":"sha512-VP59y/APWTgRvtXiEJa/17MMns7NGB3hvownOLlUTQqKa5Yi438R4RO7ziZKf4wj6hIub6ad84R5IAJcAoBqwg==","signatures":[{"sig":"MEUCICneZu0Dqwy5LJvaVEi8CRdKKhMQ2jjv7qyjIxpqXCZvAiEAzXxBHcs2up1ped7i/qDyrg0TTRIEQM9krXbVCIAf4ag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76651},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.23.8","jsdom":"^26.1.0","@napi-rs/canvas":"^0.1.71","@resvg/resvg-js":"^2.6.2","@blueprint-chart/lib":"0.1.19","@blueprint-chart/docs":"0.1.20","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^21.1.7","typescript-eslint":"^8.59.4","@stylistic/eslint-plugin":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.1_1779617919524_0.7103007331810725","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@blueprint-chart/mcp","version":"0.1.3","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.3","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"037a75a79510457b72ea1142ffc752ce99b503c8","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.3.tgz","fileCount":142,"integrity":"sha512-jre0NT/8E8b9E6EYlM0B8nk1pyReHxzqPX1RYXma5IqkRLr2QFhant0GMZ5BCcuQesPFTtJHSVy5vppcjg8yMw==","signatures":[{"sig":"MEQCICkhZOOmjVE6H2ay8016HEPXIwsRbZ0dj4ybX0dORkcTAiBXsGZwpcyYS41tirhnMGGKNrqvmtykgArcMBEwNFjo3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212036},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.23.8","jsdom":"^26.1.0","@napi-rs/canvas":"^0.1.71","@resvg/resvg-js":"^2.6.2","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"0.1.19","@blueprint-chart/docs":"0.1.20","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^21.1.7","typescript-eslint":"^8.59.4","@stylistic/eslint-plugin":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.3_1780156905765_0.6587666555652454","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@blueprint-chart/mcp","version":"0.1.4","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.4","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"be3fe4bcb88d3854d206fc3c6efc9ebc5e21191a","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.4.tgz","fileCount":166,"integrity":"sha512-Tl2NuWPzJMrhHkXZn+lRBarHz5K5emrxsugmMoLNO6crv3NiyTPqfQGLfIP31PQ5r8G6JL772dVYtzJZrTF9SQ==","signatures":[{"sig":"MEUCIQDSphfs7qxEDtFAOWmzb322yxUKePd6kAEoOhbS9Cb6NAIgFmIFsgu2iorRq1/xQxvitcQXIqp2EMw+hcG1yOVLLbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":252628},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.23.8","jsdom":"^26.1.0","@napi-rs/canvas":"^0.1.71","@resvg/resvg-js":"^2.6.2","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"0.1.25","@blueprint-chart/docs":"0.1.20","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^21.1.7","typescript-eslint":"^8.59.4","@stylistic/eslint-plugin":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.4_1780332901255_0.85898539642784","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@blueprint-chart/mcp","version":"0.1.5","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.5","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"99308c073e3a94be139278a4dc6aa43a15d75976","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.5.tgz","fileCount":179,"integrity":"sha512-ISYlWkieQKwFGnNVsf9PVd0JNTEJ9zEiyc+lRoiuiwWivAzbef6jRSu00CgZpkLylTxkgEfRGY9XLgC039zBXg==","signatures":[{"sig":"MEUCIQDYnDJ0IUsgbPlYgF72u9MSx+Hj/2iIG6VUglgRteKSJgIgO9Ot89YsEs989AajaoP7ucBOrzG+uaGh6XAB2BLFJG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1783445},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc && rm -rf dist/render/fonts && cp -R src/render/fonts dist/render/fonts && node -e \"require('node:fs').accessSync('dist/render/fonts/DejaVuSans.ttf')\"","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.23.8","jsdom":"^26.1.0","lru-cache":"^11.5.1","@napi-rs/canvas":"^0.1.71","@resvg/resvg-js":"^2.6.2","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"^0.1.31","@blueprint-chart/docs":"0.1.31","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^21.1.7","typescript-eslint":"^8.59.4","@stylistic/eslint-plugin":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.5_1780690543542_0.4924993849710513","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@blueprint-chart/mcp","version":"0.1.7","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.7","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"67a5b3cd4430aef2682c6dd78e8935e6b690e625","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.7.tgz","fileCount":179,"integrity":"sha512-arlF7C6KSdbkHoc82H0+dBlIfkkHXCg9gGX3tsTjaBy1BbiSrVfq9vyAk54PWtAxSUdohWVn/y/XbAk+CcwpkQ==","signatures":[{"sig":"MEYCIQC5NPTkkGACthJwG2eFSSTNWoxbG9Lm1iAn62ChfB14ugIhANCvQBd/IF2e8q74SIDpoDkIC1iNFnO2Z09u1N4Su9sZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1783691},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.blueprint-chart/mcp","scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc && rm -rf dist/render/fonts && cp -R src/render/fonts dist/render/fonts && node -e \"require('node:fs').accessSync('dist/render/fonts/DejaVuSans.ttf')\"","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.23.8","jsdom":"^26.1.0","lru-cache":"^11.5.1","@napi-rs/canvas":"^0.1.71","@resvg/resvg-js":"^2.6.2","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"^0.1.32","@blueprint-chart/docs":"0.1.32","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^21.1.7","semantic-release":"^24","typescript-eslint":"^8.59.4","@semantic-release/git":"^10","@semantic-release/exec":"^7","@stylistic/eslint-plugin":"^4.4.1","@semantic-release/changelog":"^6","conventional-changelog-conventionalcommits":"^8"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.7_1781381604679_0.7102078329664914","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@blueprint-chart/mcp","version":"0.1.8","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.8","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"2b160cb05db3443c1590bb37da36ff04db5fca1c","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.8.tgz","fileCount":160,"integrity":"sha512-kmAJlNBOKhHa5uxX/JXAod3BLiJP1tUCtptAkDEd+zVxPNN8MbjAuDrZqhXnmPlDU6Nnr0p6ObbVldDbSm5QhA==","signatures":[{"sig":"MEYCIQCPAg2wxVqlxNc0eBzdPjNroOi7gmcjUzTWsAGlQ5XxfAIhAMJi1SrC7+wBc5Y7sXK5P3rM7KdQDGbIA6PY/KI/LQEC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":293757},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.blueprint-chart/mcp","scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.23.8","lru-cache":"^11.5.1","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"^0.4.0","@blueprint-chart/docs":"0.1.32","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","semantic-release":"^24","typescript-eslint":"^8.59.4","@semantic-release/git":"^10","@semantic-release/exec":"^7","@stylistic/eslint-plugin":"^4.4.1","@semantic-release/changelog":"^6","conventional-changelog-conventionalcommits":"^8"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.8_1782675034370_0.4287344265174189","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@blueprint-chart/mcp","version":"0.1.9","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.1.9","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"589b77746e3af9a3148b6849ddda96ead1812ed6","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.1.9.tgz","fileCount":160,"integrity":"sha512-1Hu13nUBDuBnEC815wv0gTNGQnGf70dthHt2xEbXQMq06SDmI8l+WK1wRYLii62rjYbx9ED9395XDdELHgBSLg==","signatures":[{"sig":"MEMCH1p1Txzt5SeA0QV9Rd1GNUc/8iEOYpW+QEuV8fILjKoCID0H0Gjm/4vu2n2CAHkoISIbKUV1wHdiWw+vFVJUDSi6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":294474},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.blueprint-chart/mcp","scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.23.8","lru-cache":"^11.5.1","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"^0.4.0","@blueprint-chart/docs":"0.1.32","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","semantic-release":"^24","typescript-eslint":"^8.59.4","@semantic-release/git":"^10","@semantic-release/exec":"^7","@stylistic/eslint-plugin":"^4.4.1","@semantic-release/changelog":"^6","conventional-changelog-conventionalcommits":"^8"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.9_1782683786775_0.45514768046314225","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@blueprint-chart/mcp","version":"0.2.0","author":"pirhoo","license":"MIT","_id":"@blueprint-chart/mcp@0.2.0","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"homepage":"https://github.com/blueprint-chart/mcp#readme","bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"dist":{"shasum":"8d45cb06857f39b4f249f0366a48e1702bfebd7f","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.2.0.tgz","fileCount":166,"integrity":"sha512-4W19N+JeP3FtDh9zUzhcXtsmVwK4MF3ofHyRiy7USvcEwQ8gUGZISE+TSouzexa0/3gOAQoCgHHntKzZq1e2yg==","signatures":[{"sig":"MEQCIEvl7mtGHgjV36lPQi17VqUv7HM3qYwqBOa73IZh4fxoAiBLmxs642+B0cpM3n4mjxK3mLDrphr6hV1WQ9WrJIj+Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":331705},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.blueprint-chart/mcp","scripts":{"dev":"tsx src/cli.ts","lint":"eslint .","test":"vitest run","build":"tsc","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/golden"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"repository":{"url":"git+https://github.com/blueprint-chart/mcp.git","type":"git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.23.8","lru-cache":"^11.5.1","zod-to-json-schema":"^3.25.2","@blueprint-chart/lib":"^0.4.0","@blueprint-chart/docs":"0.1.32","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.18.0","vitest":"^3.2.4","@eslint/js":"^9.39.4","typescript":"^5.7.0","@types/node":"^22.10.0","semantic-release":"^24","typescript-eslint":"^8.59.4","@semantic-release/git":"^10","@semantic-release/exec":"^7","@stylistic/eslint-plugin":"^4.4.1","@semantic-release/changelog":"^6","conventional-changelog-conventionalcommits":"^8"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.0_1782719652494_0.4228163266803664","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@blueprint-chart/mcp","mcpName":"io.github.blueprint-chart/mcp","version":"0.2.1","description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","license":"MIT","author":"pirhoo","type":"module","homepage":"https://github.com/blueprint-chart/mcp#readme","repository":{"type":"git","url":"git+https://github.com/blueprint-chart/mcp.git"},"bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"bin":{"blueprint-chart-mcp":"./bin/blueprint-chart-mcp.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public","provenance":true},"dependencies":{"@blueprint-chart/docs":"2.2.0","@blueprint-chart/lib":"^2.2.0","@modelcontextprotocol/sdk":"^1.0.0","lru-cache":"^11.5.1","zod":"^3.23.8","zod-to-json-schema":"^3.25.2"},"devDependencies":{"@eslint/js":"^9.39.4","@semantic-release/changelog":"^6","@semantic-release/exec":"^7","@semantic-release/git":"^10","@stylistic/eslint-plugin":"^4.4.1","@types/node":"^22.10.0","conventional-changelog-conventionalcommits":"^9.3.1","eslint":"^9.18.0","semantic-release":"^25.0.9","tsx":"^4.19.2","typescript":"^5.7.0","typescript-eslint":"^8.59.4","vitest":"^3.2.4"},"engines":{"node":">=22"},"scripts":{"build":"tsc","dev":"tsx src/cli.ts","test":"vitest run","test:watch":"vitest","test:update-golden":"vitest run test/golden -u","lint":"eslint .","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit"},"_nodeVersion":"24.19.0","_id":"@blueprint-chart/mcp@0.2.1","dist":{"integrity":"sha512-7rEYtKVm/glY+yz+Pd610lcCYGXXJ33cEQ9Mkj1h26ikhLsN3HvIiKS+hUpu9chIuV+KbkjLBFPLjT/4Gvv13A==","shasum":"b5e964238afe643c084cf68a6adc1655871b10b0","tarball":"https://registry.npmjs.org/@blueprint-chart/mcp/-/mcp-0.2.1.tgz","fileCount":168,"unpackedSize":339307,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blueprint-chart%2fmcp@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCm3yOw53lF0NrYG48XKoxkOwgsA3pmSzKi/Vh0bootogIhAKMnhA71nAaD/A93kEqeKg0BILzmk/AncvA4b5YmEPD5"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8be87618-40b4-404f-b9e2-5f2431638fe5"}},"directories":{},"maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.2.1_1788019234463_0.0022235247807393943"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-24T10:12:54.265Z","modified":"2026-08-29T16:00:34.996Z","0.1.0":"2026-05-24T10:12:54.587Z","0.1.1":"2026-05-24T10:18:39.664Z","0.1.3":"2026-05-30T16:01:45.932Z","0.1.4":"2026-06-01T16:55:01.454Z","0.1.5":"2026-06-05T20:15:43.733Z","0.1.7":"2026-06-13T20:13:24.954Z","0.1.8":"2026-06-28T19:30:34.513Z","0.1.9":"2026-06-28T21:56:26.887Z","0.2.0":"2026-06-29T07:54:12.683Z","0.2.1":"2026-08-29T16:00:34.603Z"},"bugs":{"url":"https://github.com/blueprint-chart/mcp/issues"},"author":"pirhoo","license":"MIT","homepage":"https://github.com/blueprint-chart/mcp#readme","repository":{"type":"git","url":"git+https://github.com/blueprint-chart/mcp.git"},"description":"Model Context Protocol server for authoring Blueprint Chart .bpc files with LLMs.","maintainers":[{"name":"pirhoo","email":"promera@icij.org"}],"readme":"<p align=\"center\">\n  <a href=\"https://blueprintchart.com\" align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/blueprint-chart/blueprint-chart/main/packages/editor/src/assets/images/blueprint-chart-logo.svg\" width=\"120\" alt=\"blueprint-chart\">\n  </a>\n</p>\n<p align=\"center\"><strong>Model Context Protocol server for authoring Blueprint Chart <code>.bpc</code> files with LLMs, grounded in real dataviz pedagogy with a tight parse + render feedback loop. An open, plain-text chart format an AI can write and any browser can render. Self-contained, no backend, no account required.</strong></p>\n\n<div align=\"center\">\n\n|      | Status |\n| ---: | :--- |\n| **CI checks** | [![Github Actions](https://img.shields.io/github/actions/workflow/status/blueprint-chart/mcp/ci.yml?style=flat-square)](https://github.com/blueprint-chart/mcp/actions/workflows/ci.yml) |\n| **Latest version** | [![Latest version](https://img.shields.io/npm/v/@blueprint-chart/mcp?style=flat-square&color=success)](https://www.npmjs.com/package/@blueprint-chart/mcp) |\n|   **Release date** | [![Release date](https://img.shields.io/github/release-date/blueprint-chart/mcp?style=flat-square&color=success)](https://github.com/blueprint-chart/mcp/releases/latest) |\n|    **Open issues** | [![Open issues](https://img.shields.io/github/issues/blueprint-chart/mcp?style=flat-square&color=success)](https://github.com/blueprint-chart/mcp/issues/) |\n|  **Websites** | [![Editor](https://img.shields.io/badge/Editor-2563A0?style=flat-square)](https://blueprintchart.com) [![Docs](https://img.shields.io/badge/Docs-2563A0?style=flat-square)](https://docs.blueprintchart.com) |\n|    **Smithery** | [![smithery badge](https://smithery.ai/badge/blueprint-chart/remote)](https://smithery.ai/servers/blueprint-chart/remote) |\n\n</div>\n\nThe MCP exposes Blueprint Chart's dataviz handbook, DSL grammar reference, chart-type docs, and canonical samples as MCP resources, plus eleven deterministic tools: `validate_dsl`, `inspect_dsl`, `recommend_chart_type`, `render`, `list_chart_types`, `describe_chart_type`, `get_example`, `get_grammar`, `export_chart`, `search_examples`, and `list_palettes`. Your LLM writes the `.bpc`; the MCP grounds it in real dataviz pedagogy and gives it a tight feedback loop.\n\n## Install\n\n```bash\nnpx @blueprint-chart/mcp           # stdio (for Claude Desktop, Claude Code, Cursor)\nnpx @blueprint-chart/mcp --http    # HTTP/SSE on 127.0.0.1:4321\n```\n\n## Use with Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"blueprint-chart\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@blueprint-chart/mcp\"]\n    }\n  }\n}\n```\n\n## Use with Claude Code\n\n```bash\nclaude mcp add blueprint-chart \\\n  -e BLUEPRINT_CHART_EDITOR_URL=https://blueprintchart.com \\\n  -e BLUEPRINT_CHART_DOCS_URL=https://docs.blueprintchart.com \\\n  -- npx -y @blueprint-chart/mcp\n```\n\n## Tools\n\n| Tool | Purpose |\n| --- | --- |\n| `validate_dsl` | Parse `.bpc`; returns `{ valid, errors[], warnings[] }` — each error has `code`, `message`, `suggestion` |\n| `inspect_dsl` | Parse and summarize: `chartType`, `scenes`, `seriesCount`, `rowCount`, `hasHighlights`, `hasColorizes`, etc. |\n| `recommend_chart_type` | Rank chart types for a given column shape and row count |\n| `render` | Render to SVG (default), PNG, or HTML; with `format:\"png\"` returns an inline image both you and the user can see. Always returns structured frame metadata. When `MCP_PUBLIC_URL` is set, includes `urls` (`{png,svg,bpc}`) — stateless links where the chart data travels inside the URL. Set `modelVisible:false` to drop the inline image from the response entirely, spending no image tokens. Pass `save:<path>` to write the output to disk (requires `MCP_FS_WRITE_DIR`; writes are confined to that directory). Width/height capped at 1600; PNG is 2× retina. |\n| `list_chart_types` | List all renderable chart types (tool equivalent of `bpc://handbook/choosing`) |\n| `describe_chart_type` | Properties, when-to-use, when-NOT-to-use, and data-shape for one chart type (tool equivalent of `bpc://chart-types/{slug}`) |\n| `get_example` | Fetch a canonical `.bpc` sample by chart type or sample name (tool equivalent of `bpc://samples/{id}`) |\n| `search_examples` | Find canonical examples by topic keywords and/or chart type (returns pointers; fetch full DSL with `get_example`) |\n| `get_grammar` | Full DSL syntax reference (tool equivalent of `bpc://grammar`) |\n| `list_palettes` | List named colour palettes with hex colours for `colorPalette` |\n| `export_chart` | Validate a `.bpc` and return shareable URLs plus an inline preview. Returns `{ copyUrl, embedUrl, urls?, frame }` — `copyUrl` is editable in the editor, `embedUrl` is a read-only iframe target, `urls.{png,svg,bpc}` are stateless rendered/source links (when `MCP_PUBLIC_URL` is set). Set `modelVisible:false` to drop the inline preview from the response entirely, spending no image tokens. Requires `BLUEPRINT_CHART_EDITOR_URL`; preview failures never block the export. |\n\nThe discovery tools (`list_chart_types`, `describe_chart_type`, `get_example`, `search_examples`, `get_grammar`, `list_palettes`) let clients without MCP resource support access the same reference material that the `bpc://` URIs expose.\n\n### Saving rendered output\n\nThe `render` tool can write its output to disk via `save: <path>`. This is disabled by default. Set `MCP_FS_WRITE_DIR` to a directory to enable it — ideally an absolute path; a relative value is resolved from the server's working directory at startup. Every write lands inside that directory (a sandbox), so you never have to worry about where a client puts files: relative `save` paths are joined to it, an absolute path already inside it is used as-is, and any other absolute path is re-anchored under it (the leading slash is stripped and the rest joined on, so `save: \"/tmp/foo.png\"` becomes `<dir>/tmp/foo.png`). Only paths that still escape via `../` traversal are rejected. Missing subdirectories are created automatically. Containment is checked lexically (no `realpath`), so a symlink whose lexical path is inside the sandbox still passes the check and is then resolved by the OS at write time — if its target is outside the sandbox, the write reaches it. Avoid placing symlinks in the sandbox if isolation matters to you.\n\nAdd the `-e` flag to your `claude mcp add` command:\n\n```bash\nclaude mcp add blueprint-chart \\\n  -e MCP_FS_WRITE_DIR=/path/to/output \\\n  -- npx -y @blueprint-chart/mcp\n```\n\n## Resources\n\n- `bpc://grammar` — full DSL syntax reference\n- `bpc://handbook/<slug>` — dataviz pedagogy (choosing, design-principles, color, typography, annotations, accessibility, ...)\n- `bpc://guide/<slug>` — usage guides (scenes, palettes, data-transforms, ...)\n- `bpc://chart-types/<slug>` — per-chart-type docs\n- `bpc://samples/<id>` — canonical `.bpc` examples\n- `bpc://reference/dsl/<slug>`, `bpc://reference/api/<slug>` — full reference\n\n## Prompts\n\n- `author_chart` — primes the LLM end-to-end (read → write → validate → render → iterate)\n\n## Examples\n\n### Quickstart with Claude\n\nOnce the MCP is connected, ask Claude to make a chart:\n\n> **You:** Make a horizontal bar chart of English letter frequencies — top 10, highlight E.\n>\n> **Claude:** *(calls `list_chart_types`, `get_example({ chartType: \"bar-horizontal\" })`, writes the `.bpc`, calls `validate_dsl` to confirm it parses, calls `render` with `format: 'png'` and shows you the image and the source)*\n>\n> Here's the chart:\n>\n> ![image]\n>\n> ```\n> chart bar-horizontal {\n>   title = \"E is the most frequent letter in English\"\n>   sort = descending\n>   valueLabels = true\n>   highlight \"E\"\n>   data { \"E\" = 12.70; \"T\" = 9.06; \"A\" = 8.17; ... }\n> }\n> ```\n\nThe MCP grounds Claude in real dataviz pedagogy (the handbook) before it writes a single line of DSL, then closes the loop with deterministic parse + render feedback.\n\n### What `.bpc` looks like\n\n```text\nchart bar-vertical {\n  title = \"E is the most frequent letter in English\"\n  description = \"How often each letter appears in typical English text\"\n  source = \"Lewand, Cryptological Mathematics\"\n  colorPalette = \"London\"\n  sort = descending\n  valueLabels = true\n  highlight \"E\"\n\n  data {\n    \"E\" = 12.70\n    \"T\" = 9.06\n    \"A\" = 8.17\n    \"O\" = 7.51\n    ...\n  }\n}\n```\n\nFull grammar at `bpc://grammar`; 17 canonical samples at `bpc://samples/<id>` (`letter-frequency`, `co2-emissions`, `quarterly-revenue`, `browser-market`, `temperature-anomaly`, `population-stacked-bar`, ...).\n\n### `validate_dsl` — parse with structured diagnostics\n\nRequest:\n\n```json\n{\n  \"name\": \"validate_dsl\",\n  \"arguments\": { \"source\": \"chart bar-vertical {\\n  title = \\\"oops\\n}\" }\n}\n```\n\nResponse — `valid` is false; each entry in `errors[]` carries a `code`, human-readable `message`, and an actionable `suggestion`:\n\n```json\n{\n  \"valid\": false,\n  \"errors\": [\n    {\n      \"code\": \"E_PARSE\",\n      \"message\": \"Expected \\\"\\\\\\\"\\\" but end of input found.\",\n      \"suggestion\": \"Close the string literal on line 2.\"\n    }\n  ],\n  \"warnings\": []\n}\n```\n\n### `inspect_dsl` — structured summary\n\nRequest:\n\n```json\n{ \"name\": \"inspect_dsl\", \"arguments\": { \"source\": \"<.bpc source>\" } }\n```\n\nResponse:\n\n```json\n{\n  \"ok\": true,\n  \"data\": {\n    \"chartType\": \"bar-vertical\",\n    \"scenes\": [{ \"index\": 1, \"hasTransition\": false }],\n    \"hasAnnotations\": false,\n    \"hasColorizes\": false,\n    \"hasHighlights\": true,\n    \"hasAreaFills\": false,\n    \"seriesCount\": 0,\n    \"rowCount\": 26\n  }\n}\n```\n\n### `recommend_chart_type` — ranked suggestions\n\nRequest:\n\n```json\n{\n  \"name\": \"recommend_chart_type\",\n  \"arguments\": { \"columnTypes\": [\"date\", \"number\", \"number\", \"number\"], \"rowCount\": 24 }\n}\n```\n\nResponse:\n\n```json\n{\n  \"ok\": true,\n  \"data\": {\n    \"recommendations\": [\n      { \"chartType\": \"line-multi\", \"label\": \"Multi-Line Chart\", \"fitness\": \"best\",\n        \"reason\": \"1 date + 3 numeric columns — compare trends\" },\n      { \"chartType\": \"bar-multi\",  \"label\": \"Grouped Bar Chart\", \"fitness\": \"alternative\",\n        \"reason\": \"Can also show as grouped bars\" }\n    ]\n  }\n}\n```\n\n### `render` — SVG (default), PNG, or HTML\n\nRequest:\n\n```json\n{\n  \"name\": \"render\",\n  \"arguments\": { \"source\": \"<.bpc source>\", \"format\": \"png\", \"width\": 800, \"height\": 500 }\n}\n```\n\nResponse:\n\n```json\n{\n  \"ok\": true,\n  \"data\": {\n    \"svg\": \"<svg ...>...</svg>\",\n    \"png\": \"<base64-encoded image>\",\n    \"mimeType\": \"image/png\",\n    \"urls\": {\n      \"png\": \"https://mcp.blueprintchart.com/render.png?bpc64=…\",\n      \"svg\": \"https://mcp.blueprintchart.com/render.svg?bpc64=…\",\n      \"bpc\": \"https://mcp.blueprintchart.com/render.bpc?bpc64=…\"\n    }\n  }\n}\n```\n\nThe `urls` field is only present when `MCP_PUBLIC_URL` is configured; every `render` and `export_chart` response then includes these stateless links, with the chart data travelling inside the URL (as `bpc64`, a URL-safe base64 encoding of the `.bpc` source) — no session, no server state required. Set `modelVisible:false` in the request to drop the inline image from the response entirely, spending no image tokens.\n\nIf rasterization fails (rare), `errors[]` is non-empty — each entry has a `code` (`\"E_RENDER\"`) and a `suggestion` — **and the response still includes** the SVG that was successfully produced, so partial success is preserved.\n\n#### Hosted render URLs\n\nEmbed a chart directly in a page:\n\n```html\n<img src=\"https://<your-mcp-host>/render.png?bpc64=<bpc64value>&width=800&height=500\" alt=\"My chart\" width=\"800\" height=\"500\">\n```\n\n`/render.bpc` serves the raw `.bpc` source — it's \"view source\" for any chart URL, handy for sharing or reproducing a chart from its link alone.\n\nSources whose encoding exceeds 8 KB return `413` from the endpoints (and the tool omits `urls`, returning `urlsOmitted: \"source-too-large\"` instead) — use the inline PNG for very large charts.\n\n### Reading a resource\n\n```json\n{ \"uri\": \"bpc://handbook/choosing\" }\n```\n\nReturns the full Markdown of the \"Choosing the Right Chart\" handbook page (same content as `docs.blueprintchart.com`).\n\n```json\n{ \"uri\": \"bpc://samples/letter-frequency\" }\n```\n\nReturns the raw `.bpc` source for the letter-frequency sample as `text/plain` — exactly what the LLM should imitate.\n\n## License\n\nMIT\n","readmeFilename":""}