# Nauro MCP server

> Keep approved project decisions and their reasoning in a markdown store that connected coding agents read and update.

- Listing: https://mcp.tc/i/nauro
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Developer Tools](https://mcp.tc/c/developer-tools)
- Vendor: Nauro-AI
- Homepage: <https://nauro.ai>
- Repository: <https://github.com/Nauro-AI/nauro>
- Package: pypi `nauro`

## About

Nauro keeps a living project record made of scope, current state, open questions, and human-approved decisions with their rationale, tradeoffs, and rejected paths. Agents receive the relevant slice of that record, check proposals against prior decisions with BM25 keyword retrieval, and draft new decisions that the user approves before they are committed.

It runs locally as a Python package (PyPI: nauro, started with uvx or installed with uv tool install nauro) over stdio. It works with Claude, Cursor, Codex, Perplexity, and other MCP clients. No API key is documented for local use; an optional hosted connector and sync exist.

## What it can do

- Give agents project scope, current state, and open questions
- Check a proposed change against related prior decisions
- Propose decisions that are committed only after user approval
- Share approved decisions across connected agents and tools
- Render the decision store as an HTML graph
- Check the store for structural defects with nauro doctor

## Example prompts

- "Check whether we already decided against a passive spending tracker."
- "Propose a decision to use Postgres and record why we rejected SQLite."
- "Load the project context before you plan this refactor."
- "Show which earlier decisions the new auth design would supersede."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio nauro -- uvx nauro
```

2. Start Claude Code and type `/mcp`. **nauro** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "nauro": {
      "command": "uvx",
      "args": [
        "nauro"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs uv (Python) on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=nauro&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJuYXVybyJdfQ%3D%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "nauro": {
      "command": "uvx",
      "args": [
        "nauro"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=nauro&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22nauro%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"nauro","type":"stdio","command":"uvx","args":["nauro"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "nauro": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "nauro"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "nauro": {
      "command": "uvx",
      "args": [
        "nauro"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add nauro -- uvx nauro
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.nauro]
command = "uvx"
args = ["nauro"]
```

Needs uv (Python) on your computer.

### Gemini CLI

```bash
gemini mcp add nauro uvx nauro
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "nauro": {
      "command": "uvx",
      "args": [
        "nauro"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs uv (Python) on your computer.

## Details

- Server version: 1.20.1
- Last checked: 2026-10-04
- Listed: 2026-10-04
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/nauro (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
