xgmem MCP Memory Server

by meetdhanani17

335 downloads Not rated yet
GitHub

About

Global MCP server that manage all the project data,

Explore

- Knowledge graph storage for entities, relations, and observations
- CRUD operations via MCP tools
- Persistence to disk (memory.json)
- Docker and TypeScript support

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

- Set MEMORY_DIR_PATH env variable to change the memory storage directory (default: /app/memories).

Add to your MCP config (e.g., for windsurf):

"mcpServers": {
    "xgmem": {
      "command": "npx",
      "args": ["-y", "xgmem@latest"]
    }
  }
npm install

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.

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.

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 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.