PluginWorld
Se

servidor_mcp_completo_python

MCP

Enables document indexing and question answering with Retrieval-Augmented Generation, providing cited answers from user-supplied documents.

@johnylira · no license · updated today

SECURITY

B

SCORE

54

STARS

0

PLUG IN

git clone https://github.com/johnylira/servidor_mcp_completo_python.git

See the README to configure this MCP server

README

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

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.

SIMILAR PLUGINS