Skip to Content
kusaw docsv1.0.0

Local MCP server

`kusaw mcp` is stdio JSON-RPC for Claude Code and Cursor. It writes control requests into the factory DB. It does not listen and does not call `kusaw ui`.

kusaw mcp is stdio JSON-RPC for Claude Code and Cursor. It writes control requests into the factory DB. It does not listen and does not call kusaw ui.

Register it in a project's .mcp.json:

JSON
{
  "mcpServers": {
    "factory": {
      "type": "stdio",
      "command": "kusaw",
      "args": ["mcp", "--factory", "<name>"]
    }
  }
}

Omit --factory and <name> when GF-19 discovery is enough.

User-level: claude mcp add --transport stdio kusaw -- kusaw mcp.

A factory step declares this server through GF-27 (access.mcp_servers and that step's mcp list).

The tools are kusaw_add, kusaw_status, kusaw_take_over, kusaw_requeue, kusaw_approve, kusaw_reject, and route_task. kusaw_add and kusaw_requeue accept optional workflow. Their errors match the CLI.

Atlas

kusaw mcp also lists read_map and search_code. They read Atlas tables and map files on disk, work while kusaw serve is stopped, and never start a refresh. When the Atlas is behind local main, each answer includes "behind": true.

The default tool set is the seven control tools plus these two. kusaw mcp --factory demo --tools atlas lists only the Atlas tools, so an outside agent can read the map without add, take over, requeue, approve, reject, or route.

--tools takes all or atlas. The factory never writes the user's Claude Code or Cursor config files; register the server yourself.

Claude Code (local stdio):

Text
claude mcp add --transport stdio kusaw -- kusaw mcp --factory demo

Atlas-only:

Text
claude mcp add --transport stdio kusaw-atlas -- kusaw mcp --factory demo --tools atlas

Matching Cursor MCP config file entry (for the model setting accepted by your Cursor CLI):

JSON
{
  "mcpServers": {
    "kusaw": {
      "command": "kusaw",
      "args": ["mcp", "--factory", "demo"]
    }
  }
}

Atlas-only Cursor entry: "args": ["mcp", "--factory", "demo", "--tools", "atlas"].

search_code takes the GF-170 arguments plus optional checkout, a path to a checkout of one factory repo. Branch-changed files (committed and uncommitted, against that repo's base branch) are searched first as source: branch. If you omit checkout and the server's working folder is such a checkout, that folder is used. Nothing in the checkout is written.

When atlas.embedding.provider is not local, search_code is keyword-only and includes Search: keyword-only in kusaw mcp (the embedding provider isn't local). The server still opens no network port and makes no outside call.

On this page