langgraph-mcp
LangGraph RAG MCP
一个通过模型上下文协议(MCP)提供 LangGraph 文档服务的检索增强生成(RAG)系统。
概述
本项目构建了一个文档检索系统,该系统:
从官方网站收集并处理 LangGraph 文档
基于这些文档创建向量数据库,用于语义搜索
通过模型上下文协议(MCP) 开放这些知识
与支持 MCP 的主机集成,例如 VS Code、Cursor、Claude Desktop 或 Windsurf
Related MCP server: mcp-rag-agent
工作原理
1. 文档收集与处理(上下文)
使用
RecursiveUrlLoader和 BeautifulSoup 递归抓取并清理来自多个网站 URL 的 LangGraph 文档。使用
RecursiveCharacterTextSplitter配合tiktoken将文本拆分成易于管理的块,以实现准确的 token 计数。使用
BAAI/bge-large-en-v1.5嵌入模型将文本块嵌入为向量表示。将向量存储在
SKLearnVectorStore中,以便高效检索。
2. 检索系统(工具)
实现一个检索函数,针对给定查询找到最相关的文档块。
将该函数与 Claude 等语言模型集成,以提供上下文感知的响应。
返回包含来源归属和相关上下文的格式化响应。
3. MCP 服务器集成
使用
fastmcp库将检索工具包装到 MCP 服务器中。将检索函数作为工具暴露给兼容 MCP 的主机使用。
同时提供对检索系统和其他资源(如完整文档文件)的访问。
环境要求
Python 3.10+
Docker 和 Docker Compose(推荐)
Anthropic API 密钥(用于 Claude 模型)
安装与设置
你可以使用 Docker(推荐)或本地 Python 环境来运行此项目。
使用 Docker(推荐)
克隆此仓库:
git clone https://github.com/yourusername/langraph-rag-mcp.git cd langraph-rag-mcp在
.env文件中设置你的 API 密钥: 在项目根目录创建.env文件,并添加你的 Anthropic API 密钥:echo "ANTHROPIC_API_KEY=your_api_key_here" > .envdocker-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在
.env文件中设置你的 API 密钥:echo "ANTHROPIC_API_KEY=your_api_key_here" > .env
使用方法
该过程包含两个主要步骤:首先,生成向量存储;其次,运行 MCP 服务器。
步骤 1:生成向量存储
你只需要执行一次此操作,或者在想要更新文档时再次执行。
在 Jupyter 环境中打开并运行
rag-tool.ipynb笔记本。这将:
下载最新的 LangGraph 文档。
将完整文档保存到
llms_full.txt。将文档拆分为多个块。
在
sklearn_vectorstore.parquet处创建并持久化向量存储。
步骤 2:运行 MCP 服务器
使用 Docker
最简单的运行服务器方式是使用提供的 shell 脚本,该脚本封装了 Docker Compose。
bash run-mcp-docker.sh该脚本将在 Docker 镜像不存在时构建镜像,启动容器,然后在容器内执行 MCP 服务器,并正确处理 MCP 通信的标准 I/O。
不使用 Docker
如果你不使用 Docker,可以通过以下命令在开发模式下直接运行 MCP 服务器:
mcp dev langgraph-mcp.py配置 MCP 主机
要将此 MCP 服务器与兼容的编辑器一起使用,你需要对其进行配置。
VS Code
打开你的 VS Code
settings.json文件。(你可以通过命令面板找到它: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)资源
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.217-
- AlicenseNot gradedqualityCmaintenanceEnables document-based Q&A with multi-modal RAG, hybrid retrieval, knowledge graph reasoning, and multi-agent orchestration via MCP tools.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query and manage a document knowledge base via MCP, with RAG-powered search and grounded answers with citations.MIT
- FlicenseNot gradedqualityDmaintenanceExposes a RAG agent built with LangGraph, enabling retrieval-augmented question answering over a PostgreSQL/pgvector corpus via the MCP protocol.-