# Kawa Code

Gives your coding assistant team memory: what you are building, why a choice was made, and who else is editing the same file right now.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: kawacode-ai
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/kawacode-ai/kawa.mcp
- Updated: 2026-07-15
- HTML: https://affpapa.org/en/nevibecode/mcp/kawa-code

## What it does

\`@kawacode/mcp` sits between the assistant and the Kawa Code desktop app. Git work, storage and syncing all happen inside that app, so the server is useless unless Kawa Code is running. Node.js 18.0.0 or newer is required.

What you get in practice: the assistant carries context across sessions, branches and machines. Decisions get recorded along with the reasoning behind them, and commits are tied to the task that produced them. A conflict shows up before anyone commits — if a teammate has the same files open in their working copy, you hear about it. An Anthropic API key is optional and feeds history inference. Installing `gh` unlocks deeper data such as pull request descriptions and issue threads; without it, two tiers are skipped.

On Claude there is an optional `PreToolUse` hook matched to `Edit|Write`. It surfaces earlier reasoning before a change lands, and can block the edit. To get past a block, record a new decision via `record_decision` with `supersedes`, or pass `force: true` for a one-off. Turn the hook off with `KAWA_PRE_EDIT_CHECK=off`. Telemetry stays on your machine under `~/.kawa-code/logs/` and is disabled with `KAWA_PRE_EDIT_TELEMETRY=off`. A global npm install does not update itself — pull a newer release with `npm update -g @kawacode/mcp`.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mcp -- npx -y @kawacode/mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add kawa-code -- npx -y @kawacode/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "kawa-code": {
            "command": "npx",
            "args": [
                "-y",
                "@kawacode/mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "kawa-code": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@kawacode/mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add kawa-code npx -y @kawacode/mcp
```

## When to use it
- spot a teammate editing the same file before either of you commits
- keep the reasoning behind an architectural choice for later sessions
- attach the originating task to each commit
- carry decision history into a rewritten repository
- stop an edit when recorded constraints already cover the file

## Example prompts
- What is in progress in this repo, and which decisions are already recorded?
- Who on the team has `src/router.ts` open right now?
- Record a decision: we are replacing the old client because it cannot handle the load

## Similar
- [groove-admin-config](https://affpapa.org/en/nevibecode/skills/groove-admin-config.md) — skill · 580 installs
- [projectmem](https://affpapa.org/en/nevibecode/mcp/projectmem.md) — MCP server · ★ 869
- [memory-mcp](https://affpapa.org/en/nevibecode/mcp/memory-mcp.md) — MCP server · ★ 100
- [Vouch](https://affpapa.org/en/nevibecode/mcp/vouch.md) — MCP server · ★ 64
- [Perenna](https://affpapa.org/en/nevibecode/mcp/perenna.md) — MCP server · ★ 61
- [Palinode](https://affpapa.org/en/nevibecode/mcp/palinode.md) — MCP server · ★ 46

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
