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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceRetrieval-Augmented Generation system serving LangGraph documentation through the Model Context Protocol, enabling semantic search and context-aware responses.16
- 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.
Related MCP Connectors
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Agentic search over your Dewey document collections from any MCP-compatible client.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/siddarthamitta/MCP-Powered-RAG-Assistant-'
If you have feedback or need assistance with the MCP directory API, please join our Discord server