Skip to main content
Glama
johnylira

RAG MCP Server

by johnylira

MCP RAG con Python, LangChain, LangGraph y LlamaIndex

Proyecto de servidor Model Context Protocol (MCP) para indexar documentos y responder preguntas con RAG (Retrieval-Augmented Generation). El servidor usa FastMCP vía SSE, LlamaIndex + ChromaDB para recuperación, LangGraph para orquestación y LangChain para generación.

Arquitectura

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

Inicio rápido

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

El endpoint MCP SSE está en http://localhost:8000/sse.

Documentos

Para hacer que una carpeta local esté disponible para el contenedor, descomenta el volumen ./docs:/workspace/docs:ro en el docker-compose.yml. Luego, llama a la herramienta con una ruta como /workspace/docs/manual.md.

Herramientas MCP

ingest_documents

Indexa archivos .txt, .md y .pdf.

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

ask_rag

Recupera los fragmentos más relevantes y responde con referencias [S1], [S2].

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

Variables de entorno

Variable

Uso

OPENAI_API_KEY

Clave de la API compatible con OpenAI

OPENAI_MODEL

Modelo de generación LangChain

OPENAI_EMBEDDING_MODEL

Modelo de embeddings LlamaIndex

OPENAI_BASE_URL

URL base opcional de endpoint compatible

RAG_DATA_DIR

Directorio persistente de ChromaDB

RAG_COLLECTION

Nombre de la colección vectorial

RAG_CHUNK_SIZE

Tamaño de los fragmentos indexados

RAG_CHUNK_OVERLAP

Superposición entre fragmentos

Seguridad

No expongas el SSE públicamente sin TLS y autenticación. Monta solo directorios de documentos autorizados, ya que la herramienta de ingestión lee las rutas indicadas.

Related MCP Connectors

Related MCP Servers