MCP server: One MCP server.

Memoir

@bighippomanMCP server · External

Structured session journals for AI agents. Persistent memory across sessions.

AI memoryv1.0.3MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmmemoir-mcpv1.0.3

Run

npx -y memoir-mcp

MCP client config

{
  "mcpServers": {
    "memoir": {
      "command": "npx",
      "args": [
        "-y",
        "memoir-mcp"
      ]
    }
  }
}
README2 min read

memoir-mcp

Structured session journals for AI agents. Persistent memory across sessions -- no more repeating dead ends.

When a session ends, all reasoning is lost -- what was tried, what failed, what's blocked. The next session starts from scratch and repeats the same mistakes. memoir logs it all and hands it off so the next session picks up where the last one left off.

Works with any MCP client: Claude Code, Cursor, Codex, Windsurf, and more.

memoir-mcp MCP server

Install

Claude Code

bash
claude mcp add memoir -s user -- npx -y memoir-mcp

Other MCP clients

bash
npx -y memoir-mcp

How it works

  • Automatic project detection -- identifies the project by its git root, so logs stay scoped without any configuration.
  • Implicit sessions -- a session is created automatically on first log. No setup step.
  • Rolling retention -- keeps the last 20 sessions per project (configurable). Old sessions are pruned automatically.

Tools

Write

ToolDescription
log_attemptRecord something that was tried and its outcome.
log_blockerFlag something that's stuck and why.
resolve_blockerMark a blocker as resolved with what fixed it.
log_decisionRecord a design or architecture choice and its rationale.
end_sessionClose the current session with an optional summary.

Read

ToolDescription
get_handoffStructured summary of the last session -- what was attempted, what's blocked, what was decided.
get_historyQuery past sessions (default: last 3, max 20).
get_blockersList unresolved (or resolved) blockers across all sessions.

Storage

Single SQLite file at ~/.memoir/memoir.db. No API keys, no external services.

Configuration

All limits are configurable via environment variables:

VariableDefaultDescription
MEMOIR_MAX_CONTENT500Max characters for content fields
MEMOIR_MAX_OUTCOME300Max characters for outcome/resolution fields
MEMOIR_MAX_ENTRIES50Max entries per session
MEMOIR_MAX_SESSIONS20Max sessions per project (rolling)

Example with custom limits:

bash
claude mcp add memoir -s user -e MEMOIR_MAX_CONTENT=1000 -e MEMOIR_MAX_ENTRIES=100 -- npx -y memoir-mcp

Handoff output uses a compact format to keep context window usage low.

License

MIT

Similar modules

Browse AI memory