MCP KB server
Expose Nitpick's knowledge base to Claude Code, Cursor, Cline, and any MCP-aware client.
Nitpick v2.0 ships a Model Context Protocol (MCP) server backed by the project knowledge base. Any MCP-aware client — Claude Code, Claude Desktop, Cursor, Cline, Continue — can query your KB directly: page models, bugs, flaky tests, flows. No agent runtime needed.
How it works
Claude Code / Cursor / Cline
│ stdio JSON-RPC
▼
nitpick mcp serve
│
▼
KnowledgeBase
./knowledge-base/
nitpick mcp serve starts an MCP server on stdio. Your host reads its capabilities and routes nitpick-kb.* tool calls to it. The same KnowledgeBase class used by the full agent runtime serves all requests — so results are always consistent with what nitpick run produced.
Tools
| Tool | Description |
|---|---|
kb_list_pages | List all pages in the page graph with metadata |
kb_get_page | Return the full Derived UI Model for a page |
kb_search | Full-text search across page models, bugs, and flows |
kb_list_open_bugs | Return unfixed bugs across all pages |
kb_get_flow | Return a multi-role flow definition |
kb_add_bug | Record a new bug (read-write trust) |
kb_note_flaky | Mark a test as flaky (read-write trust) |
kb_put_resolved_question | Persist a Phase 3.5 approval resolution (read-write trust) |
The first five tools are always available. The write tools (kb_add_bug, kb_note_flaky, kb_put_resolved_question) require mcp.kb.trust: read-write in nitpick.yaml.
Configuration
In your project’s nitpick.yaml:
mcp:
kb:
trust: read-write # read-write | read-only | deny
| Trust tier | What it allows |
|---|---|
read-write | All 8 tools. Agents can write bugs, flaky notes, and resolutions back to the KB. |
read-only | 5 read-only tools. Clients can query but not modify. |
deny | MCP server starts but registers no tools. |
Setup per host
Claude Code
Add the server to ~/.claude/settings.json:
{
"mcpServers": {
"nitpick-kb": {
"command": "nitpick",
"args": [
"mcp", "serve",
"--kb", "/absolute/path/to/your-project/knowledge-base",
"--trust", "read-write"
]
}
}
}
The KB path must be absolute. Claude Code resolves tool server commands from its own working directory, not yours.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or ~/.config/claude/claude_desktop_config.json (Linux):
{
"mcpServers": {
"nitpick-kb": {
"command": "nitpick",
"args": [
"mcp", "serve",
"--kb", "/absolute/path/to/your-project/knowledge-base",
"--trust", "read-only"
]
}
}
}
Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
{
"mcpServers": {
"nitpick-kb": {
"command": "nitpick",
"args": [
"mcp", "serve",
"--kb", "/absolute/path/to/your-project/knowledge-base",
"--trust", "read-write"
]
}
}
}
Cline / Continue
Follow the same pattern — command nitpick, args ["mcp", "serve", "--kb", "<absolute-path>"]. Both clients consume standard MCP stdio servers.
What the agent can do with the KB
When connected via MCP, a Claude Code or Cursor session can:
- Understand your app before writing code: ask “what fields does /tasks/new have?” and get the full Derived UI Model
- See open bugs: ask “what bugs were found last run?” without running anything
- Check for flaky tests: query flaky test history before reviewing a failing CI run
- Write findings back: if trust is
read-write, the AI can add bugs it discovers during a code review session directly to the KB
Running as part of a session
You don’t need to start the server manually — your host starts it on demand when you open a session. The server process is spawned once per session and stays alive until the session ends.
To test the server manually:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | nitpick mcp serve --kb ./knowledge-base
You should see the tool manifest returned on stdout.
Next: auto-registration (v2.2)
v2.2 will ship nitpick mcp register, which auto-detects installed hosts and writes the nitpick-kb server entry into each one’s config. One command, no manual JSON editing.