xNxNAUT

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):

ToolParameters
xnaut_list_projects
xnaut_list_ticketsproject?
xnaut_create_ticketproject, title, ticket_type? (idea/feature/bug/incident/task), status?, priority?, owner?, documentation?, body?
xnaut_update_ticketid, 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):

ToolParameters
xnaut_list_documentsproject
xnaut_search_documentsproject, query
xnaut_read_documentproject, rel → returns content + sha256
xnaut_create_documentproject, rel, content
xnaut_update_documentproject, 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.

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.

On this page