Gives Claude and other MCP clients persistent memory backed by a shared knowledge graph. Exposes tools like `remember` to store facts, `query` for semantic search before answering, and `get_entity` to navigate relationships. You can batch insert memories, set persistent instructions that apply across all agents, and pull auto-generated user profiles. Ships with a one-line installer that configures Claude Code, Cursor, VS Code Copilot, or Windsurf without touching JSON. Useful when you need context to survive across sessions or want multiple agents working from the same knowledge base instead of starting from scratch every time.
Model Context Protocol server for SharedMemory. Gives Claude Code, Claude Desktop, Cursor, VS Code Copilot, and other MCP-compatible tools persistent memory.
The fastest way to set up SharedMemory — one command, no JSON editing:
# Interactive — picks your client, asks for your API key
npx -y @sharedmemory/mcp-server install
# Or specify everything inline
npx -y @sharedmemory/mcp-server install --cursor --api-key sm_live_... --volume your-volume-id
# Install for all supported clients at once
npx -y @sharedmemory/mcp-server install --all --api-key sm_live_...
Supported clients: --claude-code, --claude, --cursor, --vscode, --windsurf, --all
If you prefer to edit config files yourself:
One command:
claude mcp add sharedmemory -- npx -y @sharedmemory/mcp-server
Or with env vars:
claude mcp add --env SHAREDMEMORY_API_KEY=sm_live_... \
--env SHAREDMEMORY_VOLUME_ID=your-volume-id \
sharedmemory -- npx -y @sharedmemory/mcp-server
Or create .mcp.json in your project root to share with your team:
{
"mcpServers": {
"sharedmemory": {
"command": "npx",
"args": ["-y", "@sharedmemory/mcp-server"],
"env": {
"SHAREDMEMORY_API_KEY": "${SHAREDMEMORY_API_KEY}",
"SHAREDMEMORY_API_URL": "https://api.sharedmemory.ai",
"SHAREDMEMORY_VOLUME_ID": "${SHAREDMEMORY_VOLUME_ID}"
}
}
}
}
Tip: Copy the included
CLAUDE.mdinto your project root to teach Claude Code when and how to use SharedMemory proactively.
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sharedmemory": {
"command": "npx",
"args": ["-y", "@sharedmemory/mcp-server"],
"env": {
"SHAREDMEMORY_API_KEY": "sm_live_...",
"SHAREDMEMORY_API_URL": "https://api.sharedmemory.ai",
"SHAREDMEMORY_VOLUME_ID": "your-volume-id"
}
}
}
}
.cursor/mcp.json in your project root:
{
"mcpServers": {
"sharedmemory": {
"command": "npx",
"args": ["-y", "@sharedmemory/mcp-server"],
"env": {
"SHAREDMEMORY_API_KEY": "sm_live_...",
"SHAREDMEMORY_API_URL": "https://api.sharedmemory.ai",
"SHAREDMEMORY_VOLUME_ID": "your-volume-id"
}
}
}
}
.vscode/mcp.json:
{
"servers": {
"sharedmemory": {
"command": "npx",
"args": ["-y", "@sharedmemory/mcp-server"],
"env": {
"SHAREDMEMORY_API_KEY": "sm_live_...",
"SHAREDMEMORY_API_URL": "https://api.sharedmemory.ai",
"SHAREDMEMORY_VOLUME_ID": "your-volume-id"
}
}
}
}
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"sharedmemory": {
"command": "npx",
"args": ["-y", "@sharedmemory/mcp-server"],
"env": {
"SHAREDMEMORY_API_KEY": "sm_live_...",
"SHAREDMEMORY_API_URL": "https://api.sharedmemory.ai",
"SHAREDMEMORY_VOLUME_ID": "your-volume-id"
}
}
}
}
| Variable | Required | Default | Description |
|---|---|---|---|
SHAREDMEMORY_API_KEY | Yes | — | Agent API key |
SHAREDMEMORY_API_URL | No | https://api.sharedmemory.ai | API endpoint |
SHAREDMEMORY_VOLUME_ID | No | — | Default volume |
| Tool | Description |
|---|---|
remember | Store a fact or note |
query | Retrieve context BEFORE answering — semantic search over memories |
get_entity | Get entity details and relationships |
search_entities | Search entities by name |
get_graph | Knowledge graph overview |
list_volumes | List accessible volumes |
delete_memory | Delete a memory by ID |
update_memory | Update a memory by ID |
feedback | Submit feedback on memory relevance |
batch_remember | Store multiple memories at once |
get_memory | Retrieve a specific memory by ID |
get_profile | Auto-generated user profile from memories |
get_context | Get a context block for LLM prompting |
set_instruction | Store a persistent rule all agents will follow |
list_instructions | List all active instructions for a volume |
list_documents | List uploaded documents |
| URI | Description |
|---|---|
memory://graph | Knowledge graph for the default volume |
| Name | Description |
|---|---|
summarize-knowledge | Summarize all knowledge in a volume |
what-do-you-know-about | Retrieve everything known about a topic |
https://docs.sharedmemory.ai/sdks/mcp-server
MIT
SHAREDMEMORY_API_KEY*secretYour SharedMemory API key
SHAREDMEMORY_API_URLAPI endpoint URL
SHAREDMEMORY_VOLUME_IDDefault volume/project ID
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent