Skip to main content
Glama
johnylira

RAG MCP Server

by johnylira

MCP RAG com Python, LangChain, LangGraph e LlamaIndex

Projeto de servidor Model Context Protocol (MCP) para indexar documentos e responder perguntas com RAG (Retrieval-Augmented Generation). O servidor usa FastMCP via SSE, LlamaIndex + ChromaDB para recuperação, LangGraph para orquestração e LangChain para geração.

Arquitetura

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

Início rápido

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

O endpoint MCP SSE fica em http://localhost:8000/sse.

Documentos

Para tornar uma pasta local disponível ao contêiner, descomente o volume ./docs:/workspace/docs:ro no docker-compose.yml. Em seguida, chame a ferramenta com um caminho como /workspace/docs/manual.md.

Ferramentas MCP

ingest_documents

Indexa arquivos .txt, .md e .pdf.

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

ask_rag

Recupera os trechos mais relevantes e responde com referências [S1], [S2].

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

Variáveis de ambiente

Variável

Uso

OPENAI_API_KEY

Chave da API compatível com OpenAI

OPENAI_MODEL

Modelo de geração LangChain

OPENAI_EMBEDDING_MODEL

Modelo de embeddings LlamaIndex

OPENAI_BASE_URL

URL-base opcional de endpoint compatível

RAG_DATA_DIR

Diretório persistente do ChromaDB

RAG_COLLECTION

Nome da coleção vetorial

RAG_CHUNK_SIZE

Tamanho dos trechos indexados

RAG_CHUNK_OVERLAP

Sobreposição entre trechos

Segurança

Não exponha o SSE publicamente sem TLS e autenticação. Monte somente diretórios de documentos autorizados, pois a ferramenta de ingestão lê os caminhos informados.

Related MCP Connectors

Related MCP Servers