Memento
@gannonh
About Memento
No overview available yet
Basic information
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
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
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).
More Other MCP servers
IDA Pro MCP
mrexodiaAI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Inbox Zero AI
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.
Core Philosophy: Connect, Unify, Respond
mindsdbDelegate anything. It comes back done.
XcodeBuildMCP
cameroncookeA Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Comments