langgraph-mcp
LangGraph RAG MCP
Система генерации с расширенным поиском (RAG), которая предоставляет документацию LangGraph через Model Context Protocol (MCP).
Обзор
Этот проект создаёт систему поиска по документации, которая:
Собирает и обрабатывает документацию LangGraph с официального сайта
Создаёт векторную базу данных из этой документации для семантического поиска
Предоставляет эти знания через Model Context Protocol (MCP)
Интегрируется с MCP-совместимыми хостами, такими как VS Code, Cursor, Claude Desktop или Windsurf
Related MCP server: mcp-rag-agent
Как это работает
1. Сбор и обработка документации (Context)
Рекурсивно собирает и очищает документацию LangGraph с нескольких URL-адресов сайта с помощью
RecursiveUrlLoaderи BeautifulSoup.Разбивает текст на фрагменты удобного размера с помощью
RecursiveCharacterTextSplitterиtiktokenдля точного подсчёта токенов.Преобразует фрагменты в векторные представления с помощью эмбеддингов
BAAI/bge-large-en-v1.5.Хранит векторы в
SKLearnVectorStoreдля эффективного поиска.
2. Система поиска (Tool)
Реализует функцию поиска, которая находит наиболее релевантные фрагменты документации для заданного запроса.
Интегрирует эту функцию с языковыми моделями, такими как 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-сервер напрямую в dev-режиме с помощью команды:
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.
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Agentic search over your Dewey document collections from any MCP-compatible client.
Related MCP Servers
- FlicenseBqualityCmaintenanceRetrieval-Augmented Generation system serving LangGraph documentation through the Model Context Protocol, enabling semantic search and context-aware responses.216-
- AlicenseNot gradedqualityBmaintenanceEnables document-based Q&A with multi-modal RAG, hybrid retrieval, knowledge graph reasoning, and multi-agent orchestration via MCP tools.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query and manage a document knowledge base via MCP, with RAG-powered search and grounded answers with citations.MIT
- FlicenseNot gradedqualityBmaintenanceExposes a RAG agent built with LangGraph, enabling retrieval-augmented question answering over a PostgreSQL/pgvector corpus via the MCP protocol.-