Skip to main content
Glama
johnylira

RAG MCP Server

by johnylira

MCP RAG с Python, LangChain, LangGraph и LlamaIndex

Проект сервера Model Context Protocol (MCP) для индексации документов и ответов на вопросы с помощью RAG (Retrieval-Augmented Generation). Сервер использует FastMCP через SSE, LlamaIndex + ChromaDB для поиска, LangGraph для оркестрации и LangChain для генерации.

Архитектура

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

Быстрый старт

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

Конечная точка MCP SSE находится по адресу http://localhost:8000/sse.

Документы

Чтобы сделать локальную папку доступной контейнеру, раскомментируйте том ./docs:/workspace/docs:ro в docker-compose.yml. Затем вызовите инструмент с путём, например /workspace/docs/manual.md.

Инструменты MCP

ingest_documents

Индексирует файлы .txt, .md и .pdf.

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

ask_rag

Извлекает наиболее релевантные фрагменты и отвечает со ссылками [S1], [S2].

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

Переменные окружения

Переменная

Использование

OPENAI_API_KEY

Ключ API, совместимый с OpenAI

OPENAI_MODEL

Модель генерации LangChain

OPENAI_EMBEDDING_MODEL

Модель эмбеддингов LlamaIndex

OPENAI_BASE_URL

Необязательный базовый URL совместимой конечной точки

RAG_DATA_DIR

Постоянный каталог ChromaDB

RAG_COLLECTION

Имя векторной коллекции

RAG_CHUNK_SIZE

Размер индексируемых фрагментов

RAG_CHUNK_OVERLAP

Перекрытие между фрагментами

Безопасность

Не открывайте SSE публично без TLS и аутентификации. Монтируйте только каталоги с разрешёнными документами, так как инструмент приёма читает указанные пути.

Related MCP Connectors

Related MCP Servers