AI coding assistants
An assistant writing PivotGrid code from memory guesses prop names, and a prop that does not exist does nothing: no error, no effect. Two things let it look the names up instead:
- The MCP server
@kanunilabs/mcp: the documentation and the full API reference, searchable by the assistant while it works. - The skill: one instruction file the assistant reads when a task involves the grid — which package to install, the licence key, the worker, Next.js, upgrading.
Neither runs an AI model or calls one. The server runs on your machine and makes no network requests: the docs are inside the package.
The MCP server
It covers PivotGrid and DataGrid both, and carries the docs of the release it was published with.
| Tool | What the assistant gets |
|---|---|
search_docs | Guide sections and API members matching a question in words |
get_doc | One page, or one section of it, as Markdown |
get_api | One exported symbol, or one member: PivotLayoutState.showColumnTotals |
list_docs | The packages with their versions, the guides, the exported symbols |
get_changes | What changed between two versions, upgrade notes first |
Claude Code
claude mcp add kanunilabs -- npx -y @kanunilabs/mcp
On Windows outside WSL, npx needs a cmd /c in front:
claude mcp add kanunilabs -- cmd /c npx -y @kanunilabs/mcp
Cursor
Add to .cursor/mcp.json in the project, or to ~/.cursor/mcp.json for every
project:
{
"mcpServers": {
"kanunilabs": { "command": "npx", "args": ["-y", "@kanunilabs/mcp"] }
}
}
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"kanunilabs": { "type": "stdio", "command": "npx", "args": ["-y", "@kanunilabs/mcp"] }
}
}
Other assistants
Any MCP client that starts a local (stdio) server works: the command is npx
and the arguments are -y @kanunilabs/mcp.
To check it is connected, ask the assistant something only the reference
knows, such as which members PivotLayoutState has.
The skill
npx -y @kanunilabs/mcp install-skill
This writes .claude/skills/kanunilabs-grids/SKILL.md, where Claude Code finds
skills. For an assistant that reads skills from another folder, name it:
npx -y @kanunilabs/mcp install-skill path/to/skills/kanunilabs-grids
A changed copy is not overwritten; run it with --force to replace your copy
with the one in the package. The skill tells the assistant to use the MCP
server when it is connected, and the files below when it is not.
Without either
The same documentation is published for assistants that read the web:
- /llms.txt: every page with one line on what it covers
- /llms-full.txt: every guide in one Markdown file