agentic-memory-mcp
Agentic Memory Management via MCP — Knowledge Graph for AI agents.
A Model Context Protocol (MCP) server that gives AI agents persistent, structured, and queryable memory via a Knowledge Graph. Designed to be used standalone, embedded in any agentic framework, or served as an MCP tool server.
Architecture
agentic_memory/
├── core/
│ ├── graph.py # KnowledgeGraph — nodes, edges, JSON persistence
│ ├── score.py # Score & ScoreStore — reputation / relevance scoring
│ └── prune.py # AutoPruner — maintenance & auto-pruning
├── mcp/
│ └── server.py # MCP server (stdio transport)
├── cli/
│ └── main.py # Click CLI (memory-cli command)
├── api.py # MemorySkills — Python API (standalone use)
└── hermes/ # Hermes Agent plugin integration
Persistence: JSON files (memory_graph.json, memory_scores.json) — no external database required.
Installation
# From PyPI
pip install agentic-memory-mcp
# Development
git clone https://github.com/alexandrerodenas/agentic-memory-mcp.git
cd agentic-memory-mcp
uv sync
Quick Start
CLI
# Add a memory entry
memory-cli --graph memory.json node add --id alice --label Person --content "Alice lives in Paris"
# Search
memory-cli retrieve --query "Paris"
# Link two entries
memory-cli --graph memory.json edge add --id e1 --source alice --target paris --label lives_in
# Get stats
memory-cli --graph memory.json stats
# Prune old entries
memory-cli --graph memory.json prune --max-nodes 500 --strategy oldest
MCP Server
# Start the MCP server (stdio)
memory-mcp
# Or with custom paths
MEMORY_GRAPH_PATH=/data/memory.json MEMORY_SCORES_PATH=/data/scores.json memory-mcp
Then connect any MCP-compatible AI agent (Claude Code, OpenCode, etc.) to use the tools:
memory_node_add— Add a fact or entitymemory_node_update— Update an entrymemory_node_delete— Delete an entrymemory_node_get— Retrieve by IDmemory_retrieve— Token-optimized top-N retrieval by score (with optional text filter)memory_edge_add— Create a relationshipmemory_corroborate— Reinforce a memory (increases score)memory_prune— Manual pruningmemory_stats— Graph statistics
Hermes Agent Plugin
# Install
hermes plugin install agentic-memory-mcp
# Use in Hermes
/memory add alice "Alice works at Acme Corp"
/memory retrieve --query Acme --limit 10
/memory retrieve --limit 10
/memory corroborate alice
/memory prune --max-nodes 500
Or import in your own agent:
from agentic_memory.hermes import setup
setup(agent=your_agent_instance)
Scoring System
Each memory entry gets a composite relevance score:
score = (3 × corroborations) + (1 × read_count) + (0.5 × recency_bonus)
- Corroborations increase when the same fact is reinforced (e.g., mentioned again by the user or confirmed by another source).
- Read count increases each time the memory is retrieved.
- Recency bonus decays over time — recently accessed memories score higher.
This ensures the most relevant, most frequently accessed, and most corroborated memories bubble up to the top during retrieval, keeping LLM context windows tight.
Auto-Pruning
Auto-prune runs as a background scheduler inside the MCP server process, controlled entirely via environment variables:
# Activate auto-prune: max 1000 nodes, prune when file > 5 MB, every 30 min
MEMORY_AUTO_PRUNE_ENABLED=1 \
MEMORY_AUTO_PRUNE_MAX_NODES=1000 \
MEMORY_AUTO_PRUNE_MAX_SIZE_MB=5 \
MEMORY_AUTO_PRUNE_INTERVAL_SECONDS=1800 \
memory-mcp
| Variable | Default | Description |
|---|---|---|
MEMORY_AUTO_PRUNE_ENABLED |
0 |
Set to 1 to enable the background scheduler |
MEMORY_AUTO_PRUNE_MAX_NODES |
None |
Max nodes before pruning |
MEMORY_AUTO_PRUNE_MAX_SIZE_MB |
None |
Max file size (MB) before pruning |
MEMORY_AUTO_PRUNE_INTERVAL_SECONDS |
3600 |
Seconds between auto-prune runs |
Manual prune is also available via CLI or memory_prune tool.
Configuration
| Variable | Default | Description |
|---|---|---|
MEMORY_GRAPH_PATH |
memory_graph.json |
Path to graph JSON file |
MEMORY_SCORES_PATH |
memory_scores.json |
Path to scores JSON file |
Development
# Install dev deps
uv sync --all-extras
# Run tests
uv run pytest tests/ -v
# Lint
uv run ruff check src/
License
MIT — Alexandre Rodenas
Metadata
Release files for agentic-memory-mcp 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| agentic_memory_mcp-0.7.0.tar.gz | 83.9 kB | With provenance | Details for agentic_memory_mcp-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| agentic_memory_mcp-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for agentic_memory_mcp-0.7.0-py3-none-any.whl |
Total release size: 107.8 kB
Release files / agentic_memory_mcp-0.7.0.tar.gz
| Download URL | agentic_memory_mcp-0.7.0.tar.gz |
|---|---|
| Size | 83.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
097bbdca5c884ebdb5e018a04da9cd4a0576a429b13038b14c9e432fa0ee112b
|
|
BLAKE2b-256 checksum How to use checksums |
fb8bd746c9f5693878460293892f0fbef2e516efe2e0e4ed7dae908713ad20a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency logRelease files / agentic_memory_mcp-0.7.0-py3-none-any.whl
| Download URL | agentic_memory_mcp-0.7.0-py3-none-any.whl |
|---|---|
| Size | 23.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
08432eccf85704f71c1eccfbb603c908dadfad787da258148d4df687e94018b5
|
|
BLAKE2b-256 checksum How to use checksums |
217a94e0c4c8582e7cc6f31d1cdb61b01a559358d46d21a87533216c92914944
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency logSecurity for agentic-memory-mcp 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for agentic_memory_mcp-0.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.