{"_id":"@axicharts/charts-mcp","_rev":"5-3ed9ecea0d70b543cae9d98164b80f5c","name":"@axicharts/charts-mcp","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@axicharts/charts-mcp","version":"0.1.0","license":"MIT","_id":"@axicharts/charts-mcp@0.1.0","maintainers":[{"name":"axidrain","email":"axidify@gmail.com"}],"homepage":"https://github.com/Axidify/axicharts#readme","bugs":{"url":"https://github.com/Axidify/axicharts/issues"},"bin":{"charts-mcp":"dist/cli.js"},"dist":{"shasum":"fe7dc08b0d543de27ea6ccccd2c64085f2d067c0","tarball":"https://registry.npmjs.org/@axicharts/charts-mcp/-/charts-mcp-0.1.0.tgz","fileCount":12,"integrity":"sha512-uiAAUtuIfpXDM8M3XVZtBVQH+iXcPpZjo0ltSWTPTHc9uembNE/NOkGEEbp5T7wHNdPPe4VV+xS1feR0Dm9OYg==","signatures":[{"sig":"MEQCIB+kzIoi4zzPtG1n9BESuIWzWxTxhO4DhY7RBmDPBbjMAiBnBeYmcb3++w8/rUfXo/27PdO+u0wvP3LF/NaK1NFMIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21020},"type":"module","_from":"file:axicharts-charts-mcp-0.1.0.tgz","exports":{".":{"import":"./dist/index.js"},"./openapi":{"import":"./dist/openapi.js"},"./schema/cartesian-panel.schema.json":"./schema/cartesian-panel.schema.json"},"scripts":{"dev":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @modelcontextprotocol/sdk --external zod --watch","test":"vitest run","build":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @modelcontextprotocol/sdk --external zod --clean","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"axidrain","email":"axidify@gmail.com"},"_resolved":"/tmp/ec379e27a7353496ec8792b532a3345f/axicharts-charts-mcp-0.1.0.tgz","_integrity":"sha512-uiAAUtuIfpXDM8M3XVZtBVQH+iXcPpZjo0ltSWTPTHc9uembNE/NOkGEEbp5T7wHNdPPe4VV+xS1feR0Dm9OYg==","repository":{"url":"git+https://github.com/Axidify/axicharts.git","type":"git","directory":"packages/charts-mcp"},"_npmVersion":"10.9.8","description":"MCP server for AxiCharts cartesian panel authoring — create, validate, revise, and compile marks[] specs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","@axicharts/charts-spec":"0.3.52","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/charts-mcp_0.1.0_1784430203959_0.7745373867434044","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@axicharts/charts-mcp","version":"0.1.2","license":"MIT","_id":"@axicharts/charts-mcp@0.1.2","maintainers":[{"name":"axidrain","email":"axidify@gmail.com"}],"homepage":"https://github.com/Axidify/axicharts#readme","bugs":{"url":"https://github.com/Axidify/axicharts/issues"},"bin":{"charts-mcp":"dist/cli.js"},"dist":{"shasum":"5fefe6b71bf78bbd8bb7b8a39a6a6a357285b054","tarball":"https://registry.npmjs.org/@axicharts/charts-mcp/-/charts-mcp-0.1.2.tgz","fileCount":11,"integrity":"sha512-J/IyukjgnusyI7UK1DGzzQwzhpRmVPoDO1WmLUgdfhfYsoP/uMhZCrW4rGJJS8U6OVM9jD2Wkr16jQIzsMoJ/g==","signatures":[{"sig":"MEUCIQCdsf4ZbMzCf2zohOS0nDlteEBq6vVUR3nDlRuFyBXJkQIgIdftZqbZ32bpCYDGt28XA6CJV8XH1hokbo28li7TlgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25994},"type":"module","_from":"file:axicharts-charts-mcp-0.1.2.tgz","exports":{".":{"import":"./dist/index.js"},"./openapi":{"import":"./dist/openapi.js"}},"scripts":{"dev":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --watch","test":"vitest run","build":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --clean","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"axidrain","email":"axidify@gmail.com"},"_resolved":"/tmp/ab04ba9e87a92369574fc287a7bdf863/axicharts-charts-mcp-0.1.2.tgz","_integrity":"sha512-J/IyukjgnusyI7UK1DGzzQwzhpRmVPoDO1WmLUgdfhfYsoP/uMhZCrW4rGJJS8U6OVM9jD2Wkr16jQIzsMoJ/g==","repository":{"url":"git+https://github.com/Axidify/axicharts.git","type":"git","directory":"packages/charts-mcp"},"_npmVersion":"10.9.8","description":"MCP server for AxiCharts cartesian panel authoring — create, validate, revise, and compile marks[] specs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","@axicharts/charts-spec":"0.4.14","@axicharts/charts-planner":"0.2.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/charts-mcp_0.1.2_1784470770471_0.19321621973680192","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@axicharts/charts-mcp","version":"0.1.3","license":"MIT","_id":"@axicharts/charts-mcp@0.1.3","maintainers":[{"name":"axidrain","email":"axidify@gmail.com"}],"homepage":"https://github.com/Axidify/axicharts#readme","bugs":{"url":"https://github.com/Axidify/axicharts/issues"},"bin":{"charts-mcp":"dist/cli.js"},"dist":{"shasum":"20c9739ebbd731ba914713057d94bba71912eb6c","tarball":"https://registry.npmjs.org/@axicharts/charts-mcp/-/charts-mcp-0.1.3.tgz","fileCount":13,"integrity":"sha512-sTqfn8aZnaosnht3jtKWNnra0x7NH5LJwcOOuo2ergRDMPt4ot0faBMXKMC1219nmWjsXg5rIiyyiZdhSgxRbw==","signatures":[{"sig":"MEUCIQDykW/2ugt1kxJrGfOq9L7rDUGkxN/XGL5xcDzBxenM0gIgJ2KAX+bv53ZivEzMylAP4rLE0QSPedAms8grDdTxJAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34257},"type":"module","_from":"file:axicharts-charts-mcp-0.1.3.tgz","exports":{".":{"import":"./dist/index.js"},"./openapi":{"import":"./dist/openapi.js"}},"scripts":{"dev":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --watch","test":"vitest run","build":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --clean","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"axidrain","email":"axidify@gmail.com"},"_resolved":"/tmp/fbf85658e14d7390def332c88bca1dee/axicharts-charts-mcp-0.1.3.tgz","_integrity":"sha512-sTqfn8aZnaosnht3jtKWNnra0x7NH5LJwcOOuo2ergRDMPt4ot0faBMXKMC1219nmWjsXg5rIiyyiZdhSgxRbw==","repository":{"url":"git+https://github.com/Axidify/axicharts.git","type":"git","directory":"packages/charts-mcp"},"_npmVersion":"10.9.8","description":"MCP server for AxiCharts cartesian panel authoring — create, validate, revise, and compile marks[] specs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","@axicharts/charts-spec":"0.4.24","@axicharts/charts-planner":"0.2.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/charts-mcp_0.1.3_1784606087446_0.22865676401623913","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@axicharts/charts-mcp","version":"0.1.4","license":"MIT","_id":"@axicharts/charts-mcp@0.1.4","maintainers":[{"name":"axidrain","email":"axidify@gmail.com"}],"homepage":"https://github.com/Axidify/axicharts#readme","bugs":{"url":"https://github.com/Axidify/axicharts/issues"},"bin":{"charts-mcp":"dist/cli.js"},"dist":{"shasum":"ff4cd729137e1d5bb109c84cddb37e78398edcf7","tarball":"https://registry.npmjs.org/@axicharts/charts-mcp/-/charts-mcp-0.1.4.tgz","fileCount":14,"integrity":"sha512-nXPhR97MnHtqXzpmRRJq5xOslLuo4X5hp+tGb6k65Omy4KDmVkbQnY8DHkUumUqp8k0yRs/6lJ+j7zeOaJ6HeQ==","signatures":[{"sig":"MEQCIHX8yvLACBD+wpXS/1brSZ+j2remEIw/6fSDKLaXCBtnAiBGEWB9q2VH3nn2iRluGzOxUuG7M6R/Cayw+/EYIT6Dig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36204},"type":"module","_from":"file:axicharts-charts-mcp-0.1.4.tgz","exports":{".":{"import":"./dist/index.js"},"./openapi":{"import":"./dist/openapi.js"}},"scripts":{"dev":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --watch","test":"vitest run","build":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --clean","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"axidrain","email":"axidify@gmail.com"},"_resolved":"/tmp/ec2f14c313c1319ce1f2c183c311fc99/axicharts-charts-mcp-0.1.4.tgz","_integrity":"sha512-nXPhR97MnHtqXzpmRRJq5xOslLuo4X5hp+tGb6k65Omy4KDmVkbQnY8DHkUumUqp8k0yRs/6lJ+j7zeOaJ6HeQ==","repository":{"url":"git+https://github.com/Axidify/axicharts.git","type":"git","directory":"packages/charts-mcp"},"_npmVersion":"10.9.8","description":"MCP server for AxiCharts cartesian panel authoring — create, validate, revise, and compile marks[] specs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.76","@axicharts/charts-spec":"0.4.25","@axicharts/charts-planner":"0.2.2","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/charts-mcp_0.1.4_1784618775552_0.5302478597272822","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@axicharts/charts-mcp","version":"0.1.5","description":"MCP server for AxiCharts cartesian panel authoring — create, validate, revise, and compile marks[] specs.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Axidify/axicharts.git","directory":"packages/charts-mcp"},"publishConfig":{"access":"public"},"type":"module","sideEffects":false,"bin":{"charts-mcp":"dist/cli.js"},"exports":{".":{"import":"./dist/index.js"},"./openapi":{"import":"./dist/openapi.js"}},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","zod":"^3.25.76","@axicharts/charts-planner":"0.2.3","@axicharts/charts-spec":"0.4.35"},"devDependencies":{"@types/node":"^22.13.10","tsup":"^8.4.0","typescript":"^5.8.2","vitest":"^3.0.8"},"scripts":{"build":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --clean && node scripts/export-openapi.mjs","dev":"tsup src/index.ts src/cli.ts src/openapi.ts --format esm --external @axicharts/charts-spec --external @axicharts/charts-planner --external @modelcontextprotocol/sdk --external zod --watch","test":"vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@axicharts/charts-mcp@0.1.5","bugs":{"url":"https://github.com/Axidify/axicharts/issues"},"homepage":"https://github.com/Axidify/axicharts#readme","_integrity":"sha512-VdjMc2lRIZ3gckXffd0VzdU2ATczB6U5GeqJdixY+XZ4E7zl47TabhUkdHnhy7gMSzmj1Os/V0Qj0VpJDiTjig==","_resolved":"/tmp/353f8c3e4ca4600ebddf95b96f2f52f4/axicharts-charts-mcp-0.1.5.tgz","_from":"file:axicharts-charts-mcp-0.1.5.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-VdjMc2lRIZ3gckXffd0VzdU2ATczB6U5GeqJdixY+XZ4E7zl47TabhUkdHnhy7gMSzmj1Os/V0Qj0VpJDiTjig==","shasum":"ca9e1b487c2f5493c275832fc65e97c8dcda0648","tarball":"https://registry.npmjs.org/@axicharts/charts-mcp/-/charts-mcp-0.1.5.tgz","fileCount":14,"unpackedSize":52230,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMnUrj4x/afEsJEF3yQApsU8XzfHOxzCC0/cKE8V7+EwIgS6OuQLo98O94VjGWsyGagRbvMS1pnoNv0TbGrmCdC4E="}]},"_npmUser":{"name":"axidrain","email":"axidify@gmail.com"},"directories":{},"maintainers":[{"name":"axidrain","email":"axidify@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/charts-mcp_0.1.5_1784650127728_0.2065135914934444"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-19T03:03:23.870Z","modified":"2026-07-21T16:08:48.050Z","0.1.0":"2026-07-19T03:03:24.109Z","0.1.2":"2026-07-19T14:19:30.616Z","0.1.3":"2026-07-21T03:54:47.566Z","0.1.4":"2026-07-21T07:26:15.828Z","0.1.5":"2026-07-21T16:08:47.882Z"},"bugs":{"url":"https://github.com/Axidify/axicharts/issues"},"license":"MIT","homepage":"https://github.com/Axidify/axicharts#readme","repository":{"type":"git","url":"git+https://github.com/Axidify/axicharts.git","directory":"packages/charts-mcp"},"description":"MCP server for AxiCharts cartesian panel authoring — create, validate, revise, and compile marks[] specs.","maintainers":[{"name":"axidrain","email":"axidify@gmail.com"}],"readme":"# @axicharts/charts-mcp\n\nMCP server for **RFC-004 agent chart families** — cartesian, distribution, and matrix. Wraps `@axicharts/charts-spec` planner and validation APIs so external agents compose closed `marks[]` grammars without repo context.\n\n## Tools (Tier 0)\n\n| Tool | Purpose |\n|------|---------|\n| `create_panel` | Intent + family → `PanelSpec` (prefer over legacy per-family tools) |\n| `validate_panel` | Spec + rows → `{ ok, spec?, errors[] }` with `fix` patches |\n| `list_marks` | Closed mark catalog per family |\n| `plan_dashboard` | Tabular CSV/rows → KPIs, charts, decisions, persona |\n| `compose_panel` | `PanelRecipe` + rows → validated `PanelSpec` (C174) |\n| `execute_transform` | `aggregateRows` — groupBy + aggregates + where |\n| `list_transform_ops` | Closed transform algebra catalog |\n| `describe_data_profile` | Field names + inferred roles |\n\n## Tools (cartesian debug / compat)\n\n| Tool | Purpose |\n|------|---------|\n| `create_cartesian_panel` | Intent + optional `rows`/`groupBy` pre-aggregate |\n| `validate_cartesian_spec` | Cartesian-only validation |\n| `revise_cartesian_panel` | Multi-turn revise (add rule/band/line) |\n| `list_cartesian_marks` | Cartesian mark catalog |\n| `compile_cartesian_panel` | Validate + compile smoke test |\n| `create_table_panel` | Row preview / transaction table |\n\nSchema URLs: `cartesian-panel.schema.json` · `data-profile.schema.json` on relevant tools.\n\n## OpenAPI tool bundle (non-MCP agents)\n\n```ts\nimport { OPENAPI_TOOL_BUNDLE } from \"@axicharts/charts-mcp/openapi\";\n```\n\nPublished JSON (after build): `openapi/tools.bundle.json` in this package.\n\nDocs: [Agent MCP schemas](https://axidify.github.io/axicharts/guides/agent-mcp-schemas)\n\n## Cursor / Claude Desktop\n\n**Published (npm):**\n\n```json\n{\n  \"mcpServers\": {\n    \"axicharts\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@axicharts/charts-mcp\"]\n    }\n  }\n}\n```\n\nSee [examples/cursor-mcp.json](./examples/cursor-mcp.json).\n\n## Typical agent loop\n\n1. `describe_data_profile` — learn field names and roles  \n2. `plan_dashboard` — full tabular plan (preferred for CSV/chat tables)  \n3. `create_panel` — single panel from intent (must name mark types for cartesian)  \n4. `execute_transform` + `compose_panel` — when you need explicit aggregation recipes  \n5. `validate_panel` — mandatory; retry on `UNKNOWN_FIELD` using `fix` patches  \n6. `compile_cartesian_panel` — optional smoke before handoff  \n\nFor tabular CSV uploads, prefer `plan_dashboard` over hand-building panels.\n\n## Agent skills\n\n- [agent-skills/families](./agent-skills/families/SKILL.md) — 3-family overview  \n- [agent-skills/cartesian](./agent-skills/cartesian/SKILL.md) — cartesian deep dive  \n- [agent-skills/distribution](./agent-skills/distribution/SKILL.md)  \n- [agent-skills/matrix](./agent-skills/matrix/SKILL.md)\n\n## Related packages\n\n- `@axicharts/charts-spec` — validation, compile, playground  \n- `@axicharts/charts-planner` — tabular `planDashboardFromRows`\n","readmeFilename":"README.md"}