langgraph-mcp
LangGraph RAG MCP
Un sistema de Retrieval-Augmented Generation (RAG) que expone documentación de LangGraph a través del Model Context Protocol (MCP).
Descripción general
Este proyecto construye un sistema de recuperación de documentación que:
Recopila y procesa documentación de LangGraph desde el sitio web oficial
Crea una base de datos vectorial a partir de esta documentación para la búsqueda semántica
Expone este conocimiento a través del Model Context Protocol (MCP)
Se integra con hosts compatibles con MCP como VS Code, Cursor, Claude Desktop o Windsurf
Related MCP server: groq-docs-mcp
Cómo funciona
1. Recopilación y procesamiento de documentación (Context)
Rastrea y limpia de forma recursiva la documentación de LangGraph desde múltiples URLs de sitios web usando
RecursiveUrlLoadery BeautifulSoup.Divide el texto en fragmentos manejables usando
RecursiveCharacterTextSplittercontiktokenpara un recuento preciso de tokens.Vectoriza los fragmentos usando
embeddingsdeBAAI/bge-large-en-v1.5.Almacena los vectores en un
SKLearnVectorStorepara una recuperación eficiente.
2. Sistema de recuperación (Tool)
Implementa una función de recuperación que encuentra los fragmentos de documentación más relevantes para una consulta determinada.
Integra esta función con modelos de lenguaje como Claude para ofrecer respuestas contextualizadas.
Devuelve respuestas con formato que incluyen la atribución de fuentes y el contexto relevante.
3. Integración con el servidor MCP
Envuelve la herramienta de recuperación en un servidor MCP usando la librería
fastmcp.Expone la función de recuperación como una herramienta que los hosts compatibles con MCP pueden utilizar.
Proporciona acceso tanto al sistema de recuperación como a recursos adicionales (como el archivo de documentación completo).
Requisitos
Python 3.10+
Docker y Docker Compose (recomendado)
Clave de API de Anthropic (para modelos de Claude)
Instalación y configuración
Puedes ejecutar este proyecto con Docker (recomendado) o en un entorno local de Python.
Usar Docker (Recomendado)
Clona este repositorio:
git clone https://github.com/yourusername/langraph-rag-mcp.git
cd langraph-rag-mcpConfigura tus claves de API en un archivo
.env:Crea un archivo
.enven la raíz del proyecto y añade tu clave de API de Anthropic:
echo "ANTHROPIC_API_KEY=your_api_key_here" > .envEl archivo docker-compose.yml cargará automáticamente esta variable de entorno de forma automática.
Entorno local (sin Docker)
Clona este repositorio:
git clone https://github.com/yourusername/langraph-rag-mcp.git
cd langraph-rag-mcpCrea y activa un entorno virtual:
conda create -n mcp python=3.13
conda activate mcpInstala los paquetes requeridos:
pip install -r requirements.txtConfigura tus claves de API en un archivo
.env:
echo "ANTHROPIC_API_KEY=your_api_key_here" > .envUso
El proceso tiene dos pasos principales: primero, generar el almacén de vectores, y segundo, ejecutar el servidor MCP.
Paso 1: Generar el almacén de vectores
Solo necesitas realizar este paso una vez, o cuando quieras actualizar la documentación.
Abre y ejecuta el cuaderno
rag-tool.ipynben un entorno de Jupyter.Esto hará lo siguiente:
Descargar la documentación más reciente de LangGraph.
Guardar la documentación completa en
llms_full.txt.Dividir los documentos en fragmentos.
Crear y persistir un almacén de vectores en
sklearn_vectorstore.parquet.
Paso 2: Ejecutar el servidor MCP
Con Docker
La forma más sencilla de ejecutar el servidor es utilizar el script de shell proporcionado, que une una envoltura de Docker Compose.
bash run-mcp-docker.shEste script creará la imagen de Docker si no existe, iniciará el contenedor y luego ejecutará el servidor MCP dentro de él, gestionando correctamente la entrada/salida estándar para la comunicación MCP.
Sin Docker
Si no estás usando Docker, puedes encender el servidor MCP directamente en modo de desarrollo a través del comando:
mcp dev langgraph-mcp.pyConfigurar los hosts MCP
Para usar este servidor MCP con un editor compatible, debes configurarlo.
VS Code
Abre tu archivo
settings.jsonde VS Code. (Puedes encontrarlo a través de la paleta de comandos:Preferences: Open User Settings (JSON)).Añade la siguiente configuración al archivo. Asegúrate de reemplazar
<path-to-your-project>por la ruta absoluta al directoriolangraph-rag-mcpen tu máquina.
"mcp.servers": [
{
"name": "langgraph-mcp",
"command": [
"/bin/bash",
"<path-to-your-project>/run-mcp-docker.sh"
],
"env": {
"ANTHROPIC_API_KEY": "<your-anthropic-api-key>"
}
}
]Si no estás usando Docker, cambia el comando command a:
"command": [
"<path-to-your-conda-env>/bin/python",
"<path-to-your-project>/langgraph-mcp.py"
]Arquitectura del sistema
(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)Recursos
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.-