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)
Related MCP server: OneSearch MCP Server
Arquitectura
La arquitectura servidor/cliente de MCP facilita la comunicación entre las aplicaciones de IA y Crawlab:
Flujo de comunicación
Consulta de usuario : el usuario envía una consulta en lenguaje natural al cliente MCP
Procesamiento LLM : el cliente reenvía la consulta a un proveedor LLM (por ejemplo, Claude, OpenAI)
Selección de herramientas : el LLM identifica las herramientas necesarias y genera llamadas de herramientas
Ejecución de herramientas : el cliente envía llamadas de herramientas al servidor MCP
Interacción API : El servidor ejecuta las solicitudes API de Crawlab correspondientes
Generación de respuesta : los resultados fluyen de regreso a través del servidor al cliente y al LLM.
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:
Después de la instalación, puede utilizar la CLI:
Opción 2: Ejecución local
Prerrequisitos
Python 3.8+
Instancia de Crawlab ejecutándose y accesible
Token API de Crawlab
Configuración
Copie el archivo
.env.examplea.env:cp .env.example .envEdite el archivo
.envcon 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
Instalar dependencias:
pip install -r requirements.txtEjecutar el servidor:
python server.py
Ejecutando con Docker
Construya la imagen de Docker:
docker build -t crawlab-mcp-server .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 :
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
Inicie el servidor MCP : asegúrese de que su servidor MCP esté en ejecución y sea accesible
Configurar el cliente de IA : Conecte su aplicación de IA al servidor MCP
Ejemplo: Uso con Claude Desktop
Abra Claude Desktop
Vaya a Configuración > Servidores MCP
Agregue un nuevo servidor con la URL de su servidor MCP (por ejemplo,
http://localhost:8000)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:
Ejecutar una tarea:
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ñastasks: enumerar todas las tareas
Herramientas
Gestión de arañas
get_spider: Obtener detalles de una araña específicacreate_spider: Crea una nueva arañaupdate_spider: Actualizar una araña existentedelete_spider: Eliminar una araña
Gestión de tareas
get_task: Obtener detalles de una tarea específicarun_spider: Ejecutar una arañacancel_task: Cancelar una tarea en ejecuciónrestart_task: Reiniciar una tareaget_task_logs: Obtener registros de una tarea
Gestión de archivos
get_spider_files: Lista los archivos de una arañaget_spider_file: Obtener el contenido de un archivo específicosave_spider_file: Guardar contenido en un archivo