Baby-SkyNet MCP Server
Một hệ thống quản lý bộ nhớ tự động cho Claude AI, tích hợp LLM đa nhà cung cấp và cơ sở dữ liệu bộ nhớ liên tục.
Tài liệu
Baby-SkyNet 🤖
Autonomous Memory Management System for Claude AI with Multi-Provider LLM Integration & Graph Database
Ein MCP Server der Claude ein permanentes, durchsuchbares Gedächtnis verleiht - inklusive semantischer Analyse, Multi-Provider LLM Support und Graph-Datenbank Integration.
Was ist das?
Baby-SkyNet erweitert Claude um:
- Persistentes Memory - Erinnerungen überleben Session-Grenzen
- Kategorisierung - Strukturierte Organisation von Wissen
- Volltext-Suche - Finde alte Gespräche und Erkenntnisse
- Semantische Analyse - KI-gestützte Konzept-Extraktion
- Multi-Provider Support - Ollama (lokal) + Anthropic API
- Graph Database - Neo4j Integration für verknüpfte Informationen
Features v2.3
Core Memory Management
- ✅ SQL Database - Robuste, lokale Datenhaltung
- ✅ Kategorien-System - Programmieren, Debugging, Projekte, etc.
- ✅ Volltext-Suche - Durchsuche alle Memories
- ✅ CRUD Operations - Create, Read, Update, Move
Advanced Vector & Graph Storage
- ✅ ChromaDB Integration - Vector-basierte semantische Suche
- ✅ Neo4j Graph Database - Relationship-basierte Memory-Vernetzung
- ✅ Multi-Source Search - Kombinierte Resultate aus allen Datenquellen
- ✅ Graph Analytics - Netzwerk-Statistiken und Beziehungsanalyse
Semantic Analysis Engine
- ✅ Multi-Provider LLM - Ollama (lokal) oder Anthropic API
- ✅ Memory Classification - technical, emotional, procedural, factual
- ✅ Concept Extraction - Automatische Schlüsselkonzept-Extraktion
- ✅ Batch Processing - Asynchrone Analyse mehrerer Memories
- ✅ Metadata Enrichment - Tools, People, Code-Detection
- ✅ Relationship Detection - Automatische semantische Verknüpfungen
Container Management & Auto-Start
- ✅ Podman/Docker Integration - Automatisches Container-Management
- ✅ Auto-Start Services - ChromaDB und Neo4j automatisch starten
- ✅ Health Monitoring - Container-Status in memory_status Tool
- ✅ Smart Recovery - Neustart fehlgeschlagener Container
Quick Start
Voraussetzungen
- Node.js >= 18.0
- TypeScript >= 5.0
- Ollama (optional, für lokale LLM) oder Anthropic API Key
- MCP-kompatible Umgebung (Claude Desktop, etc.)
Installation
# Repository klonen
git clone https://github.com/spie-mkroehn/baby-skynet.git
cd baby-skynet
# Dependencies installieren
npm install
# TypeScript kompilieren
npm run build
# Starten
npm start
Konfiguration
Option 1: Anthropic API (empfohlen)
# .env Datei erstellen
echo "ANTHROPIC_API_KEY=your_api_key_here" > .env
# Mit Claude Haiku starten
node build/index.js --db-path ./claude_memory.db --brain-model claude-3-5-haiku-latest
Option 2: Lokale Ollama
# Ollama installieren und Modell laden
ollama pull llama3.1:latest
# Mit Ollama starten
node build/index.js --db-path ./claude_memory.db --brain-model llama3.1:latest
MCP Integration
In Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"baby-skynet": {
"command": "node",
"args": [
"/pfad/zu/baby-skynet/build/index.js",
"--db-path", "/pfad/zu/claude_memory.db",
"--brain-model", "claude-3-5-haiku-latest"
],
"env": {
"ANTHROPIC_API_KEY": "your_api_key_here"
}
}
}
}
Neo4j Graph Database (Optional aber empfohlen)
Neo4j Setup:
# 1. Neo4j installieren
# Download von https://neo4j.com/download/
# Oder mit Docker:
docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data neo4j
# 2. Environment Variables konfigurieren
cp .env.example .env
# Bearbeite .env mit deinen Neo4j Credentials:
# NEO4J_URL=bolt://localhost:7687
# NEO4J_USER=neo4j
# NEO4J_PASSWORD=your_password
Graph Features nutzen:
save_memory_with_graph- Memory mit automatischer Vernetzungsearch_memories_with_graph- Erweiterte Suche mit Kontextget_memory_graph_context- Beziehungsnetzwerk anzeigenget_graph_statistics- Netzwerk-Statistiken
LLM Client Factory Architecture
Baby-SkyNet verwendet eine zentrale LLMClientFactory zur Verwaltung aller LLM-Provider:
Unterstützte Provider
- Anthropic Claude:
claude-3-sonnet,claude-3-haiku, etc. - Ollama Local Models:
llama2,mistral, etc.
Automatische Provider-Erkennung
import { LLMClientFactory } from './llm/LLMClientFactory.js';
// Automatische Erkennung basierend auf Modellname
const anthropicClient = LLMClientFactory.createClient('claude-3-sonnet');
const ollamaClient = LLMClientFactory.createClient('llama2');
SemanticAnalyzer Integration
Der SemanticAnalyzer nutzt die Factory automatisch:
import { SemanticAnalyzer } from './llm/SemanticAnalyzer.js';
const analyzer = new SemanticAnalyzer('claude-3-sonnet'); // Verwendet Factory intern
🧪 Testing
Baby-SkyNet verfügt über eine umfassende Test-Suite mit 18+ Tests:
# Build & einzelner Test
npm run build
node tests/test-simple.js
# Alle Tests ausführen
Get-ChildItem tests\test-*.js | ForEach-Object { node $_.FullName }
Test-Kategorien:
- Core System Tests (Basis-Funktionalität)
- Integration Tests (End-to-End)
- MCP Interface Tests (Claude Desktop)
- Database Tests (PostgreSQL/SQLite)
- VectorDB Tests (ChromaDB)
- External Service Tests (OpenAI, Neo4j)
📖 Detaillierte Dokumentation: TESTING.md | tests/README.md
✅ JobProcessor Reorganisation (Januar 2025)
Verzeichnisstruktur optimiert
- JobProcessor.ts von
src/jobs/nachsrc/utils/verschoben - Leeres
jobs/Verzeichnis entfernt - Import-Pfade entsprechend aktualisiert
Neue schlanke Struktur:
src/
├── database/ # Alle Datenbank-bezogenen Klassen
├── embedding/ # Embedding-Services
├── llm/ # LLM-Clients und SemanticAnalyzer
├── utils/ # Utilities inkl. JobProcessor
└── index.ts # Hauptdatei
Vorteile:
- Weniger Verzeichnisse → übersichtliche