# RepoMemory MCP server

Shared project memory for coding agents: decisions, lessons, guardrails and tasks per repository.

## At a glance

RepoMemory is an MCP server in the AI & Memory category. It is hosted remotely and connects over HTTP, and needs X-API-Key. It exposes 5 tools, including record_entry, recall and brief. It scores C (40/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install RepoMemory in Claude Code

1. Add the server

```bash
claude mcp add --transport http repomemory https://api.repomemory.dev/mcp --header 'X-API-Key: <X-API-KEY>'
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Verify it's connected

```bash
claude mcp list
```

4. Sharing it with your team?

   Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

5. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. record_entry, recall, brief). It discovers them automatically.

### How to install RepoMemory in Claude Desktop

1. Open your MCP config

   macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add this server

```json
{
  "mcpServers": {
    "repomemory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.repomemory.dev/mcp",
        "--header",
        "X-API-Key:${X_API_KEY}"
      ],
      "env": {
        "X_API_KEY": "<X-API-KEY>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

4. Why the wrapper?

   This is a remote (HTTP) server and Claude Desktop only launches local processes, so mcp-remote proxies the connection. It will open a browser window if the server needs OAuth.

5. Restart Claude Desktop

   The tools appear under the 🔌 menu once the app reloads.

### How to install RepoMemory in Cursor

1. Create / edit .cursor/mcp.json in your project

```json
{
  "mcpServers": {
    "repomemory": {
      "url": "https://api.repomemory.dev/mcp",
      "headers": {
        "X-API-Key": "<X-API-KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Enable it

   Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.

### How to install RepoMemory in Codex CLI

1. Add to ~/.codex/config.toml

```toml
[mcp_servers.repomemory]
command = "npx"
args = ["-y", "mcp-remote", "https://api.repomemory.dev/mcp", "--header", "X-API-Key:${X_API_KEY}"]
env = { X_API_KEY = "<X-API-KEY>" }
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Why the wrapper?

   Codex runs MCP servers as local processes, so mcp-remote bridges this HTTP endpoint to stdio.

4. Run Codex

   Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.

### How to install RepoMemory in Windsurf

1. Edit ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "repomemory": {
      "serverUrl": "https://api.repomemory.dev/mcp",
      "headers": {
        "X-API-Key": "<X-API-KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Reload

   Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.

### How to install RepoMemory in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "repomemory": {
      "type": "streamableHttp",
      "url": "https://api.repomemory.dev/mcp",
      "headers": {
        "X-API-Key": "<X-API-KEY>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

### How to install RepoMemory in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "repomemory": {
      "type": "http",
      "url": "https://api.repomemory.dev/mcp",
      "headers": {
        "X-API-Key": "<X-API-KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Start it

   VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.

## Tools

- `record_entry` — Write down something the next agent or teammate on this project must know: a decision and why it was made, a lesson from something that broke or was reverted, a guardrail (a rule not to break), a note, or a task to be done. Record a lesson whenever a change is rolled back or a fix took real digging, and a decision whenever an approach is chosen over another. `kind` is decision, lesson, guardrail, 
- `recall` — Before planning a change, removing code that looks unnecessary, or repeating an approach, search the project's ledger for what was already decided, tried or forbidden. Put the area or change in `query`: any of its words match, best matches first, and a word in an entry's title counts for more than one in its body. Use the words that would appear in the entry, not the words of the symptom: 'captcha
- `brief` — Call this first, at the start of a session, before planning any change. It returns every active guardrail (rules not to break, each with its title and the start of its reasoning, rather than left to a word match), the open and claimed tasks, and the titles of the newest decisions, lessons and notes, so you start where the last session stopped. Bodies are cut short to keep it small: recall with an 
- `claim_task` — Take a task before starting it, so another agent or teammate doesn't work on the same one. Give the task's `id` (TASK-n), or leave it out to take the oldest open task. `agent` names who is working on it ("claude-code on dimaino's laptop"). It returns a `claim_token`: keep it. A task claimed by anyone else, even a session with your own name, is refused with already_claimed; claiming again with your
- `retire_entry` — Retire a decision, lesson, guardrail or note that is no longer true, so recall stops returning it, or mark a task done. Give its `id` and, for anything but a finished task, a short `reason`. To replace an entry with a new one, use record_entry with `supersedes` instead. Retiring again changes nothing. Free. Returns the entry with its new status. Free to call.

---

Source: https://mcp-skills-hub.vercel.app/mcps/dev-repomemory-repomemory · MCP Skills Hub · data as of 2026-10-28T12:31:05Z
