Crawl-MCP
Crawl-MCP: Servidor MCP no oficial para crawl4ai
⚠️ Importante: Esta es una implementación de servidor MCP no oficial para la excelente biblioteca crawl4ai. No está afiliado con el proyecto original crawl4ai.
Un servidor completo del Protocolo de Contexto de Modelo (MCP) que envuelve la potente biblioteca crawl4ai con capacidades avanzadas de IA. Extrae y analiza contenido de cualquier fuente: páginas web, archivos PDF, documentos de Office, vídeos de YouTube y más. Incluye resumen inteligente para reducir drásticamente el uso de tokens mientras se conserva la información esencial.
🌟 Características principales
🔍 Integración con la búsqueda de Google - 7 géneros de búsqueda optimizados con operadores oficiales de Google
🔍 Rastreo web avanzado: soporte para JavaScript, mapeo profundo de sitios, extracción de entidades
🌐 Extracción universal de contenido: páginas web, archivos PDF, documentos de Word, Excel, PowerPoint, archivos ZIP
🤖 Resumen potenciado por IA: reducción inteligente de tokens (hasta un 88,5%) mientras se conserva la información esencial
🎬 Integración con YouTube: extrae transcripciones y resúmenes de vídeos sin necesidad de claves API
⚡ Listo para producción: 19 herramientas especializadas con gestión integral de errores
Related MCP server: Crawl4AI MCP Server
🚀 Inicio rápido
Requisitos previos (necesarios primero)
Python 3.11 o superior (FastMCP requiere Python 3.11+)
Instalar dependencias del sistema para Playwright:
Ubuntu 24.04 LTS (requiere manual):
# Manual setup required due to t64 library transition
sudo apt update && sudo apt install -y \
libnss3 libatk-bridge2.0-0 libxss1 libasound2t64 \
libgbm1 libgtk-3-0t64 libxshmfence-dev libxrandr2 \
libxcomposite1 libxcursor1 libxdamage1 libxi6 \
fonts-noto-color-emoji fonts-unifont python3-venv python3-pip
python3 -m venv venv && source venv/bin/activate
pip install playwright==1.55.0 && playwright install chromium
sudo playwright install-depsOtros Linux/macOS:
sudo bash scripts/prepare_for_uvx_playwright.shWindows (como administrador):
scripts/prepare_for_uvx_playwright.ps1Instalación
UVX (Recomendado - El más sencillo):
# After system preparation above - that's it!
uvx --from git+https://github.com/walksoda/crawl-mcp crawl-mcpDocker (Listo para producción):
# Clone the repository
git clone https://github.com/walksoda/crawl-mcp
cd crawl-mcp
# Build and run with Docker Compose (STDIO mode)
docker-compose up --build
# Or build and run HTTP mode on port 8000
docker-compose --profile http up --build crawl4ai-mcp-http
# Or build manually
docker build -t crawl4ai-mcp .
docker run -it crawl4ai-mcpCaracterísticas de Docker:
🔧 Soporte para múltiples navegadores: navegadores Chromium, Firefox y Webkit en modo headless
🐧 Google Chrome: Chrome Stable adicional para compatibilidad
⚡ Rendimiento optimizado: flags de navegador preconfiguradas para Docker
🔒 Seguridad: ejecución con usuario no root
📦 Dependencias completas: todas las bibliotecas necesarias incluidas
Configuración de Claude Desktop
Instalación con UVX:
Agregue esto a su claude_desktop_config.json:
{
"mcpServers": {
"crawl-mcp": {
"transport": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/walksoda/crawl-mcp",
"crawl-mcp"
],
"env": {
"CRAWL4AI_LANG": "en"
}
}
}
}Modo HTTP de Docker:
{
"mcpServers": {
"crawl-mcp": {
"transport": "http",
"baseUrl": "http://localhost:8000"
}
}
}Para interfaz en japonés:
"env": {
"CRAWL4AI_LANG": "ja"
}📖 Documentación
Tema | Descripción |
Instrucciones completas de instalación para todas las plataformas | |
Documentación completa de herramientas y ejemplos de uso | |
Configuraciones de configuración específicas de la plataforma | |
Acceso a la API HTTP y métodos de integración | |
Técnicas y flujos de trabajo para usuarios avanzados | |
Contribución y configuración de desarrollo |
Documentación específica por idioma
🛠️ Resumen de herramientas
Rastreo web (3)
crawl_url- Extrae contenido de páginas web con soporte para JavaScriptdeep_crawl_site- Rastrea múltiples páginas de un sitio con profundidad configurablecrawl_url_with_fallback- Rastrea con estrategias de respaldo para sitios anti-bot
Extracción de datos (3)
intelligent_extract- Extrae datos específicos de páginas web usando LLMextract_entities- Extrae entidades (correos electrónicos, teléfonos, etc.) de páginas webextract_structured_data- Extrae datos estructurados usando selectores CSS o LLM
YouTube (4)
extract_youtube_transcript- Extrae transcripciones de YouTube con marcas de tiempobatch_extract_youtube_transcripts- Extrae transcripciones de múltiples vídeos de YouTube (máx. 3)get_youtube_video_info- Obtiene metadatos de vídeos de YouTube y disponibilidad de transcripcionesextract_youtube_comments- Extrae comentarios de vídeos de YouTube con paginación
Búsqueda (4)
search_google- Busca en Google con filtrado de génerobatch_search_google- Realiza múltiples búsquedas en Google (máx. 3)search_and_crawl- Busca en Google y rastrea los mejores resultadosget_search_genres- Obtiene los géneros de búsqueda disponibles
Procesamiento de archivos (3)
process_file- Convierte PDF, Word, Excel, PowerPoint, ZIP a markdownget_supported_file_formats- Obtiene los formatos de archivo y capacidades compatiblesenhanced_process_large_content- Procesa contenido grande con fragmentación y filtrado BM25
Operaciones por lotes (2)
batch_crawl- Rastrea múltiples URLs con respaldo (máx. 3 URLs)multi_url_crawl- Rastreo de múltiples URLs con configuración basada en patrones (máx. 5 patrones de URL)
💾 Persistir resultados grandes en disco (ahorrador de tokens)
Todas las herramientas de recopilación de información aceptan un parámetro opcional output_path que escribe el contenido completo obtenido directamente en el disco y devuelve una respuesta ligera solo con metadatos. Esto permite que un LLM obtenga páginas enormes, transcripciones largas de YouTube o lotes completos sin agotar su presupuesto de contexto; lea desde el archivo guardado solo cuando sea necesario.
Cómo funciona:
Las herramientas de un solo archivo (p. ej.,
crawl_url,extract_youtube_transcript) escriben un.md(o.jsonpara herramientas de tipo JSON); pase una ruta de archivo absoluta; la extensión se añade automáticamente si se omite. Se rechaza un archivo normal existente en esa ruta a menos queoverwrite=true.Las herramientas por lotes (
batch_crawl,multi_url_crawl,deep_crawl_site,search_and_crawl,batch_extract_youtube_transcripts) esperan una ruta de directorio absoluta y escriben un.mdpor URL más unindex.json. Cualquier ruta inexistente se trata como un directorio y se crea, incluidos los nombres que contienen puntos como/tmp/run.v1. Si la ruta ya existe como un archivo normal, la llamada se rechaza.batch_crawl/multi_url_crawlmantienen su forma de retorno deliste incrustan una claveoutput_fileen cada elemento exitoso.Las herramientas de diccionario de solicitud (
search_google,batch_search_google,search_and_crawl,batch_extract_youtube_transcripts) leen las claves de persistencia directamente de su diccionario de solicitud.Parámetros comunes:
output_path(absoluto;Noneo""omite la persistencia),include_content_in_response(predeterminadofalse; cuando estrue, el contenido también se incluye en la respuesta, todavía sujeto a cualquier recorte decontent_limit/content_offset/max_content_per_page),overwrite(predeterminadofalse).Las escrituras son atómicas por archivo (archivo temporal +
os.replace); los directorios principales se crean automáticamente; la carga útil completa sin recortar se persiste antes de cualquier recorte o truncamiento interno de la herramienta, por lo que la copia en disco siempre está completa incluso cuando la respuesta está recortada.Las herramientas de diccionario por lotes (
deep_crawl_site,search_and_crawl,batch_extract_youtube_transcripts) omiten la persistencia por elemento para aquellos que informansuccess=false; estos aún aparecen enindex.jsonconfile: nullpara que los llamadores puedan razonar sobre la lista de intentos.
Ejemplo de archivo único Markdown:
{
"tool": "crawl_url",
"arguments": {
"url": "https://example.com/long-article",
"output_path": "/tmp/crawl_out/article.md"
}
}Extracción estructurada JSON (extensión añadida automáticamente):
{
"tool": "extract_structured_data",
"arguments": {
"url": "https://example.com/products",
"extraction_type": "css",
"css_selectors": {"price": ".price", "name": "h1"},
"output_path": "/tmp/crawl_out/products"
}
}Modo de directorio por lotes:
{
"tool": "batch_crawl",
"arguments": {
"urls": ["https://a.example", "https://b.example"],
"output_path": "/tmp/crawl_out/batch_run1"
}
}Cada archivo markdown persistido comienza con un bloque YAML frontmatter que contiene url, title, fetched_at y source_tool para que el artefacto sea autodescriptivo.
🎯 Casos de uso comunes
Investigación de contenido:
search_and_crawl → extract_structured_data → analysisMinería de documentación:
deep_crawl_site → batch processing → extractionAnálisis de medios:
extract_youtube_transcript → summarization workflowMapeo de sitios:
batch_crawl → multi_url_crawl → comprehensive data🚨 Solución de problemas rápida
Problemas de instalación:
Vuelva a ejecutar los scripts de configuración con los privilegios adecuados
Pruebe el método de instalación de desarrollo
Compruebe que las dependencias del navegador estén instaladas
Problemas de rendimiento:
Use
wait_for_js: truepara sitios con mucho JavaScriptAumente el tiempo de espera para páginas de carga lenta
Use
extract_structured_datapara una extracción dirigida
Problemas de configuración:
Compruebe la sintaxis JSON en
claude_desktop_config.jsonVerifique que las rutas de archivo sean absolutas
Reinicie Claude Desktop después de los cambios de configuración
🏗️ Estructura del proyecto
Biblioteca original: crawl4ai por unclecode
Envoltorio MCP: Este repositorio (walksoda)
Implementación: Integración de terceros no oficial
📄 Licencia
Este proyecto es un envoltorio no oficial de la biblioteca crawl4ai. Consulte la licencia original de crawl4ai para conocer la funcionalidad subyacente.
🤝 Contribución
Consulte nuestra Guía de desarrollo para conocer las pautas de contribución y las instrucciones de configuración de desarrollo.
🔗 Proyectos relacionados
crawl4ai - La biblioteca de rastreo web subyacente
Model Context Protocol - El estándar que implementa este servidor
Claude Desktop - Cliente principal para servidores MCP
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
- FlicenseBqualityDmaintenanceAn MCP Server for Web scraping and Crawling, built using Crawl4AI224
- Flicense-qualityDmaintenanceA locally-hosted MCP server that provides AI assistants with advanced web crawling capabilities, including structured data extraction, deep site crawling, and page screenshots. It enables users to convert single or multiple URLs into clean Markdown content for processing by LLMs without requiring external API keys for basic features.
- AlicenseAqualityBmaintenanceWeb extraction MCP server for AI agents. Extract structured data from any URL with built-in Cloudflare bypass, JavaScript rendering, and intelligent parsing. Returns clean markdown or JSON.57942MIT
- Alicense-qualityCmaintenanceMCP server integrating Crawl4AI for universal web crawling and data extraction. Enables AI agents to crawl, extract markdown/HTML, take screenshots, generate PDFs, and execute JavaScript on web pages.677MIT
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
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/walksoda/crawl-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server