xmszm-memory
Multi-user, file-backed MCP memory server enabling isolated namespaces and persistent memory across sessions and AI clients.
README
memory
Personal MCP memory server. Multi-user, file-backed, cross-platform.
Each user gets an isolated namespace. Memories persist across sessions within the namespace.
Quick Start
1. Install MCP Server
# Add to your MCP client config (claude.json, cursor settings, etc.)
{
"mcpServers": {
"xmszm-memory": {
"command": "npx",
"args": ["-y", "@xmszm/memory"]
}
}
}
2. Restart Your AI Environment
That's it! 🎉
On first run, the MCP server will:
- ✅ Auto-detect your AI environment (Claude Code / Cursor / Windsurf / Cline)
- ✅ Deploy
/init-memoryskill - ✅ Deploy SessionStart hook for automatic loading
- ✅ Ready to use
3. Automatic Memory Loading
Every new conversation, memories load automatically! ✨
The SessionStart hook triggers on session start and instructs the AI to call load_session, loading:
- Your identity and role
- Preferences and habits
- Project context
- All triggered memories
No manual action needed - just start chatting!
How It Works
First Time Setup (Automatic):
- You add MCP server to config and restart
- MCP detects it's the first run
- Auto-deploys:
/init-memoryskill to~/.claude/commands/- SessionStart hook script to
~/.claude/hooks/session-start.py - Hook configuration to
~/.claude/settings.json
- Done!
Every Session After:
- New conversation starts
- SessionStart hook runs automatically
- Hook outputs
hookSpecificOutputwith instruction - AI receives context: "call load_session immediately"
- Memories load seamlessly
- AI greets you with proper context
Inspired by: Trellis - proven SessionStart hook pattern
Usage
Requirements
- Node.js >= 18 (if installed via npm)
- No installation needed if using
npx
stdio mode (for MCP clients)
npx -y @xmszm/memory
SSE mode (HTTP server, background service)
npx -y @xmszm/memory sse
npx -y @xmszm/memory sse 3000
Hermes Configuration
{
"mcpServers": {
"xmszm-memory": {
"command": "npx",
"args": ["-y", "@xmszm/memory"]
}
}
}
Claude Code Configuration (claude.json)
{
"mcpServers": {
"xmszm-memory": {
"command": "npx",
"args": ["-y", "@xmszm/memory"]
}
}
}
Cursor / Windsurf / Any MCP Client
Most MCP-compatible clients accept the same format:
{
"mcpServers": {
"xmszm-memory": {
"command": "npx",
"args": ["-y", "@xmszm/memory"]
}
}
}
Tools
| Tool | Description |
|---|---|
load_session(namespace) |
【会话启动】 一次性加载所有触发记忆的完整内容 |
save(namespace, key, content, disclosure?) |
Save a memory |
read(namespace, key) |
Read a memory |
search(namespace, query) |
Search memories by keyword |
delete(namespace, key) |
Delete a memory |
get_triggered(namespace) |
返回所有带触发条件的记忆(只返回 key + disclosure,不返回 content) |
list_namespaces() |
List all users |
init(namespace, target?, includeHook?) |
【首次安装】 手动部署 skill 和 hook 到指定环境(通常自动完成,无需手动调用) |
reset_init() |
【测试/重置】 重置自动初始化标记,允许下次重新部署 |
Auto-Initialization (Default Behavior)
First run: MCP server automatically detects your environment and deploys configuration.
What gets deployed:
- Skill file:
~/.claude/commands/init-memory.md(or equivalent for your AI) - Hook script:
~/.claude/hooks/session-start.py - Hook config:
~/.claude/settings.jsonwith SessionStart hook - Marker file:
~/.xmszm-memory/.auto-init-done(prevents re-initialization)
Manual override: Use init() tool if you need to:
- Deploy to a different namespace
- Deploy to specific environments only
- Re-deploy after changing settings
- Deploy without hooks (
includeHook: false)
Usage Pattern
Every new conversation:
- SessionStart hook runs automatically
- AI receives instruction to call
load_session - All triggered memories are loaded
- AI responds with proper context
No manual action needed! ✨
Tool Details
init - Manual Deployment (Optional)
// Auto-detect and deploy to current environment (with hooks)
init({ namespace: "xmszm" })
// Deploy to all detected environments
init({ namespace: "xmszm", target: "all" })
// Deploy without auto-loading hook (manual /init-memory only)
init({ namespace: "xmszm", includeHook: false })
// Supported environments: claude-code, cursor, windsurf, cline
Data
Stored in ~/.xmszm/memory/ as one JSON file per namespace.
# View all your memories
cat ~/.xmszm/memory/admin.json
License
MIT
Built from the design philosophy of Nocturne Memory by NeuronActivation.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.