Install
$ agentstack add mcp-bmetallica-ragandragfind ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
RAG und RAGfind
Dokumentzentrierte RAG-Plattform mit Ingestion, hybrider Suche, MCP-Integration, Admin-Werkzeugen und einer separaten lokalen Suchoberfläche namens RAGfind.
Der Stack ingestiert Uploads, synchronisierte Verzeichnisse, gecrawlte Websites und Git-Repositories, extrahiert und strukturiert deren Inhalte, speichert Embeddings und Metadaten in PostgreSQL, stellt dokumentzentrierte APIs und MCP-Tools bereit und bietet zwei sichtbare Oberflächen:
- die Admin- und Betriebskonsole auf Port
3311 - die Endnutzer-Suchoberfläche
RAGfindauf Port3312
Was Das Projekt Macht
Dieses Repository ist für Teams gedacht, die mehr brauchen als reine Vektorsuche.
Es kombiniert:
- Ingestion für Uploads, lokale Verzeichnisse, Websites und Git-Repositories
- OCR-Fallback für gescannte oder schwer extrahierbare Dokumente
- hybride Suche über Vektor-, Keyword-, Fuzzy- und dokumentzentrierte Reranking-Signale
- persistierte Dokumentstruktur mit Sections und Chunk-zu-Section-Zuordnung
- Analyse-Workflows für Aufgaben, Entscheidungen, Fristen, Risiken, Anforderungen, Setup-Schritte, Config-Keys, API-Surfaces und Zusammenfassungen
- MCP-Zugriff über HTTP und stdio für Open WebUI und andere MCP-fähige Clients
- wissensdatenbankbewusste Admin-Steuerung und principalbasierte Zugriffsskopierung
RAGfindals separate Suchoberfläche mit lokalem Multisource-Viewer für HTML, Markdown, Code und Plaintext
Aktuelle Laufzeitoberflächen
Admin / API / MCP
- URL:
http://localhost:3311 - stellt Operator-UI, Ingestion-Formulare, Dokumentbrowser, Admin-Einstellungen, Dokument-APIs und den MCP-Endpunkt bereit
- Basic Auth ist für Admin-Oberfläche und Admin-APIs aktiv
- Standard-Login ist
admin/admin, bis es im UI geändert wird
RAGfind
- URL:
http://localhost:3312 - separater Such-Container und eigene Frontend-Oberfläche
- der Such-Scope ist im Admin-UI auf Port
3311konfigurierbar - gesucht wird nur in den für
RAGfindfreigegebenen Wissensdatenbanken - Suchergebnisse öffnen in einem lokalen Multisource-Viewer statt direkt auf externe Seiten zu springen
MCP
- HTTP-Endpunkt:
http://localhost:3311/mcp - lokaler stdio-Einstieg:
npm run dev:mcp:stdioodernpm run start:mcp:stdio
Screenshots
Admin-UI
RAGfind
Kernfunktionen
Ingestion
- manuelle Uploads
- Import-Verzeichnis-Sync über gemounteten Ordner
- rekursives Website-Crawling mit Download-Unterstützung für Dateien
- Git-Repository-Sync mit optionalem Branch- und Subpfad-Scope
- Extraktion für PDF, DOCX, ODT, TXT, Markdown, HTML, JSON, YAML, SQL, JS, TS, Python, Shell-Skripte und andere Text-/Code-Formate
- OCR-Fallback mit Tesseract und Ghostscript, wenn direkte Extraktion nicht ausreicht
- SHA-256-Deduplizierung vor Chunk- und Vektorpersistenz
- typabhängiges Chunking: die Ollama-Klassifizierung läuft vor dem Chunking und bestimmt sowohl den gespeicherten Dokumenttyp als auch Chunk-Größe und -Overlap (pro Typ in den Dokumenttyp-Einstellungen überschreibbar, sonst globaler Default)
- Embedding läuft vollständig asynchron im Hintergrund: Chunks werden sofort als
pendingpersistiert, sind direkt über Volltext-/Trigram-Suche auffindbar und werden von einem separaten Worker eingebettet, sobald Ollama erreichbar ist — die Ingestion-Transaktion hält dabei nie auf einen Ollama-Roundtrip
Retrieval
- semantische Vektorsuche in PostgreSQL plus pgvector
- PostgreSQL-Fulltext-Suche
- Fuzzy-Matching über Trigram-Indexe
- Exact-Match-Booster für Titel, Source-Ref und Inhalt
- dokumentzentriertes Reranking und Dokumentfokus-Verfeinerung
- Small-to-Big-Kontexterweiterung um starke Treffer herum
- Inventarmodus für Anfragen wie "welche Dokumente gibt es"
- Suchverbesserungen für Repo- und Entity-lastige MCP- und Open-WebUI-Abfragen
Dokumentzentrierter Zugriff
- Volltextabruf kompletter Dokumente
- persistierte Sections und Strukturnavigation
- Originaldatei-Metadaten und stabile Download-URLs
- Dokumentvergleich und Versionsvergleich
- Cross-Reference-Abfragen über mehrere Dokumente hinweg
- lokaler Viewer für gecrawlte Websites, Markdown, Code-Dateien und Plaintext
Analyse
- Extraktion von Meeting-Aufgaben
- Entscheidungsextraktion
- Fristenextraktion
- Anforderungsextraktion
- Extraktion von Config-Keys
- Extraktion von Setup-Schritten
- Extraktion von API-Surfaces
- Extraktion operativer Hinweise
- Risikoextraktion
- Entitätenextraktion
- Dokument- und Section-Zusammenfassungen
Admin- und Multi-KB-Steuerung
- Knowledge-Base-CRUD im Admin-UI
- MCP-Principal-Verwaltung mit KB-Scope
- Admin-User-Verwaltung und Passwortwechsel-Flow
- editierbare Dokumenttyp-Einstellungen für Heuristik, Klassifikation, Smart Search sowie pro Typ überschreibbare Chunk-Größe und Chunk-Overlap (leer = globaler Default)
- konfigurierbarer Knowledge-Base-Scope für
RAGfind
Architektur
Zentrale Laufzeitkomponenten:
ingestor-app: Express-API, Admin-Dashboard, Dokument-APIs, MCP über HTTPingestor-worker: BullMQ-Worker für Hintergrund-Ingestion und Sync-Jobsragfind: separater Express-Runtime für dieRAGfind-Suche und den lokalen Viewerrag-db: PostgreSQL mit pgvectorredis: BullMQ-Backendelasticsearch: optionale Hybrid-Suchsignalquelle- externer Ollama-Endpunkt: Embeddings, Zusammenfassungen und Dokumentklassifikation
Primärer Ingestion-Flow:
- Text aus Uploads, Syncs, Crawls oder Git-Inhalten extrahieren
- bei unzureichender Extraktion auf OCR zurückfallen
- Inhalte normalisieren und per Ollama klassifizieren — das Klassifikationsergebnis bestimmt sowohl den gespeicherten Dokumenttyp als auch die für diesen Typ konfigurierten (oder globalen) Chunk-Größen-/Overlap-Parameter
- Inhalte anhand dieser Parameter in Chunks zerlegen und zusammen mit Dokumenten, Sections, Originaldatei-Metadaten und Analyse-Artefakten in PostgreSQL persistieren — Chunks erhalten zunächst
embedding_status = 'pending'und sind sofort über Volltext- und Trigram-Suche auffindbar - Embeddings werden danach asynchron von einem Hintergrund-Worker erzeugt: ein Health-Check wartet auf einen erreichbaren Ollama-Endpunkt, transiente Fehler (Verbindungsabbruch, Timeout, 5xx) werden mit Backoff unbegrenzt wiederholt, permanente Konfigurationsfehler (z. B. Dimension-Mismatch) markieren die betroffenen Chunks sofort als
failed, statt die Queue zu blockieren - Retrieval über HTTP, Admin-UI, MCP und
RAGfindbereitstellen — der Live-Fortschritt des Embedding-Backlogs ist im Admin-Dashboard sichtbar (siehe „Dashboard und Admin-UI")
Repository-Struktur
src/
config/ Environment-Handling
db/ Pool, Migrationen, Startup-Migrationslauf
mcp/ MCP-HTTP- und stdio-Einstiege
ragfind/ separater RAGfind-Server-Einstieg
routes/ HTTP-Endpunkte und gemeinsame Retrieval-Logik
services/ Ingestion, Retrieval, OCR, Analyse, Sync, Crawl, Auth
utils/ Chunking, Dateien, Hashing, Logging
workers/ BullMQ-Worker-Runtime
migrations/ PostgreSQL-Schema- und Index-Migrationen
public/ Admin-/Operator-Frontend
public/ragfind/ RAGfind-Frontend
import-dir/ gemountetes Import-Verzeichnis für Sync-basierte Ingestion
scripts/ Hilfsskripte für Deployment-Workflows
Anforderungen
- Node.js
20.11+ - PostgreSQL mit pgvector
- Redis
- externer Ollama-Endpunkt
- Docker und Docker Compose für den einfachsten lokalen Betrieb
- optionale OCR-Abhängigkeiten für gescannte Inhalte
Schnellstart Mit Docker Compose
- Environment-Vorlage kopieren.
cp .env.example .env
- Mindestens diese Werte anpassen:
OLLAMA_BASE_URL(Seed-Wert; die laufende KI-Provider-Konfiguration wird danach im Admin-UI unter „Config-AI" verwaltet)- optional
PUBLIC_BASE_URL
- Gesamten Stack bauen und starten.
docker compose up --build
- Admin-Konsole unter
http://localhost:3311öffnen.
RAGfindunterhttp://localhost:3312öffnen.
Der Standard-Compose-Stack startet:
- Admin/API/MCP auf
3311 RAGfindauf3312- PostgreSQL auf Host-Port
5433 - Redis auf Host-Port
6379 - Elasticsearch auf Host-Port
9200
Lokale Entwicklung
- Abhängigkeiten installieren.
npm install
- Environment-Datei kopieren und anpassen.
cp .env.example .env
- PostgreSQL, Redis, optional Elasticsearch und den Ollama-Endpunkt starten.
- Migrationen ausführen.
npm run migrate
- API, Worker und optional
RAGfindin getrennten Terminals starten.
npm run dev
npm run dev:worker
npm run dev:ragfind
Verfügbare Skripte
npm run dev # API im Watch-Modus starten
npm run dev:worker # BullMQ-Worker im Watch-Modus starten
npm run dev:ragfind # RAGfind-Server im Watch-Modus starten
npm run dev:mcp:stdio # MCP-Server über stdio im Watch-Modus starten
npm run build # TypeScript kompilieren
npm run start # kompilierte API starten
npm run start:worker # kompilierten Worker starten
npm run start:ragfind # kompilierten RAGfind-Server starten
npm run start:mcp:stdio # kompilierten MCP-stdio-Server starten
npm run migrate # SQL-Migrationen ausführen
Wichtige Environment-Variablen
Kernservices:
PORT: Admin/API-Port, Standard3311DATABASE_URL: PostgreSQL-Connection-StringREDIS_URL: Redis-Connection-StringPUBLIC_BASE_URL: Basis für erzeugte Download-Links und externe Referenzen
LLM und Embeddings (nur Seed-Werte für die Erstinstallation - die dauerhafte Konfiguration erfolgt danach im Admin-UI unter „Config-AI", siehe unten):
OLLAMA_BASE_URLEMBEDDING_MODELLLM_MODELDOCUMENT_CLASSIFIER_MODELEMBEDDING_DIMENSION
Speicherung und Ingestion:
IMPORT_DIRUPLOAD_DIRORIGINAL_STORAGE_DIRGIT_REPO_CACHE_DIRGIT_REPO_MAX_FILE_BYTESCRAWL_DEFAULT_MAX_DEPTH
Retrieval-Tuning:
QUERY_TOP_KQUERY_CANDIDATE_KQUERY_MAX_CHUNKS_PER_DOCUMENTQUERY_VECTOR_WEIGHTQUERY_KEYWORD_WEIGHTQUERY_EXACT_MATCH_BOOSTQUERY_RERANK_TOP_NQUERY_SMALL_TO_BIG_WINDOW
Suchschicht-Integration:
ELASTICSEARCH_URLELASTICSEARCH_INDEX_PREFIX
Die aktuellen Defaults stehen in .env.example.
Dashboard und Admin-UI
Die Admin-Konsole auf Port 3311 ist über ein Navigationsmenü mit sieben Bereichen strukturiert (Hash-Routing, also direkt verlinkbar und mit Vor-/Zurück-Navigation des Browsers nutzbar):
- Übersicht — Stats, System-Health (Ollama/Elasticsearch/Postgres) und Live-Fortschritt der asynchronen Embedding-Pipeline (Fortschrittsbalken „X / Y Chunks eingebettet" inkl. Hinweis auf fehlgeschlagene Chunks, sobald
failed > 0) - Ingestion — Upload-, Crawl-, Directory-Sync-, Schedule- und Git-Import-Formulare, Queue-Jobs und Embedding-Fortschritt
- Dokumente — Dokumentbrowser mit Vorschau, Filterung, Analyse-Werkbank und Unterstützung für Dokument-Reklassifikation
- Suche — RAG-Query-Test gegen den Such-Stack
- Wissensbasis & Typen — Knowledge-Base-Verwaltung, Dokumenttyp-Einstellungen (inkl. typabhängiger Chunk-Größe/-Overlap) und
RAGfind-KB-Auswahl - System — MCP-Principal-Verwaltung, Admin-User-Verwaltung, Passwortänderung, Elasticsearch-Operationen, Git-Repository-Import-Status und Laufzeitkonfiguration
- Config-AI — Konfiguration des KI-Providers (Ollama oder eine OpenAI-kompatible API): Server-URL, optionaler API-Key sowie je ein per Dropdown aus den auf dem Server tatsächlich verfügbaren Modellen wählbares Modell für Embedding, Zusammenfassung und Dokumentklassifizierung. Änderungen wirken sofort, ohne Neustart — ein Wechsel des Embedding-Modells wird beim Speichern per Testaufruf auf Dimensionskompatibilität geprüft und bei Konflikt mit einer verständlichen Fehlermeldung abgelehnt (siehe
EMBEDDING_DIMENSIONoben)
Die Admin-Konsole ist die Stelle, an der der Such-Scope für RAGfind konfiguriert wird.
Der Embedding-Fortschritt wird per Live-Polling (GET /api/admin/embeddings/pending-status) aktualisiert: solange Chunks noch pending oder failed sind, fragt die Oberfläche den Status alle 5 Sekunden ab und blendet die Anzeige aus, sobald alles eingebettet ist.
RAGfind
RAGfind ist ein separater Container und ein separates Frontend für die Endnutzer-Dokumentsuche.
Aktuelles Verhalten:
- sucht nur in den für
RAGfindaktivierten Wissensdatenbanken - gruppiert Chunk-Treffer zu dokumentzentrierten Ergebnissen
- zieht bei Bedarf direkte Titel- und Source-Ref-Treffer als Ergänzung nach
- öffnet immer einen lokalen Viewer statt gecrawlte Seiten direkt auf der Live-Website aufzurufen
- bietet einen Multisource-Viewer mit gerendertem HTML, gerendertem Markdown, syntaxhervorgehobenem Code und einem Plaintext-Tab
Open-WebUI-Integration
Open WebUI sollte nur über MCP angebunden werden.
Empfohlener Endpunkt:
http://localhost:3311/mcp
Es gibt in diesem Repository keine mitverwalteten Open-WebUI-Python-Filter-, Tool- oder Action-Dateien mehr.
MCP-Unterstützung
Der Service stellt MCP in zwei Modi bereit.
Streamable HTTP MCP
Endpunkt:
http://localhost:3311/mcp
Lokales stdio-MCP
Entwicklung:
npm run dev:mcp:stdio
Produktions-Build:
npm run build
npm run start:mcp:stdio
MCP-Tool-Kategorien
Verfügbare Tools decken ab:
- Retrieval und Smart Search
- Dokumentlisten und Dokument-Lookups
- Volltext-, Section- und Strukturzugriff
- Originaldatei-Metadaten
- Dokumentanalysen und Zusammenfassungen
- Dokumentvergleiche und Cross-Reference-Workflows
Wichtige HTTP-API-Endpunkte
Retrieval
POST /api/smart-searchPOST /api/cross-reference
Dokumente
GET /api/documentsGET /api/documents/:idGET /api/documents/:id/fulltextGET /api/documents/:id/sectionsGET /api/documents/:id/structureGET /api/documents/:id/sectionGET /api/documents/:id/original/metaGET /api/documents/:id/original
Analyse
GET /api/documents/:id/analysis/actionsGET /api/documents/:id/analysis/decisionsGET /api/documents/:id/analysis/deadlinesGET /api/documents/:id/analysis/requirementsGET /api/documents/:id/analysis/config-keysGET /api/documents/:id/analysis/setup-stepsGET /api/documents/:id/analysis/api-surfaceGET /api/documents/:id/analysis/operational-notesGET /api/documents/:id/analysis/risksGET /api/documents/:id/analysis/entitiesGET /api/documents/:id/summaryGET /api/documents/:id/section-summaryGET /api/documents/:id/compareGET /api/documents/:id/compare-version
Hinweise Zu Crawl und Git
- Website-Crawling folgt same-site Links und herunterladbaren Dateien
- weitergeleitete Domains wie
bmetallica.de -> www.bmetallica.dewerden über den Redirect-Ursprung hinweg korrekt gecrawlt - Git-Ingestion unterstützt optionalen Branch- und Subpfad-Scope und indexiert gängige Text- und Code-Formate
GitHub-Repository-Vorbereitung
Dieses Repository ist für die Veröffentlichung auf GitHub vorbereitet mit:
- einer repositorytauglichen README
- einer MIT-Lizenz
.gitignorefür Node, Build, lokale Envs und Import-Artefakte- Anleitungen für containerbasierten und lokalen Betrieb
- einer klaren Trennung zwischen Admin-Oberfläche und
RAGfind
Lizenz
Dieses Projekt steht unter der MIT-Lizenz. Siehe LICENSE.
Roadmap und Design-Notizen
Für tiefere Produkt- und Retrieval-Notizen siehe:
ROADMAP.mdrag-logik.md
Status
Das Repository ist weiterhin in aktiver Entwicklung, die aktuelle Implementierung enthält aber bereits:
- Multi-Source-Ingestion
- typabhängiges Chunking auf Basis der vorgezogenen Ollama-Klassifizierung
- vollständig asynchrone Embedding-Pipeline mit Health-Check, fehlerklassifiziertem Retry und Live-Fortschrittsanzeige im Dashboard
- persistierte Struktur- und Originaldatei-Referenzen
- Analyse- und Summary-Workflows
- MCP-Integration
- wi
…
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bmetallica
- Source: bmetallica/RAGandRAGfind
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.