Anthropic
Setup Guides/Claude Desktop & Claude Code

Memstate + Claude Desktop & Claude Code

Give Claude persistent, versioned memory that survives session resets.

Claude is stateless by default — every new conversation starts from scratch. Memstate gives Claude a structured memory layer via MCP so it remembers your architecture decisions, project context, and past work across every session.

1

Get Your API Key

Sign up for free at Memstate AI and create an API key from your dashboard. No credit card required.

Sign Up Free

Already have an account? Go to API Keys →

2

Add MCP Configuration

Add the following to your Claude Desktop & Claude Code MCP configuration file. Replace YOUR_API_KEY_HERE with your key.

MCP Configuration (JSON)
{
  "mcpServers": {
    "memstate": {
      "command": "npx",
      "args": ["-y", "@memstate/mcp"],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

📁 Where to put this config:

macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
Claude Code~/.claude/claude_desktop_config.json
3

Restart Claude

After saving the config file, you must fully quit and relaunch Claude Desktop (not just close the window). On macOS, use Cmd+Q or right-click the Dock icon → Quit.

Claude Code (CLI)

For Claude Code, run claude mcp add memstate or add the config manually to ~/.claude/claude_desktop_config.json.

4

Add Agent Instructions

Paste this into your project's AGENTS.md, CLAUDE.md, or GEMINI.md. This tells your agent how to use Memstate automatically.

AGENTS.md (paste into your project)
# Memstate MCP - Memory Storage
This project uses Memstate MCP for versioned memory. Keypaths are hierarchical (e.g. `project.myapp.database`).

## Which tool when
- **memstate_remember** — PREFERRED for markdown, task summaries, meeting notes. Server extracts keypaths automatically.
- **memstate_set** — Only for single keypath = single short value (e.g. config.port).
- **memstate_get** — Browse project, fetch existing knowledge before tasks.
- **memstate_search** — Find by meaning when you don't know the keypath.
- **memstate_history** — View version history of a keypath.

## Before each task
Check what already exists: `memstate_get(project_id="myproject")`

## After each task
Save a summary: `memstate_remember(project_id="myproject", content="## Summary\n- What was done\n- Key decisions", source="agent")`

Why this matters

Without instructions, your agent won't know to use Memstate proactively. This snippet tells it to check existing memories before tasks and save summaries after — keeping your project context current across every session.

Verify the Connection

Restart Claude Desktop & Claude Code, then ask your agent:

Test prompt
Use memstate_get() to list all my projects and confirm Memstate is connected.

You're all set!

Claude Desktop & Claude Code now has access to structured, versioned memory. It will automatically look up existing knowledge before tasks and save summaries after completion — keeping your project context current and organized across every session.

Alternative: Install as an Agent Skill

Prefer a portable, project-committed approach? Install the Memstate skill directly into your repo. Skills are loaded automatically by compatible agents (Claude Code, Cline, Cursor) without needing manual AGENTS.md edits.

Terminal
npx @memstate/skills setup

See the Skills documentation for full details on supported agents and manual installation options.