Memento
@gannonh
About Memento
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"memento": {
"command": "npx",
"args": [
"-y",
"@gannonh/memento-mcp"
],
"env": {
"MEMORY_STORAGE_TYPE": "neo4j",
"NEO4J_URI": "bolt://127.0.0.1:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "memento_password",
"NEO4J_DATABASE": "neo4j",
"NEO4J_VECTOR_INDEX": "entity_embeddings",
"NEO4J_VECTOR_DIMENSIONS": "1536",
"NEO4J_SIMILARITY_FUNCTION": "cosine",
"OPENAI_API_KEY": "your-openai-api-key",
"OPENAI_EMBEDDING_MODEL": "text-embedding-3-small"
}
}
}
}Tools
No tools detected
Fetch the live tool list by running this server in a temporary sandbox using the button above.
Overview
What is Memento?
Memento is a knowledge graph memory system for large language models (LLMs) that provides persistent ontological memory via the Model Context Protocol (MCP). It uses Neo4j as its storage backend to manage entities, relations, semantic search, temporal awareness, and confidence decay. It is designed for any MCP-compatible client such as Claude Desktop, Cursor, and GitHub Copilot.
How to use Memento?
Set up a Neo4j database (version 5.13 or later) using Neo4j Desktop or Docker Compose. Configure the connection via environment variables or the provided CLI utilities (e.g., npm run neo4j:test). The schema initializes automatically on first connection. MCP tools are then available to the LLM client for creating, reading, updating, and deleting entities and relations.
Key features of Memento
- Entity management with unique names, types, observations, and vector embeddings.
- Relation management with strength, confidence, metadata, and temporal version history.
- Semantic search using vector embeddings and cosine similarity with configurable thresholds.
- Temporal awareness preserving full version history and point-in-time queries.
- Confidence decay of relations over time based on a configurable half-life.
- Rich metadata support including source tracking, custom tags, and structured data.
Use cases of Memento
- Providing LLM clients with persistent, updatable memory across conversations.
- Building knowledge graphs that track evolving relationships and facts over time.
- Enabling semantic retrieval of related concepts even when terminology differs.
- Maintaining audit trails of how knowledge was acquired and modified.
- Supporting point-in-time analysis of historical graph states.
FAQ from Memento
What problem does Memento solve?
Memento gives LLMs a scalable, high-performance knowledge graph memory so they can remember entities, relationships, and observations persistently across sessions, without retraining.
What are the runtime requirements?
Neo4j 5.13 or later is required. The server can be run locally via Neo4j Desktop or Docker Compose. Node.js is needed to run the MCP server itself.
Where is data stored?
All data (entities, relations, embeddings, version history) is stored in a Neo4j database. When using Docker, data persists in the mapped volumes (./neo4j-data, ./neo4j-logs, ./neo4j-import).
How can I reset the database?
Stop the Neo4j container, remove the data directory contents (rm -rf ./neo4j-data/*), restart the container, and reinitialize the schema with npm run neo4j:init.
What transports and authentication are supported?
Memento uses the Model Context Protocol (MCP) for transport. Neo4j authentication is required (default credentials: username neo4j, password memento_password).
Frequently asked questions
What problem does Memento solve?
Memento gives LLMs a scalable, high-performance knowledge graph memory so they can remember entities, relationships, and observations persistently across sessions, without retraining.
What are the runtime requirements?
Neo4j 5.13 or later is required. The server can be run locally via Neo4j Desktop or Docker Compose. Node.js is needed to run the MCP server itself.
Where is data stored?
All data (entities, relations, embeddings, version history) is stored in a Neo4j database. When using Docker, data persists in the mapped volumes (`./neo4j-data`, `./neo4j-logs`, `./neo4j-import`).
How can I reset the database?
Stop the Neo4j container, remove the data directory contents (`rm -rf ./neo4j-data/*`), restart the container, and reinitialize the schema with `npm run neo4j:init`.
What transports and authentication are supported?
Memento uses the Model Context Protocol (MCP) for transport. Neo4j authentication is required (default credentials: username `neo4j`, password `memento_password`).
Basic information
More Other MCP servers
FastMCP v2 🚀
jlowin🚀 The fast, Pythonic way to build MCP servers and clients.
Nginx UI
0xJackyYet another WebUI for Nginx

DeepMark
DeepMark helps teachers deliver rapid, consistent marking with meaningful feedback for every student — in a fraction of the time. What once took a week, now takes one free period.
MCP Toolbox for Databases
googleapisMCP Toolbox for Databases is an open source MCP server for databases.
Inbox Zero AI MCP
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Comments