Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Memento MCP: A Knowledge Graph Memory System for LLMs
| Date | Stars |
|---|---|
| 2026-07-24 | 424 |
| 2026-07-25 | 424 |
| 2026-07-28 | 424 |
| 2026-07-30 | 424 |
| 2026-07-31 | 425 |
| 2026-08-06 | 425 |
Today
— stars today
This week
+1 stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.24%/day
# Memento MCP: A Knowledge Graph Memory System for LLMs

Scalable, high performance knowledge graph memory system with semantic retrieval, contextual recall, and temporal awareness. Provides any LLM client that supports the model context protocol (e.g., Claude Desktop, Cursor, Github Copilot) with resilient, adaptive, and persistent long-term ontological memory.
[](https://github.com/gannonh/memento-mcp/actions/workflows/memento-mcp.yml)
[](https://smithery.ai/server/@gannonh/memento-mcp)
## Core Concepts
### Entities
Entities are the primary nodes in the knowledge graph. Each entity has:
- A unique name (identifier)
- An entity type (e.g., "person", "organization", "event")
- A list of observations
- Vector embeddings (for semantic search)
- Complete version history
Example:
```json
{
"name": "John_Smith",
"entityType": "person",
"observations": ["Speaks fluent Spanish"]
}
```
### Relations
Relations define directed connections between entities with enhanced properties:
- Strength indicators (0.0-1.0)
- Confidence levels (0.0-1.0)
- Rich metadata (source, timestamps, tags)
- Temporal awareness with version history
- Time-based confidence decay
Example:
```json
{
"from": "John_Smith",
"to": "Anthropic",
"relationType": "works_at",
"strength": 0.9,
"confidence": 0.95,
"metadata": {
"source": "linkedin_profile",
"last_verified": "2025-03-21"
}
}
```
## Storage Backend
Memento MCP uses Neo4j as its storage backend, providing a unified solution for both graph storage and vector search capabilities.
### Why Neo4j?
- **Unified Storage**: Consolidates both graph and vector storage into a single database
- **Native Graph Operations**: Built specifically for graph traversal and queries
- **Integrated Vector Search**: Vector similarity search for embeddings built directly into Neo4j
- **Scalability**: Better performance with large knowledge graphs
- **Simplified Architecture**: Clean design with a single database for all operations
### Prerequisites
- Neo4j 5.13+ (required for vector search capabilities)
### Neo4j Desktop Setup (Recommended)
The easiest way to get started with Neo4j is to use [Neo4j Desktop](https://neo4j.com/download/):
1. Download and install Neo4j Desktop from <https://neo4j.com/download/>
2. Create a new project
3. Add a new database
4. Set password to `memento_password` (or your preferred password)
5. Start the database
The Neo4j database will be available at:
- **Bolt URI**: `bolt://127.0.0.1:7687` (for driver connections)
- **HTTP**: `http://127.0.0.1:7474` (for Neo4j Browser UI)
- **Default credentials**: username: `neo4j`, password: `memento_password` (or whatever you configured)
### Neo4j Setup with Docker (Alternative)
Alternatively, you can use Docker Compose to run Neo4j:
```bash
# Start Neo4j container
docker-compose up -d neo4j
# Stop Neo4j container
docker-compose stop neo4j
# Remove Neo4j container (preserves data)
docker-compose rm neo4j
```
When using Docker, the Neo4j database will be available at:
- **Bolt URI**: `bolt://127.0.0.1:7687` (for driver connections)
- **HTTP**: `http://127.0.0.1:7474` (for Neo4j Browser UI)
- **Default credentials**: username: `neo4j`, password: `memento_password`
#### Data Persistence and Management
Neo4j data persists across container restarts and even version upgrades due to the Docker volume configuration in the `docker-compose.yml` file:
```yaml
volumes:
- ./neo4j-data:/data
- ./neo4j-logs:/logs
- ./neo4j-import:/import
```
These mappings ensure that:
- `/data` directory (contains all database files) persists on your host at `./neo4j-data`
- `/logs` directory persists on your host at `./neo4j-logs`
- `/import` directory (for importing data files) persists at `./neo4j-import`
You caExcerpt of 23,012 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:dcd4b88ca9b14708, topic:knowledge-graph, desc:knowledge graph, readme:knowledge graph
matched fp:dcd4b88ca9b14708, topic:vector-database, readme:vector search, readme:similarity search