Crawlab MCP Server

Official

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • The MCP server provides integration with Docker, allowing users to run the server in a containerized environment and integrate it with existing Crawlab Docker Compose setups.

  • The MCP server documentation uses Mermaid for architecture diagrams, illustrating the communication flow between components.

  • The MCP server integrates with OpenAI as an LLM provider, allowing AI applications to interact with Crawlab through the MCP protocol. The architecture shows OpenAI as one of the supported LLM providers for processing natural language queries.

Servidor MCP de Crawlab

Este es un servidor de Protocolo de Contexto de Modelo (MCP) para Crawlab, que permite que las aplicaciones de IA interactúen con la funcionalidad de Crawlab.

Descripción general

El servidor MCP proporciona una forma estandarizada para que las aplicaciones de IA accedan a las funciones de Crawlab, que incluyen:

  • Gestión de arañas (crear, leer, actualizar, eliminar)
  • Gestión de tareas (ejecutar, cancelar, reiniciar)
  • Gestión de archivos (lectura, escritura)
  • Acceso a recursos (arañas, tareas)

Arquitectura

La arquitectura servidor/cliente de MCP facilita la comunicación entre las aplicaciones de IA y Crawlab:

Flujo de comunicación

  1. Consulta de usuario : el usuario envía una consulta en lenguaje natural al cliente MCP
  2. Procesamiento LLM : el cliente reenvía la consulta a un proveedor LLM (por ejemplo, Claude, OpenAI)
  3. Selección de herramientas : el LLM identifica las herramientas necesarias y genera llamadas de herramientas
  4. Ejecución de herramientas : el cliente envía llamadas de herramientas al servidor MCP
  5. Interacción API : El servidor ejecuta las solicitudes API de Crawlab correspondientes
  6. Generación de respuesta : los resultados fluyen de regreso a través del servidor al cliente y al LLM.
  7. Respuesta del usuario : el cliente entrega la respuesta final legible por humanos al usuario.

Instalación y uso

Opción 1: Instalar como un paquete de Python

Puede instalar el servidor MCP como un paquete Python, que proporciona una CLI conveniente:

# Install from source pip install -e . # Or install from GitHub (when available) # pip install git+https://github.com/crawlab-team/crawlab-mcp-server.git

Después de la instalación, puede utilizar la CLI:

# Start the MCP server crawlab_mcp-mcp server [--spec PATH_TO_SPEC] [--host HOST] [--port PORT] # Start the MCP client crawlab_mcp-mcp client SERVER_URL

Opción 2: Ejecución local

Prerrequisitos

  • Python 3.8+
  • Instancia de Crawlab ejecutándose y accesible
  • Token API de Crawlab

Configuración

  1. Copie el archivo .env.example a .env :
    cp .env.example .env
  2. Edite el archivo .env con los detalles de su API de Crawlab:
    CRAWLAB_API_BASE_URL=http://your-crawlab-instance:8080/api CRAWLAB_API_TOKEN=your_api_token_here

Ejecutando localmente

  1. Instalar dependencias:
    pip install -r requirements.txt
  2. Ejecutar el servidor:
    python server.py

Ejecutando con Docker

  1. Construya la imagen de Docker:
    docker build -t crawlab-mcp-server .
  2. Ejecute el contenedor:
    docker run -p 8000:8000 --env-file .env crawlab-mcp-server

Integración con Docker Compose

Para agregar el servidor MCP a su configuración existente de Docker Compose de Crawlab, agregue el siguiente servicio a su docker-compose.yml :

services: # ... existing Crawlab services mcp-server: build: ./backend/mcp-server ports: - "8000:8000" environment: - CRAWLAB_API_BASE_URL=http://backend:8000/api - CRAWLAB_API_TOKEN=your_api_token_here depends_on: - backend

Uso con aplicaciones de IA

El servidor MCP permite que las aplicaciones de IA interactúen con Crawlab mediante lenguaje natural. Siguiendo el diagrama de arquitectura anterior, se explica cómo usar el sistema MCP:

Configuración de la conexión

  1. Inicie el servidor MCP : asegúrese de que su servidor MCP esté en ejecución y sea accesible
  2. Configurar el cliente de IA : Conecte su aplicación de IA al servidor MCP

Ejemplo: Uso con Claude Desktop

  1. Abra Claude Desktop
  2. Vaya a Configuración > Servidores MCP
  3. Agregue un nuevo servidor con la URL de su servidor MCP (por ejemplo, http://localhost:8000 )
  4. En una conversación con Claude, ahora puedes usar la funcionalidad de Crawlab describiendo lo que quieres hacer en lenguaje natural.

Ejemplos de interacciones

Basándonos en nuestra arquitectura, aquí se muestran ejemplos de interacciones con el sistema:

Crea una araña:

User: "Create a new spider named 'Product Scraper' for the e-commerce project" ↓ LLM identifies intent and calls the create_spider tool ↓ MCP Server executes the API call to Crawlab ↓ Spider is created and details are returned to the user

Ejecutar una tarea:

User: "Run the 'Product Scraper' spider on all available nodes" ↓ LLM calls the run_spider tool with appropriate parameters ↓ MCP Server sends the command to Crawlab API ↓ Task is started and confirmation is returned to the user

Comandos disponibles

Puede interactuar con el sistema utilizando comandos de lenguaje natural como:

  • "Enumera todas mis arañas"
  • "Crea una nueva araña con estas especificaciones..."
  • "Muéstrame el código de la araña llamada X"
  • "Actualice el archivo main.py en spider X con este código..."
  • "Ejecuta Spider X y avísame cuando esté completo"
  • "Muéstrame los resultados de la última ejecución de Spider X"

Recursos y herramientas disponibles

Estas son las herramientas subyacentes que potencian las interacciones del lenguaje natural:

Recursos

  • spiders : Lista de todas las arañas
  • tasks : enumerar todas las tareas

Herramientas

Gestión de arañas

  • get_spider : Obtener detalles de una araña específica
  • create_spider : Crea una nueva araña
  • update_spider : Actualizar una araña existente
  • delete_spider : Eliminar una araña

Gestión de tareas

  • get_task : Obtener detalles de una tarea específica
  • run_spider : Ejecutar una araña
  • cancel_task : Cancelar una tarea en ejecución
  • restart_task : Reiniciar una tarea
  • get_task_logs : Obtener registros de una tarea

Gestión de archivos

  • get_spider_files : Lista los archivos de una araña
  • get_spider_file : Obtener el contenido de un archivo específico
  • save_spider_file : Guardar contenido en un archivo
-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite que las aplicaciones de IA interactúen con la funcionalidad de Crawlab a través del lenguaje natural, lo que permite la gestión de arañas, la ejecución de tareas y las operaciones de archivos.

  1. Overview
    1. Architecture
      1. Communication Flow
    2. Installation and Usage
      1. Option 1: Install as a Python package
      2. Option 2: Running Locally
      3. Prerequisites
      4. Configuration
      5. Running Locally
      6. Running with Docker
    3. Integration with Docker Compose
      1. Using with AI Applications
        1. Setting Up the Connection
        2. Example: Using with Claude Desktop
        3. Example Interactions
        4. Available Commands
      2. Available Resources and Tools
        1. Resources
        2. Tools
      ID: kou3odk02c