# Audrey MCP server

> Provides a local-first biological memory loop for coding agents to recall project context and perform pre-action guard checks.

- Repository: https://github.com/Evilander/Audrey
- Page: https://hostedmcp.org/servers/evilander/audrey
- Transport: stdio
- Stars: 26
- License: MIT
- Latest version: 2.1.1

## Install

### Claude Code

```sh
claude mcp add audrey -- npx -y audrey
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "audrey": {
      "command": "npx",
      "args": [
        "-y",
        "audrey"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "audrey": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "audrey"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"audrey","type":"stdio","command":"npx","args":["-y","audrey"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "audrey": {
      "command": "npx",
      "args": [
        "-y",
        "audrey"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add audrey -- npx -y audrey
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.audrey]
command = "npx"
args = ["-y", "audrey"]
```

### Gemini CLI

```sh
gemini mcp add -s user audrey npx -- -y audrey
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "audrey": {
      "command": "npx",
      "args": [
        "-y",
        "audrey"
      ]
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `AUDREY_AGENT` | no | no | Logical memory owner used for scoped operations (defaults to local-agent) |
| `AUDREY_DATA_DIR` | no | no | Directory for the SQLite memory store (defaults to ~/.audrey/data) |
| `AUDREY_EMBEDDING_PROVIDER` | no | no | local (default, on-device model), openai, gemini, or mock |
| `AUDREY_ENABLE_ADMIN_TOOLS` | no | no | Set to 1 to expose the export, import, forget, and promote tools |
| `AUDREY_LLM_PROVIDER` | no | no | Optional reflection/consolidation model: anthropic, openai, chatgpt, or mock; unset keeps everything local |

## FAQ

### Does Audrey require an API key or network connection to work?

The demo mode requires no API key, model download, or network call, as it uses a built-in SQLite backend.

### What happens if Audrey encounters an error during a hook?

By default, Audrey fails open, meaning the hook emits no decision. You can change this behavior by setting the AUDREY_HOOK_FAIL_CLOSED environment variable.
