Das-Chinmay/memory-mesh
π§ Local-first MCP server giving Claude, ChatGPT and Gemini shared memory with conflict detection
Platform-specific configuration:
{
"mcpServers": {
"memory-mesh": {
"command": "npx",
"args": [
"-y",
"memory-mesh"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://pypi.org/project/memory-mesh/) [](#) [](#) [](#)
> Give Claude, ChatGPT and Gemini shared memory.
memory-mesh is a local-first MCP server and REST API that lets every AI assistant on your machine read and write to the same memory store β with automatic conflict detection when two agents disagree.
---
No shared keys. No coordination. Just two agents writing what they know β and memory-mesh catching when they contradict each other.
# Claude saves a fact
curl -s -X POST http://localhost:8765/v1/memories \
-H "Content-Type: application/json" \
-d '{"content": "The Eiffel Tower is 300 metres tall", "agent_id": "claude"}'
# Gemini saves a contradicting fact
curl -s -X POST http://localhost:8765/v1/memories \
-H "Content-Type: application/json" \
-d '{"content": "The Eiffel Tower is 330 metres tall", "agent_id": "gemini"}'The second response includes:
{
"memory": { "...": "..." },
"conflicts": [{
"id": "abc-123",
"trigger": "similarity",
"memory_a_id": "...",
"memory_b_id": "..."
}]
}Resolve it interactively:
$ memory-mesh conflicts
============================================================
Conflict ID: abc-123 [similarity]
A [...] (claude):
The Eiffel Tower is 300 metres tall
B [...] (gemini):
The Eiffel Tower is 330 metres tall
Which is correct? [a/b/skip]: a
Resolved: claude's memory wins.---
pip install memory-mesh---
Add to your claude_desktop_config.json:
{
"mcpServers": {
"memory-mesh": {
"command": "memory-mesh",
"args": ["mcp"]
}
}
}Claude can now call save_context, `search
Loading reviews...