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_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
Recommend MCP Servers 💡
mcp-excel-server
An MCP server enabling natural language interaction with Excel files for reading, analyzing, visualizing, and writing data.
nx-mcp
The Nx MCP server enhances LLMs by providing rich workspace metadata, enabling them to understand monorepo architecture and make context-aware decisions for improved AI-powered development.
Quickchat AI MCP
The Quickchat AI MCP server
linear-mcp
An MCP server for managing Linear issues, projects, and teams via Cline.
spotify-mcp-server
A lightweight [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.
Base Builder MCP
An MCP server for Base Builders, providing access to Base Docs adapted for Model Context Protocol.
