Metadata-Version: 2.4
Name: graph-memory-mcp
Version: 0.2.0
Summary: MCP server for graph-based long-term memory (FalkorDB or ArcadeDB)
Author-email: Marat Shikhragimov <m.shikhragimov@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/river-ai-lab/graph-memory-mcp
Project-URL: Documentation, https://github.com/river-ai-lab/graph-memory-mcp/tree/main/docs
Project-URL: Repository, https://github.com/river-ai-lab/graph-memory-mcp
Project-URL: Changelog, https://github.com/river-ai-lab/graph-memory-mcp/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/river-ai-lab/graph-memory-mcp/issues
Keywords: mcp,memory,knowledge-graph,falkordb,arcadedb,embeddings
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcp<3,>=2.3
Requires-Dist: redis>=5.2.1
Requires-Dist: falkordb>=1.0.9
Requires-Dist: numpy>=2.0.0
Requires-Dist: onnxruntime>=1.20.0
Requires-Dist: tokenizers>=0.20.0
Requires-Dist: huggingface-hub>=0.26.0
Requires-Dist: httpx>=0.28.0
Requires-Dist: pydantic>=2
Requires-Dist: pydantic-settings>=2
Requires-Dist: apscheduler>=3.11.0
Requires-Dist: uvicorn>=0.40.0
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: cachetools>=5.5.0
Requires-Dist: prometheus-client>=0.25.0
Provides-Extra: torch
Requires-Dist: torch>=2.12.0; extra == "torch"
Requires-Dist: sentence-transformers>=3.3.1; extra == "torch"
Dynamic: license-file

# Graph Memory MCP

Self-hosted MCP server for graph-based long-term memory (FalkorDB or ArcadeDB). Agents decide what to write. The server deduplicates on insert, marks outdated facts, surfaces contradictions, and gives each `owner_id` its own graph or database. Embeddings run locally. The server makes no LLM calls.

## Install

```bash
uvx graph-memory-mcp --host 127.0.0.1 --port 8000
```

```bash
pip install graph-memory-mcp
graph-memory-mcp --host 127.0.0.1 --port 8000
```

Streamable HTTP: `http://127.0.0.1:8000/mcp`. The first start downloads the default embedding weights (about 1.1 GB).

## Database

ArcadeDB is the default. The image password is `playwithdata`. The process default for `ARCADE_PASSWORD` is empty, so set it.

```bash
docker run -d --name graph-memory-arcadedb -p 2480:2480 \
  -e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata" \
  arcadedata/arcadedb:latest

ARCADE_PASSWORD=playwithdata graph-memory-mcp --host 127.0.0.1 --port 8000
```

FalkorDB:

```bash
docker run -d --name graph-memory-falkordb -p 6379:6379 \
  -e REDIS_ARGS="--requirepass falkordb123" \
  falkordb/falkordb

GRAPH_BACKEND=falkordb FALKORDB_PASSWORD=falkordb123 graph-memory-mcp --host 127.0.0.1 --port 8000
```

The same services are in [docker-compose.yml](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/docker-compose.yml).

## MCP client

```json
{
  "mcpServers": {
    "graph-memory-mcp": {
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}
```

## Documentation

- [README](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/README.md)
- [Configuration](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/docs/configuration.md)
- [API contract](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/docs/features.md)
- [Agent policies](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/docs/memory_policies_for_LLM.md)
- [FAQ](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/docs/memory_faq.md)
- [Comparison](https://github.com/river-ai-lab/graph-memory-mcp/blob/main/docs/comparison.md)

MIT License.
