langgraph-mcp
LangGraph RAG MCP
Un sistema de generación aumentada por recuperación (RAG) que proporciona la 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 la documentación de LangGraph del 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: mcp-rag-agent
Cómo funciona
1. Recopilación y procesamiento de documentación (Contexto)
Extrae y limpia de forma recursiva la documentación de LangGraph de múltiples URL de sitios web usando
RecursiveUrlLoadery BeautifulSoup.Divide el texto en fragmentos manejables usando
RecursiveCharacterTextSplittercontiktokenpara un recuento preciso de tokens.Convierte los fragmentos en representaciones vectoriales usando los embeddings de
BAAI/bge-large-en-v1.5.Almacena los vectores en un
SKLearnVectorStorepara una recuperación eficiente.
2. Sistema de recuperación (Herramienta)
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 conscientes del contexto.
Devuelve respuestas formateadas que incluyen la atribución de la fuente y el contexto relevante.
3. Integración del servidor MCP
Envuelve la herramienta de recuperación en un servidor MCP usando la biblioteca
fastmcp.Expone la función de recuperación como una herramienta que los hosts compatibles con MCP pueden usar.
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 los modelos Claude)
Instalación y configuración
Puedes ejecutar este proyecto con Docker (recomendado) o en un entorno local de Python.
Usando 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.ymlcargará automáticamente esta variable de entorno.
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 necesarios:
pip install -r requirements.txtConfigura tus claves de API en un archivo
.env:echo "ANTHROPIC_API_KEY=your_api_key_here" > .env
Uso
El proceso implica 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 hacerlo una vez, o cada vez que quieras actualizar la documentación.
Abre y ejecuta el notebook
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 usar el script de shell proporcionado, que envuelve Docker Compose.
bash run-mcp-docker.shEste script construirá la imagen de Docker si no existe, iniciará el contenedor y luego ejecutará el servidor MCP dentro de él, manejando correctamente la E/S estándar para la comunicación MCP.
Sin Docker
Si no estás usando Docker, puedes ejecutar el servidor MCP directamente en modo de desarrollo mediante el comando:
mcp dev langgraph-mcp.pyConfiguración de hosts MCP
Para usar este servidor MCP con un editor compatible, debes configurarlo.
VS Code
Abre tu archivo
settings.jsonde VS Code. (Puedes encontrarlo mediante 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>con 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 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 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