Skip to main content
Glama

LangGraph RAG MCP

RAG-система (Retrieval-Augmented Generation), которая предоставляет документацию LangGraph через Model Context Protocol (MCP).

Обзор

Этот проект создаёт систему поиска документации, которая:

  1. Собирает и обрабатывает документацию LangGraph с официального сайта

  2. Создаёт векторную базу данных из этой документации для семантического поиска

  3. Предоставляет эти знания через Model Context Protocol (MCP)

  4. Интегрируется с 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 (рекомендуется)

  1. Клонируйте этот репозиторий:

    git clone https://github.com/yourusername/langraph-rag-mcp.git
    cd langraph-rag-mcp
  2. Укажите свои API-ключи в файле .env:

    Создайте файл .env в корне проекта и добавьте в него ваш API-ключ Anthropic:

    echo "ANTHROPIC_API_KEY=your_api_key_here" > .env

    Файл docker-compose.yml автоматически загрузит эту переменную окружения.

Локальное окружение (без Docker)

  1. Клонируйте этот репозиторий:

    git clone https://github.com/yourusername/langraph-rag-mcp.git
    cd langraph-rag-mcp
  2. Создайте и активируйте виртуальное окружение:

    conda create -n mcp python=3.13
    conda activate mcp
  3. Установите необходимые пакеты:

    pip install -r requirements.txt
  4. Укажите свои API-ключи в файле .env:

    echo "ANTHROPIC_API_KEY=your_api_key_here" > .env

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

Процесс включает два основных шага: сначала создание векторного хранилища, затем запуск MCP-сервера.

Шаг 1: создание векторного хранилища

Это нужно сделать только один раз или каждый раз, когда вы захотите обновить документацию.

  1. Откройте и выполните ноутбук rag-tool.ipynb в среде Jupyter.

  2. В результате будут выполнены следующие действия:

    • загрузка последней документации 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

  1. Откройте файл settings.json в VS Code. (Вы можете найти его через палитру команд: Preferences: Open User Settings (JSON)).

  2. Добавьте в файл следующую конфигурацию. Обязательно замените <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)

Ресурсы

MCP From Scratch

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    C
    maintenance
    Retrieval-Augmented Generation system serving LangGraph documentation through the Model Context Protocol, enabling semantic search and context-aware responses.
    2
    16
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides MCP-compatible hosts with retrieval-augmented access to LangGraph documentation, enabling Claude and other assistants to answer questions with relevant, source-attributed context.
    -