Memory MCP Server logo

Memory MCP Server

by jcdiv47

Memory MCP Server is a Python implementation of an MCP server designed to process and save memory as a knowledge graph. It allows AI systems to store, retrieve, and query structured data in the form of entities, relations, and observations, enabling information recall across sessions.

View on GitHub

Last updated: N/A

Memory MCP Server

A Python implementation of an MCP server that processes and saves memory in the form of a knowledge graph.

Overview

MCP Server Memory provides functionality for maintaining a persistent knowledge graph for AI memory. It allows storing, retrieving, and querying structured data in the form of entities, relations, and observations. This enables AI systems to store and recall information across sessions.

Features

  • Create and manage entities with structured information
  • Establish typed relations between entities
  • Add observations to existing entities
  • Delete entities, relations, and observations
  • Search nodes in the knowledge graph
  • Retrieve specific nodes by name

Tools

The server implements the MCP (Model Control Protocol) interface, exposing the following tools:

  • create_entities: Create multiple new entities in the knowledge graph
  • create_relations: Create multiple new relations between entities
  • add_observations: Add new observations to existing entities
  • delete_entities: Delete entities and their associated relations
  • delete_observations: Delete specific observations from entities
  • delete_relations: Delete specific relations from the graph
  • read_graph: Read the entire knowledge graph
  • search_nodes: Search for nodes matching a query
  • open_nodes: Retrieve specific nodes by name

Installation

Using uv (recommended)

uv add mcp-server-memory

Using pip

pip install mcp-server-memory

Usage

Running the server

# Run the server directly
mcp-server-memory

# Set custom memory file path
MEMORY_FILE_PATH=/path/to/memory.json mcp-server-memory

Configuration

Configure for MCP clients

Add to your Claude(claude_desktop_config.json) or Cursor(mcp.json) settings file:

<details> <summary>Using uv</summary>
"mcpServers": {
  "memory": {
    "command": "/path/to/uv",
    "args": [
      "--directory",
      "/path/to/mcp_server_memory/src",
      "run",
      "python",
      "-m",
      "mcp_server_memory"
    ],
    "env": {
      "MEMORY_FILE_PATH": "/path/to/memory.json"
    }
  }
}
</details> <details> <summary>Using pip installation</summary>
"mcpServers": {
  "memory": {
    "command": "python",
    "args": ["-m", "mcp_server_memory"]
  }
}
</details>

Configuring the Memory Path

By default, the knowledge graph data is stored in a memory.json file in the package directory. You can customize the location using the MEMORY_FILE_PATH environment variable.

Development

Clone the repository and install development dependencies:

git clone https://github.com/jcdiv47/mcp-server-memory.git
cd mcp-server-memory
uv venv
source .venv/bin/activate
uv install -e ".[dev]"

License

mcp-server-memory is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.