Memstate AI

Agent memory with git-like version control. Custom LLMs turn conversations into structured facts with automatic conflict detection - your agent sees how decisions evolved, not four contradictory text blobs. 80% token reduction vs RAG/graph systems. MCP + REST.

Memstate AI - MCP

npm version License: MIT MCP Node

Versioned memory for AI agents. Store facts, detect conflicts, and track how decisions change over time — exposed as a hosted MCP server.

Dashboard · Docs · Pricing


Why Memstate?

RAG (most other memory systems)Memstate AI
Token usage per conversation~7,500~1,500
Agent visibilityBlack boxFull transparency
Memory versioningNoneFull history
Token growth as memories scaleO(n)O(1)
Infrastructure requiredYesNone — hosted SaaS

Other memory systems dump everything into your context window and hope for the best. Memstate gives your agent a structured, versioned knowledge base it navigates precisely — load only what you need, know what changed, know when facts conflict.


Quick Start

Get your API key at memstate.ai/dashboard, then add to your MCP client config:

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

No Docker. No database. No infrastructure. Running in 60 seconds.


Client Setup

Claude Desktop

Config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memstate": {
      "command": "npx",
      "args": ["-y", "@memstate/mcp"],
      "env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
    }
  }
}

Claude Code

claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERE

Cursor

In Cursor Settings → MCP → Add Server — same JSON format as Claude Desktop above.

Cline / Windsurf / Kilo Code / Roo Code

All support the same stdio MCP config format. Add to your client's MCP settings file.


Core Tools

ToolWhen to use
memstate_rememberStore markdown, task summaries, decisions. Server extracts keypaths and detects conflicts automatically. Use for most writes.
memstate_setSet a single keypath to a short value (e.g. config.port = 8080). Not for prose.
memstate_getBrowse all memories for a project or subtree. Use at the start of every task.
memstate_searchSemantic search by meaning when you don't know the exact keypath.
memstate_historySee how a piece of knowledge changed over time — full version chain.
memstate_deleteSoft-delete a keypath. Creates a tombstone; full history is preserved.
memstate_delete_projectSoft-delete an entire project and all its memories.

How keypaths work

Memories are organized in hierarchical dot-notation:

project.myapp.database.schema
project.myapp.auth.provider
project.myapp.deploy.environment

Keypaths are auto-prefixed: keypath="database" with project_id="myapp"project.myapp.database. Your agent can drill into exactly what it needs — no full-context dumps.


How It Works

Agent: memstate_remember(project_id="myapp", content="## Auth\nUsing SuperTokens...")
         ↓
Server extracts keypaths:  [project.myapp.auth.provider, ...]
         ↓
Conflict detection:  compare against existing memories at those keypaths
         ↓
New version stored — old version preserved in history chain
         ↓
Next session: memstate_get(project_id="myapp") → structured summaries only
         ↓
Agent drills into project.myapp.auth only when it needs auth details

Token cost stays constant regardless of how many total memories exist.


Add to Your Agent Instructions

Copy into your AGENTS.md or system prompt:

## Memory (Memstate MCP)

### Before each task
- memstate_get(project_id="myproject") — browse existing knowledge
- memstate_search(query="topic", project_id="myproject") — find by meaning

### After each task
- memstate_remember(project_id="myproject", content="## Summary\n- ...", source="agent")

### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)

Environment Variables

VariableDefaultDescription
MEMSTATE_API_KEY(required)API key from memstate.ai/dashboard
MEMSTATE_MCP_URLhttps://mcp.memstate.aiOverride for self-hosted deployments

Verify Your Connection

MEMSTATE_API_KEY=your_key npx @memstate/mcp --test

Prints all available tools and confirms your API key works.

Built for AI agents that deserve to know what they know.

Related Servers