MCP server
Let Claude Code, Codex or any MCP client drive xNAUT — projects, tickets, and vault docs over localhost.
xNAUT ships a built-in MCP server (JSON-RPC over Streamable HTTP, localhost only). Your agents don't just run in the terminal — they can call it as a tool.
Connecting a client
Open a project's Project settings → Agent connection · MCP. It shows the local endpoint and bearer token, and Copy MCP connection puts a ready object on your clipboard:
{
"url": "http://127.0.0.1:51737/v1/mcp",
"headers": { "Authorization": "Bearer <token>" }
}- Port: 51737 by default, persisted in settings — your pasted config survives restarts. (If the port is taken, xNAUT falls back to a random one and tells you.)
- Token: a UUID minted once on first launch and persisted — not rotated per session.
- Loopback-only; 1 MB body limit; JSON-RPC methods
initialize,tools/list,tools/call.
For Claude Code, drop the object into .mcp.json as an http server.
The nine tools
Projects & tickets (Project Management module):
| Tool | Parameters |
|---|---|
xnaut_list_projects | — |
xnaut_list_tickets | project? |
xnaut_create_ticket | project, title, ticket_type? (idea/feature/bug/incident/task), status?, priority?, owner?, documentation?, body? |
xnaut_update_ticket | id, expected_revision + any fields to change |
Ticket updates use optimistic revisions: pass the revision you read; a stale revision fails loudly instead of silently overwriting.
Vault documents (scoped to the project's Development/<project>/ subtree in the work vault):
| Tool | Parameters |
|---|---|
xnaut_list_documents | project |
xnaut_search_documents | project, query |
xnaut_read_document | project, rel → returns content + sha256 |
xnaut_create_document | project, rel, content |
xnaut_update_document | project, rel, content, expected_sha256 |
Document updates are conflict-safe: expected_sha256 must match the hash returned by the preceding read, or the write is rejected. Paths are constrained to visible, relative .md files inside the project scope — no traversal, no wandering the filesystem.
Related local APIs
The same loopback listener also serves the agent status hook (POST /v1/hook) and the diff-notes broker (POST /v1/notes) — three protocols, one port.