langgraph-mcp
LangGraph RAG MCP
RAG-система (Retrieval-Augmented Generation), которая предоставляет документацию LangGraph через Model Context Protocol (MCP).
Обзор
Этот проект создаёт систему поиска документации, которая:
Собирает и обрабатывает документацию LangGraph с официального сайта
Создаёт векторную базу данных из этой документации для семантического поиска
Предоставляет эти знания через Model Context Protocol (MCP)
Интегрируется с MCP-совместимыми хостами, такими как VS Code, Cursor, Claude Desktop или Windsurf
Related MCP server: groq-docs-mcp
Как это работает
1. Сбор и обработка документации (Контекст)
Рекурсивно собирает и очищает документацию LangGraph с нескольких веб-сайтов с помощью
RecursiveUrlLoaderи BeautifulSoup.Разбивает текст на фрагменты с помощью
RecursiveCharacterTextSplitterсtiktokenдля точного подсчёта токенов.Преобразует фрагменты в векторные представления с помощью эмбеддингов
BAAI/bge-large-en-v1.5.Хранит векторы в
SKLearnVectorStoreдля эффективного поиска.
2. Система поиска (Инструмент)
Реализует функцию поиска, которая находит наиболее релевантные фрагменты документации для заданного запроса.
Интегрирует эту функцию с языковыми моделями, такими как Claude, для предоставления ответов с учётом контекста.
Возвращает форматированные ответы, которые включают указание источника и релевантный контекст.
3. Интеграция MCP-сервера
Оборачивает инструмент поиска в MCP-сервер с помощью библиотеки
fastmcp.Предоставляет функцию поиска как инструмент, доступный MCP-совместимым хостам.
Обеспечивает доступ как к системе поиска, так и к дополнительным ресурсам (например, к полному файлу документации).
Требования
Python 3.10+
Docker и Docker Compose (рекомендуется)
API-ключ Anthropic (для моделей Claude)
Установка и настройка
Вы можете запустить этот проект либо с помощью Docker (рекомендуется), либо в локальном окружении Python.
С помощью Docker (рекомендуется)
Клонируйте этот репозиторий:
git clone https://github.com/yourusername/langraph-rag-mcp.git cd langraph-rag-mcpУкажите свои API-ключи в файле
.env:Создайте файл
.envв корне проекта и добавьте в него ваш API-ключ Anthropic:echo "ANTHROPIC_API_KEY=your_api_key_here" > .envФайл
docker-compose.ymlавтоматически загрузит эту переменную окружения.
Локальное окружение (без Docker)
Клонируйте этот репозиторий:
git clone https://github.com/yourusername/langraph-rag-mcp.git cd langraph-rag-mcpСоздайте и активируйте виртуальное окружение:
conda create -n mcp python=3.13 conda activate mcpУстановите необходимые пакеты:
pip install -r requirements.txtУкажите свои API-ключи в файле
.env:echo "ANTHROPIC_API_KEY=your_api_key_here" > .env
Использование
Процесс включает два основных шага: сначала создание векторного хранилища, затем запуск MCP-сервера.
Шаг 1: создание векторного хранилища
Это нужно сделать только один раз или каждый раз, когда вы захотите обновить документацию.
Откройте и выполните ноутбук
rag-tool.ipynbв среде Jupyter.В результате будут выполнены следующие действия:
загрузка последней документации LangGraph;
сохранение полной документации в
llms_full.txt;разбиение документов на фрагменты;
создание и сохранение векторного хранилища в
sklearn_vectorstore.parquet.
Шаг 2: запуск MCP-сервера
С помощью Docker
Самый простой способ запустить сервер — использовать прилагаемый shell-скрипт, который является обёрткой над Docker Compose.
bash run-mcp-docker.shЭтот скрипт соберёт Docker-образ, если он ещё не существует, запустит контейнер и затем выполнит внутри него MCP-сервер, корректно обрабатывая стандартный ввод/вывод для связи через MCP.
Без Docker
Если вы не используете Docker, вы можете запустить MCP-сервер напрямую в режиме разработки следующей командой:
mcp dev langgraph-mcp.pyНастройка MCP-хостов
Чтобы использовать этот MCP-сервер с совместимым редактором, необходимо выполнить его настройку.
VS Code
Откройте файл
settings.jsonв VS Code. (Вы можете найти его через палитру команд:Preferences: Open User Settings (JSON)).Добавьте в файл следующую конфигурацию. Обязательно замените
<path-to-your-project>на абсолютный путь к каталогуlangraph-rag-mcpна вашем компьютере.
"mcp.servers": [
{
"name": "langgraph-mcp",
"command": [
"/bin/bash",
"<path-to-your-project>/run-mcp-docker.sh"
],
"env": {
"ANTHROPIC_API_KEY": "<your-anthropic-api-key>"
}
}
]Если вы не используете Docker, измените command на:
"command": [
"<path-to-your-conda-env>/bin/python",
"<path-to-your-project>/langgraph-mcp.py"
]Архитектура системы
(Phase 1: Data Ingestion - Performed once on Host Machine)
┌─────────────┐ ┌──────────────────┐ ┌───────────────────────────────┐
│ LangGraph │ │ Jupyter Notebook │ │ Vector Store & Full Docs │
│ Docs (Web) │───▶ │ (rag-tool.ipynb) │───▶ │ (.parquet & .txt files) │
└─────────────┘ └──────────────────┘ └───────────────────────────────┘
(Phase 2: Live RAG System - Request/Response Flow)
┌──────────────┐ ┌─────────────┐
│ VS Code │ │ .env file │
│(User Interface)│ │ (API KEY) │
└──────┬───────┘ └──────┬──────┘
│ 1. User Query │ (provides)
▼ │
┌──────┴───────────────────────────────────────────┴───────────────────────────────┐
│ Host Machine Boundary │
│ │
│ ┌────────────────────┐ ┌─────────────────────────────────────────┐ │
│ │ run-mcp-docker.sh │ 2. Execs │ 🐳 Docker Container │ │
│ │ (Entrypoint Script)│────▶ │ │ │
│ └────────────────────┘ │ ┌───────────────────────────────────┐ │ │
│ │ │ 🐍 Python MCP Server │ │ │
│ ▲ ◀─┼──│ (langgraph-mcp.py) │ │ │
│ │ 7. Final Response │ └───────────────┬───────────────────┘ │ │
│ │ │ │ 3. Reads Data From │ │
│ └───────────────────────────────│──────────────────│─────────────────────┘ │
│ │ │ │
│ │ ▼ │
│ │ ┌───────────────────────────────────┐ │
│ (files mounted from Host) ············ │ Mounted Vector Store & Docs │ │
│ │ └───────────────────────────────────┘ │
│ └─────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────────────┘
│ 4. API Call
│ (sends augmented prompt)
▼
┌────────────────────┐
│ ☁️ Anthropic API │
│ (Claude LLM) │
└──────────┬─────────┘
│ 5. Generation
│
◀························
6. Returns Response
(to MCP Server)Ресурсы
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for langchain documentation, generated by doc2mcp.
Agentic search over your Dewey document collections from any MCP-compatible client.
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Related MCP Servers
- FlicenseBqualityCmaintenanceRetrieval-Augmented Generation system serving LangGraph documentation through the Model Context Protocol, enabling semantic search and context-aware responses.216-
- AlicenseNot gradedqualityDmaintenanceEnables users to search Groq's API documentation using natural language queries through an MCP-compatible interface.MIT
- FlicenseNot gradedqualityCmaintenanceProvides MCP-compatible hosts with retrieval-augmented access to LangGraph documentation, enabling Claude and other assistants to answer questions with relevant, source-attributed context.-
- FlicenseNot gradedqualityCmaintenanceEnables retrieval-augmented question answering over LangGraph documentation, allowing MCP-compatible hosts to query a semantic vector store and receive context-aware responses with source attribution.-