Elasticsearch Memory Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Elasticsearch Memory Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A powerful Model Context Protocol (MCP) server that provides persistent, intelligent memory using Elasticsearch with hierarchical categorization and semantic search capabilities.
identity, active_context, active_project, technical_knowledge, archivedInstall directly from PyPI:
pip install elasticsearch-memory-mcp# Using Docker (recommended)
docker run -d -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.0.0
# Or install locally
# https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html#### For Claude Desktop
Add to ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"elasticsearch-memory": {
"command": "uvx",
"args": ["elasticsearch-memory-mcp"],
"env": {
"ELASTICSEARCH_URL": "http://localhost:9200"
}
}
}
}Note: If you don't haveuvx, install withpip install uvxor usepython -m elasticsearch_memory_mcpinstead.
#### For Claude Code CLI
claude mcp add elasticsearch-memory uvx elasticsearch-memory-mcp \
-e ELASTICSEARCH_URL=http://localhost:9200If you want to contribute or modify the code:
# Clone repository
git clone https://github.com/fredac100/elasticsearch-memory-mcp.git
cd elasticsearch-memory-mcp
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install in development mode
pip install -e .Then configure MCP pointing to your local installation:
{
"mcpServers": {
"elasticsearch-memory": {
"command": "/path/to/venv/bin/python",
"args": ["-m", "mcp_server"],
"env": {
"ELASTICSEARCH_URL": "http://localhost:9200"
}
}
}
}#### 1. save_memory Save a new memory with automatic categorization.
{
"content": "Fred prefers direct, brutal communication style",
"type": "user_profile",
"importance": 9,
"tags": ["communication", "preference"]
}#### 2. load_initial_context (Resource) Loads hierarchical context with:
#### 3. review_uncategorized_batch 🆕 V6.2 Review uncategorized memories in batches.
{
"batch_size": 10,
"min_confidence": 0.6
}Returns suggestions with auto-detected categories and confidence scores.
#### 4. apply_batch_categorization 🆕 V6.2 Apply categorizations in batch after review.
{
"approve": ["id1", "id2"], // Auto-categorize
"reject": ["id3"], // Skip
"reclassify": {"id4": "archived"} // Force category
}#### 5. search_memory Semantic search with filters.
{
"query": "SAE project details",
"limit": 5,
"category": "active_project"
}#### 6. auto_categorize_memories Batch auto-categorize uncategorized memories.
{
"max_to_process": 50,
"min_confidence": 0.75
}┌─────────────────┐
│ Claude (MCP) │
└────────┬────────┘
│
▼
┌─────────────────────────────┐
│ MCP Server (v6.2) │
│ ┌─────────────────────┐ │
│ │ Auto-Detection │ │
│ │ - Keyword matching │ │
│ │ - Confidence score │ │
│ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ │
│ │ Batch Review │ │
│ │ - Review workflow │ │
│ │ - Bulk operations │ │
│ └─────────────────────┘ │
└──────────┬──────────────────┘
│
▼
┌──────────────────────────────┐
│ Elasticsearch │
│ ┌────────────────────────┐ │
│ │ memories (index) │ │
│ │ - embeddings (vector) │ │
│ │ - memory_category │ │
│ │ - category_confidence │ │
│ └────────────────────────┘ │
└──────────────────────────────┘| Category | Description | Examples |
|---|---|---|
| identity | Core identity, values, preferences | "Fred prefers brutal honesty" |
| active_context | Current work, recent conversations | "Working on SAE implementation" |
| active_project | Ongoing projects | "Mirror architecture design" |
| technical_knowledge | Facts, configs, tools | "Elasticsearch index settings" |
| archived | Completed, deprecated, old migrations | "Refactored old auth system" |
"Fred prefere comunicação brutal" → identity (0.9)
"Refatoração do sistema SAE concluída" → archived (0.85)
"Próximos passos: implementar dashboard" → active_context (0.8)"Fred prefere comunicação brutal. Primeira vez usando este estilo."
→ Match 1: "Fred prefere" (+0.9)
→ Match 2: "primeira vez" (+0.8)
→ Total: 0.95 (normalized)The v6.2 system includes automatic fallback for v5 memories:
# Review and categorize v5 memories
review_uncategorized_batch(batch_size=20)
apply_batch_categorization(approve=[...])# Run quick test
python test_quick.py
# Expected output:
# ✅ Elasticsearch connected
# ✅ Context loaded
# ✅ Identity memories found
# ✅ Projects separated from fallbackContributions are welcome! Please:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for the Claude ecosystem
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.