Harness Memory

Harness Memory is a local stdio MCP server that gives Claude Code, Codex, OMP, PI, OpenCode and any other MCP client one shared project memory.

Project memory for your AI coding agents, in one local binary.

  • GPL-3.0-or-later
  • macOS (Apple Silicon and Intel) · Linux (x86_64) · Windows

Install Harness Memory View on GitHub Releases

$ memory --about

What is Harness Memory?

Harness Memory is a local stdio MCP server that gives Claude Code, Codex, OMP, PI, OpenCode and any other MCP client one shared project memory.

It includes search first, save last, typed notes and A small entity graph. It runs on macOS (Apple Silicon and Intel), Linux (x86_64) and Windows, and it is open source under the GPL-3.0-or-later license.

$ memory --features

What does Harness Memory do?

  • Search first, save last

    Agents search notes at the start of a task and save what they learn (fixes, decisions, where things live) before they finish.

  • Typed notes

    Notes have a kind: outcome, problem, fix, optimisation, location, decision or note, plus tags and the entities they are about.

  • A small entity graph

    entity_link relates two entities, for example ConfigLoader located_in src/config.rs, and entity_neighbors shows the relations around one.

  • Saved scripts

    Agents save a deterministic script by name so a repeated action runs without being worked out again. A teammate’s script runs only after you approve it.

  • Local SQLite with full-text search

    Notes live in a local SQLite database with FTS5 search, keyed per git repository. Search is stemmed English keyword search.

  • Optional vector search

    Adds notes close in meaning through one local embedder per computer. It is off until you enable it.

  • Secrets redacted on write

    Titles, bodies, tags, entity names and relation labels pass a secret filter before they are stored. It is a heuristic and does not catch everything.

  • Team memory

    Point every teammate’s server at one shared database so a fix one person’s agent saves is found by the next teammate’s agent.

$ memory --harnesses

Which harnesses does Harness Memory support?

  • Claude Code

    Register with claude mcp add --scope user harness-memory -- harness-memory mcp.

  • Codex

    Register with codex mcp add harness-memory -- harness-memory mcp, or in config.toml.

  • OMP

    oh-my-pi

    Add an mcpServers entry in ~/.omp/agent/mcp.json, or use /mcp add.

  • PI

    Recent versions read ~/.pi/agent/mcp.json. Older ones need the pi-mcp-adapter first.

  • OpenCode

    Add a local entry to the mcp object of opencode.json.

  • Any other MCP client

    Any MCP client can start the stdio server with harness-memory mcp.

$ memory --install

How do I install Harness Memory?

  1. # macOS and Linux

    curl -fsSL https://raw.githubusercontent.com/MSpiechowicz/harness-useful-memory/main/install.sh | sh
  2. # Windows (PowerShell)

    powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/MSpiechowicz/harness-useful-memory/main/install.ps1 | iex"

Prefer a download? Every release and its notes are on the Harness Memory releases page.

$ memory --privacy

Is Harness Memory private? Where does my data live?

  • Local by default. Without a team database the server opens no network connection, except that the embedder downloads its search model once when you turn vector search on.
  • Notes live in one SQLite file, memory.sqlite3, in the harness-memory folder of your user data directory. The file is not encrypted.
  • Secrets are redacted before anything is stored. The filter is a heuristic, so do not rely on it.
  • Notes are untrusted data written by agents. Results say where each note came from, and agents are told to check notes against the code.
  • Scripts run as you. A machine runs only scripts saved on it or approved by you there.

$ memory --family

How does Harness Memory fit the Harness Useful family?

Harness Memory is the shared project memory in Harness Useful, a family of four open-source, local tools for coding-agent harnesses. Harness Desktop is the window, Harness Skills the workflow, Harness Memory the shared project memory and Harness Dashboard the usage and cost meter.

Each tool works on its own. Harness Desktop’s Recommended setup can install the others after you confirm each part and register their MCP servers in each detected harness.

See the Harness Useful home page, all four tools side by side or the family FAQ.

$ memory --faq

Harness Memory FAQ

What is Harness Memory?

Harness Memory is a stdio MCP server, shipped as one local binary called harness-memory. Agents such as Claude Code, Codex, OMP, PI and OpenCode search it at the start of a task and save what they learn, so the next session in the same repository starts better informed.

Which coding agents work with Harness Memory?

Any MCP client can start it. The README documents setup for Claude Code, Codex, OMP, PI and OpenCode. Each harness keeps its MCP servers in its own settings, so you add the harness-memory entry once per harness. Harness Desktop can register it for you.

How do I install Harness Memory?

On macOS and Linux run the curl install script from the README. On Windows run the PowerShell command. Both download the binary and checksums from the GitHub release and install nothing unless the SHA-256 matches. Then register it with each harness and check harness-memory --version.

Where does Harness Memory store my notes?

In one SQLite file named memory.sqlite3, in the harness-memory folder of your user data directory. On Linux that is ~/.local/share/harness-memory, on macOS ~/Library/Application Support/harness-memory and on Windows %LOCALAPPDATA%\harness-memory. Set HARNESS_MEMORY_DIR to use another folder.

Does Harness Memory send my notes anywhere?

Not by default. Without a team database the server opens no network connection. The embedder downloads its search model once if you turn vector search on. What an agent reads from memory goes to its model provider like the rest of its context.

Is Harness Memory free and can a team share it?

It is open source under GPL-3.0-or-later. By default each person keeps a local SQLite file. Team memory points every teammate’s server at one shared database, which you set up and configure yourself.

How does Harness Memory connect to Desktop and Skills?

Harness Desktop registers the server in every detected harness while Project memory is on in its Settings, and adds hooks that make agents search first and save last. The us-use-harness-memory skill in Harness Skills works with its MCP tools.

Harness Memory on GitHub Releases Back to the family