zmem MCP Memory Server

by meetdhanani17

273 downloads
Not rated
GitHub

About

Global MCP server that manage all the project data,

Details

Author
meetdhanani17
Downloads
273
Categories
Knowledge Base, AI

- Knowledge graph storage for entities, relations, and observations
- CRUD operations via MCP tools
- Persistence to disk (memory.json)
- Docker and TypeScript support
- Cross-project knowledge sharing and migration
- Scalable, disk-persistent, queryable memory for agent ecosystems

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

To use zmem, add it to your MCP configuration (e.g., for Windsurf) with the command and path to the built index. Install dependencies, build, and run via npm or Docker. Use the MCP client to call tools such as save_project_observations with a project ID and observations. Persisted memory files are stored in a configurable directory (default /app/memories).

Claude Desktop / Cursor

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

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

McpServers

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

zmem MCP Memory Server

zmem 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

zmem 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):

"zmem": {
  "command": "node",
  "args": ["/app/dist/index.js"]
}

Install dependencies

npm install

Build

npm run build

Run (development)

npx ts-node index.ts

Run (production)

npm start

Docker

docker build -t zmem-mcp-server .
docker run -v $(pwd)/memories:/app/memories zmem-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

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