Connect AI agents to Boof Runner
Let an AI agent or harness drive Boof Runner over REST or MCP; the full machine-readable guide is at https://nodets.com/boof/harness.txt.
Connect AI agents
Give your agent one URL and an API key. The agent reads the guide, asks you for the details it needs and operates boof by itself.
- Hosted guide:
https://nodets.com/boof/harness.txt - Your own server serves the same guide without authentication at
<boof-host>/harness.txt(also/harness.mdand/llms.txt).
Tell the agent: "Read https://nodets.com/boof/harness.txt and use it to operate my boof server." The guide covers connecting (REST or MCP), the concepts, every REST operation and step-by-step workflows. Its source is docs/harness.md; the reference part is generated from the code (npm run docs:gen).
MCP
Boof speaks the Model Context Protocol with the same scopes, trust and audit as REST. The tool list is in docs/api.md.
Local agent (stdio). The agent host starts boof-runner mcp; no server and no key are needed.
# one repository: the projectId argument is filled in and hidden
claude mcp add boof -- boof-runner mcp -d ~/.local/share/boof-runner/data --project pim
# everything the data root serves, limited to an API client's scopes and projects
claude mcp add boof -- boof-runner mcp -d ~/.local/share/boof-runner/data --client agent-1Without --client the agent is the local admin principal, which only works while security.auth.mode is local-trust. The server writes logs to stderr only.
Remote harness (HTTP). Start boof-runner serve (with TLS and a key when it is not loopback) and point the client at /mcp:
claude mcp add --transport http boof https://boof.example.com/mcp \
--header "Authorization: Bearer boof_<client>_<secret>"or in a JSON config (.mcp.json):
{
"mcpServers": {
"boof": {
"type": "http",
"url": "https://boof.example.com/mcp",
"headers": { "Authorization": "Bearer boof_<client>_<secret>" }
}
}
}The endpoint is stateless (no sessions); use boof_wait_task to follow a task.