Skip to main content
Glama

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:

  1. Recopila y procesa documentación de LangGraph desde el sitio web oficial

  2. Crea una base de datos vectorial a partir de esta documentación para la búsqueda semántica

  3. Expone este conocimiento a través del Model Context Protocol (MCP)

  4. Se integra con hosts compatibles con MCP como VS Code, Cursor, Claude Desktop o Windsurf

Related MCP server: LangGraph RAG 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 RecursiveUrlLoader y BeautifulSoup.

  • Divide el texto en fragmentos manejables usando RecursiveCharacterTextSplitter con tiktoken para un recuento preciso de tokens.

  • Vectoriza los fragmentos usando embeddings de BAAI/bge-large-en-v1.5.

  • Almacena los vectores en un SKLearnVectorStore para 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)

  1. Clona este repositorio:

git clone https://github.com/yourusername/langraph-rag-mcp.git
cd langraph-rag-mcp
  1. Configura tus claves de API en un archivo .env:

    Crea un archivo .env en la raíz del proyecto y añade tu clave de API de Anthropic:

echo "ANTHROPIC_API_KEY=your_api_key_here" > .env

El archivo docker-compose.yml cargará automáticamente esta variable de entorno de forma automática.

Entorno local (sin Docker)

  1. Clona este repositorio:

git clone https://github.com/yourusername/langraph-rag-mcp.git
cd langraph-rag-mcp
  1. Crea y activa un entorno virtual:

conda create -n mcp python=3.13
conda activate mcp
  1. Instala los paquetes requeridos:

pip install -r requirements.txt
  1. Configura tus claves de API en un archivo .env:

echo "ANTHROPIC_API_KEY=your_api_key_here" > .env

Uso

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.

  1. Abre y ejecuta el cuaderno rag-tool.ipynb en un entorno de Jupyter.

  2. 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.sh

Este 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.py

Configurar los hosts MCP

Para usar este servidor MCP con un editor compatible, debes configurarlo.

VS Code

  1. Abre tu archivo settings.json de VS Code. (Puedes encontrarlo a través de la paleta de comandos: Preferences: Open User Settings (JSON)).

  2. Añade la siguiente configuración al archivo. Asegúrate de reemplazar <path-to-your-project> por la ruta absoluta al directorio langraph-rag-mcp en 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

MCP From Scratch404

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Agentic search over your Dewey document collections from any MCP-compatible client.

  • Query any docs site via MCP. Submit a URL, ask questions, get cited answers.

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

View all MCP Connectors

Latest Blog Posts

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/akshay2172/langgraph-rag-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server