Skip to main content
Glama
johnylira

RAG MCP Server

by johnylira

MCP RAG mit Python, LangChain, LangGraph und LlamaIndex

Projekt für einen Model Context Protocol (MCP)-Server zum Indizieren von Dokumenten und Beantworten von Fragen mit RAG (Retrieval-Augmented Generation). Der Server verwendet FastMCP über SSE, LlamaIndex + ChromaDB für die Abfrage, LangGraph für die Orchestrierung und LangChain für die Generierung.

Architektur

Cliente MCP -> SSE (/sse) -> FastMCP
                           -> ingest_documents(paths)
                           -> ask_rag(question)
                                  -> LangGraph
                                     -> recuperar contexto (LlamaIndex/Chroma)
                                     -> gerar resposta (LangChain/OpenAI)
                                     -> validar citações

Related MCP server: Antigravity PDF MCP Server

Schnellstart

cp .env.example .env
# Edite .env e informe OPENAI_API_KEY
docker compose up --build

Der MCP-SSE-Endpunkt befindet sich unter http://localhost:8000/sse.

Dokumente

Um einen lokalen Ordner für den Container verfügbar zu machen, kommentieren Sie das Volume ./docs:/workspace/docs:ro in der docker-compose.yml aus. Rufen Sie dann das Tool mit einem Pfad wie /workspace/docs/manual.md auf.

MCP-Tools

ingest_documents

Indiziert .txt-, .md- und .pdf-Dateien.

{"paths": ["/workspace/docs/manual.md"]}

ask_rag

Ruft die relevantesten Textabschnitte ab und antwortet mit Referenzen [S1], [S2].

{"question": "Quais são os procedimentos de backup?", "top_k": 5}

Umgebungsvariablen

Variable

Verwendung

OPENAI_API_KEY

API-Schlüssel für OpenAI-kompatible APIs

OPENAI_MODEL

LangChain-Generierungsmodell

OPENAI_EMBEDDING_MODEL

LlamaIndex-Embedding-Modell

OPENAI_BASE_URL

Optionale Basis-URL für kompatiblen Endpunkt

RAG_DATA_DIR

Persistenter ChromaDB-Ordner

RAG_COLLECTION

Name der Vektorsammlung

RAG_CHUNK_SIZE

Größe der indizierten Textabschnitte

RAG_CHUNK_OVERLAP

Überlappung zwischen Textabschnitten

Sicherheit

Setzen Sie SSE nicht ohne TLS und Authentifizierung öffentlich ein. Mounten Sie nur autorisierte Dokumentverzeichnisse, da das Ingestions-Tool die angegebenen Pfade liest.

Related MCP Connectors

Related MCP Servers