Documentation · npm · Getting Started · Tool Reference
--- GitMem is an [MCP server](https://modelcontextprotocol.io/) that gives your AI coding agent **persistent learning memory across agent sessions**. It remembers mistakes (scars), successes (wins), and decisions — so your agent learns from experience instead of starting from scratch every time. > **What's MCP?** [Model Context Protocol](https://modelcontextprotocol.io/) is how AI coding tools connect to external capabilities. GitMem is an MCP server — install it once and your agent gains persistent memory. Works with **Claude Code**, **Cursor**, **VS Code (Copilot)**, **Windsurf**, and any MCP-compatible client. ## Quick Start ```bash npx gitmem-mcp init ``` One command. The wizard auto-detects your IDE and sets up everything: - `.gitmem/` directory with starter scars - MCP server config (`.mcp.json`, `.vscode/mcp.json`, `.cursor/mcp.json`, etc.) - Instructions file (`CLAUDE.md`, `.cursorrules`, `.windsurfrules`, `.github/copilot-instructions.md`) - Lifecycle hooks (where supported) - `.gitignore` updated Already have existing config? The wizard merges without destroying anything. Re-running is safe. ```bash npx gitmem-mcp init --yes # Non-interactive npx gitmem-mcp init --dry-run # Preview changes npx gitmem-mcp init --client vscode # Force specific client ``` ## How It Works ``` recall --> work --> learn --> close --> recall --> ... ``` 1. **Recall** — Before acting, the agent checks memory for relevant lessons from past sessions 2. **Work** — The agent does the task, applying past lessons automatically 3. **Learn** — Mistakes become **scars**, successes become **wins**, strategies become **patterns** 4. **Close** — Session reflection persists context for next time Every scar includes **counter-arguments** — reasons why someone might reasonably ignore it. This prevents memory from becoming a pile of rigid rules. ## What Gets Remembered | Type | Purpose | Example | |------|---------|---------| | **Scars** | Mistakes to avoid | "Always validate UUID format before DB lookup" | | **Wins** | Approaches that worked | "Parallel agent spawning cut review time by 60%" | | **Patterns** | Reusable strategies | "5-tier test pyramid for MCP servers" | | **Decisions** | Architectural choices with rationale | "Chose JWT over session cookies for stateless auth" | | **Threads** | Unfinished work that carries across sessions | "Rate limiting still needs implementation" | ## Key Features - **Automatic Recall** — Scars surface before the agent takes similar actions - **Session Continuity** — Context, threads, and rapport carry across sessions - **Closing Ceremony** — Structured reflection captures what broke, what worked, and what to do differently - **20+ MCP Tools** — Full toolkit for memory management, search, threads, and multi-agent coordination - **Zero Config** — `npx gitmem-mcp init` and you're running - **Non-Destructive** — Merges with your existing `.mcp.json`, `CLAUDE.md`, and hooks ## Supported Clients | Client | Setup | Hooks | |--------|-------|-------| | **Claude Code** | `npx gitmem-mcp init` | Full (session, recall, credential guard) | | **Cursor** | `npx gitmem-mcp init --client cursor` | Partial (session, recall) | | **VS Code (Copilot)** | `npx gitmem-mcp init --client vscode` | Instructions-based | | **Windsurf** | `npx gitmem-mcp init --client windsurf` | Instructions-based | | **Claude Desktop** | Add to `claude_desktop_config.json` | Manual | | **Any MCP client** | `npx gitmem-mcp init --client generic` | Instructions-based | The wizard auto-detects your IDE. Use `--client` to override.