meetdhanani17/xgmem
If you are the rightful owner of xgmem and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
xgmem is a TypeScript-based Model Context Protocol (MCP) server designed to provide project-specific and knowledge graph-based memory for Claude, LLM agents, and other tools.
xgmem 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_observations
get_project_observations
add_graph_observations
create_entities
create_relations
delete_entities
delete_observations
delete_relations
read_graph
search_nodes
search_all_projects
open_nodes
copy_memory
See the get_help
tool (if enabled) for documentation and usage examples via the MCP API.
Configuration
- Set
MEMORY_DIR_PATH
env variable to change the memory storage directory (default:/app/memories
).
License
MIT