xgmem MCP Memory Server

by meetdhanani17

335 downloads
Not rated
GitHub

About

Global MCP server that manage all the project data,

Details

Author
meetdhanani17
Downloads
335
Categories
Knowledge Base, AI

- Knowledge graph storage for entities, relations, and observations
- Full CRUD operations via MCP tools
- Disk persistence using a memory.json file per project
- Docker and TypeScript support for flexible deployment
- Configurable memory directory via MEMORY_DIR_PATH environment variable

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name xgmem MCP Memory Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Add xgmem to your MCP client config (e.g., for Windsurf) using npx -y xgmem@latest. Install dependencies (npm install), build (npm run build), and run in development (npx ts-node index.ts) or production (npm start). For Docker, build the image and mount a volume to persist memory files. To save memories, call the save_project_observations tool via the MCP API with a project ID and observations.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "xgmem mcp memory server": {
            "xgmem": {
                "command": "npx",
                "args": [
                    "ts-node",
                    "index.ts"
                ]
            }
        }
    }
}

McpServers

{
    "xgmem": {
        "command": "npx",
        "args": [
            "ts-node",
            "index.ts"
        ]
    }
}

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.