# MCP server (`kibble mcp`)
`kibble mcp` runs a stdio JSON-RPC 2.0 server exposing KIBBLE's tools so an agent/harness (or Claude
Code/Desktop) can drive them. No network listener; the client spawns it as a subprocess.
## Tools
- `build{path?}` → BuildStats
- `eval{path?,strict?}` → QualityReport
- `bench{path?,strict?}` → BenchReport
- `soul_build{soul?,out?}` → SoulManifest
- `caps_list{path?,project?}` → installed skills
- `caps_install{src,force?,project?}` → installed skill names
Tools run on the server's working directory (its `kibble.toml`), or a per-call `path` override. A tool
failure is returned as `{content, isError:true}` (not a protocol error); missing required args →
JSON-RPC `-32602`.
## Register with an MCP client (example, Claude Code / Desktop)
```json
{ "mcpServers": { "kibble": { "command": "kibble", "args": ["mcp"], "cwd": "/path/to/your/kibble-project" } } }
```
## Try it
```bash
Long-running tools (`build`, large `eval`/`bench`) block the call and may brush client timeouts — async
job tools + more tools (`fetch`/`extract`/`pack`) are follow-ups.