About zmem MCP Memory Server
zmem MCP Memory Server, called xgmem in the project, is a TypeScript MCP server for project-specific graph memory used by Claude, LLM agents, and other tools. It supports disk persistence and cross-project sharing.
Key features
- 01Store entities, relations, and observations
- 02Perform CRUD through MCP tools
- 03Persist memory to disk
- 04Share memory across projects
Use cases
- 01Keep structured memory for separate projects
- 02Share or migrate knowledge between projects
- 03Let agents retrieve and manage memory
MCP support
This MCP server provides clients with tools to create, read, search, and delete project observations and knowledge graph data.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMExgmem MCP Memory Server
xgmem is a TypeScript-based Model Context Protocol (MCP) server for enabling project-specific and knowledge graph-based memory for Claude, LLM agents, and other tools. It supports storing, retrieving, and managing entities, relations, and observations per project, with a focus on flexibility and cross-project knowledge sharing.
Features
- Knowledge graph storage for entities, relations, and observations
- CRUD operations via MCP tools
- Persistence to disk (memory.json)
- Docker and TypeScript support
Use Case
xgmem is ideal for:
- Agents and LLMs that need to store and retrieve structured memory (entities, relations, observations) per project.
- Cross-project knowledge sharing and migration.
- Scalable, disk-persistent, and queryable memory for agent ecosystems.
Usage
MCP Config Example
Add to your MCP config (e.g., for windsurf):
"mcpServers": {
"xgmem": {
"command": "npx",
"args": ["-y", "xgmem@latest"]
}
}
Install dependencies
npm install
Build
npm run build
Run (development)
npx ts-node index.ts
Run (production)
npm start
Docker
docker build -t xgmem-mcp-server .
docker run -v $(pwd)/memories:/app/memories xgmem-mcp-server
This will persist all project memory files in the memories directory on your host.
How to Save Memory (MCP API)
To save observations (memory) for a project, call the save_project_observations tool via the MCP API:
Example JSON:
{
"name": "save_project_observations",
"args": {
"projectId": "demo-project",
"observations": [
{
"entityName": "Alice",
"contents": [
"Alice joined Acme Corp in 2021.",
"Alice is a software engineer."
]
},
{
"entityName": "Bob",
"contents": [
"Bob joined Acme Corp in 2022.",
"Bob is a product manager."
]
}
]
}
}
You can use any compatible MCP client, or send this JSON via stdin if running the server directly.
Tooling and API
xgmem exposes the following tools:
save_project_observationsget_project_observationsadd_graph_observationscreate_entitiescreate_relationsdelete_entitiesdelete_observationsdelete_relationsread_graphsearch_nodessearch_all_projectsopen_nodescopy_memory
See the get_help tool (if enabled) for documentation and usage examples via the MCP API.
Configuration
- Set
MEMORY_DIR_PATHenv variable to change the memory storage directory (default:/app/memories).
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
