Memstate AI - Git for Agent Memory
About
Git for agent memory. Memstate gives AI agents versioned, structured memory with automatic conflict detection, full version history, and up to 80% fewer tokens than vector-based alternatives. Extracts facts from text and markdown into structured keypaths, with 84.4% accuracy on t
Explore
- Structured, versioned key-value storage for agent memories
- Built-in conflict detection when new facts contradict old ones
- Deterministic recall — returns exact stored values, not approximations
- Constant O(1) token cost regardless of total memory size
- Full version history with soft-delete and tombstone preservation
- Hierarchical dot-notation keypaths for precise browsing
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Memstate AI - Git for Agent MemoryCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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.
---
| Variable | Default | Description |
|----------|---------|-------------|
| MEMSTATE_API_KEY | (required) | API key from memstate.ai/dashboard |
| MEMSTATE_MCP_URL | https://mcp.memstate.ai | Override for self-hosted deployments |
memstate_remember
Store markdown, task summaries, decisions. Server extracts keypaths and detects conflicts automatically. **Use for most writes.**
memstate_set
Set a single keypath to a short value (e.g. `config.port = 8080`). Not for prose.
memstate_get
Browse all memories for a project or subtree. **Use at the start of every task.**
memstate_search
Semantic search by meaning when you don't know the exact keypath.
memstate_history
See how a piece of knowledge changed over time — full version chain.
memstate_delete
Soft-delete a keypath. Creates a tombstone; full history is preserved.
memstate_delete_project
Soft-delete an entire project and all its memories.
| Tool | When to use |
|------|-------------|
| memstate_remember | Store markdown, task summaries, decisions. Server extracts keypaths and detects conflicts automatically. Use for most writes. |
| memstate_set | Set a single keypath to a short value (e.g. config.port = 8080). Not for prose. |
| memstate_get | Browse all memories for a project or subtree. Use at the start of every task. |
| memstate_search | Semantic search by meaning when you don't know the exact keypath. |
| memstate_history | See how a piece of knowledge changed over time — full version chain. |
| memstate_delete | Soft-delete a keypath. Creates a tombstone; full history is preserved. |
| memstate_delete_project | Soft-delete an entire project and all its memories. |
- 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)
```
---
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"memstate ai - git for agent memory": {
"memstate": {
"command": "npx",
"args": [
"-y",
"@memstate/mcp"
],
"env": {
"MEMSTATE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
}
McpServers
{
"memstate": {
"command": "npx",
"args": [
"-y",
"@memstate/mcp"
],
"env": {
"MEMSTATE_API_KEY": "<YOUR_API_KEY>"
}
}
}
Memory (Memstate MCP)
Before each task
- memstate_get(project_id="myproject") — browse existing knowledge - memstate_search(query="topic", project_id="myproject") — find by meaningAfter 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) ```---
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



