中文 | Deutsch | Español | français | 日本語 | 한국어 | Português | Русский
Servidor MCP para obtener contenido de páginas web utilizando el navegador sin cabeza Playwright.
🌟 Recomendado: OllaMan - Potente gestor de modelos AI Ollama.
Soporte para JavaScript: A diferencia de los rastreadores web tradicionales, Fetcher MCP utiliza Playwright para ejecutar JavaScript, lo que le permite manejar contenido web dinámico y aplicaciones web modernas.
Extracción inteligente de contenido: Algoritmo Readability integrado que extrae automáticamente el contenido principal de las páginas web, eliminando anuncios, navegación y otros elementos no esenciales.
Formato de salida flexible: Soporta formatos de salida tanto HTML como Markdown, facilitando la integración con diversas aplicaciones.
Procesamiento paralelo: La herramienta fetch_urls
permite obtener múltiples URLs de forma concurrente, mejorando significativamente la eficiencia en operaciones por lotes.
Optimización de recursos: Bloquea automáticamente recursos innecesarios (imágenes, hojas de estilo, fuentes, medios) para reducir el uso de ancho de banda y mejorar el rendimiento.
Manejo robusto de errores: Gestión integral de errores y registro para garantizar operación confiable incluso con páginas problemáticas.
Parámetros configurables: Control detallado sobre tiempos de espera, extracción de contenido y formato de salida para adaptarse a diferentes casos de uso.
Ejecutar directamente con npx:
npx -y fetcher-mcp
Configuración inicial - instale el navegador requerido ejecutando el siguiente comando en su terminal:
npx playwright install chromium
Use el parámetro --transport=http
para iniciar simultáneamente los servicios de punto final HTTP transmitible y punto final SSE:
npx -y fetcher-mcp --log --transport=http --host=0.0.0.0 --port=3000
Después del inicio, el servidor proporciona los siguientes puntos finales:
/mcp
- Punto final HTTP transmitible (protocolo MCP moderno)/sse
- Punto final SSE (protocolo MCP heredado)Los clientes pueden elegir qué método usar según sus necesidades.
Ejecute con la opción --debug
para mostrar la ventana del navegador con fines de depuración:
npx -y fetcher-mcp --debug
Configure este servidor MCP en Claude Desktop:
En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fetcher": {
"command": "npx",
"args": ["-y", "fetcher-mcp"]
}
}
}
docker run -p 3000:3000 ghcr.io/jae-jae/fetcher-mcp:latest
Cree un archivo docker-compose.yml
:
version: "3.8"
services:
fetcher-mcp:
image: ghcr.io/jae-jae/fetcher-mcp:latest
container_name: fetcher-mcp
restart: unless-stopped
ports:
- "3000:3000"
environment:
- NODE_ENV=production
# Using host network mode on Linux hosts can improve browser access efficiency
# network_mode: "host"
volumes:
# For Playwright, may need to share certain system paths
- /tmp:/tmp
# Health check
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
Luego ejecute:
docker-compose up -d
fetch_url
- Obtiene contenido de una página web desde una URL específica
url
: URL de la página a obtener (parámetro requerido)timeout
: Tiempo de espera para cargar la página en milisegundos, predeterminado 30000 (30 segundos)waitUntil
: Define cuándo se considera completa la navegación, opciones: 'load', 'domcontentloaded', 'networkidle', 'commit', predeterminado 'load'extractContent
: Si extraer inteligentemente el contenido principal, predeterminado truemaxLength
: Longitud máxima del contenido devuelto (en caracteres), sin límite por defectoreturnHtml
: Si devolver contenido HTML en lugar de Markdown, predeterminado falsewaitForNavigation
: Si esperar navegación adicional después de la carga inicial (útil para sitios con verificación anti-bots), predeterminado falsenavigationTimeout
: Tiempo máximo de espera para navegación adicional en milisegundos, predeterminado 10000 (10 segundos)disableMedia
: Si deshabilitar recursos multimedia (imágenes, hojas de estilo, fuentes, medios), predeterminado truedebug
: Si activar modo depuración (mostrar ventana del navegador), anula el flag --debug si se especificafetch_urls
- Obtiene contenido de múltiples URLs en paralelo
urls
: Array de URLs a obtener (parámetro requerido)fetch_url
Esperar carga completa: Para sitios con CAPTCHA, redirecciones u otras verificaciones:
Por favor espere a que la página cargue completamente
Esto usa el parámetro waitForNavigation: true
.
Aumentar tiempo de espera: Para sitios de carga lenta:
Por favor configure el tiempo de espera a 60 segundos
Ajusta los parámetros timeout
y navigationTimeout
.
Preservar estructura HTML original: Cuando la extracción falla:
Por favor preserve el contenido HTML original
Configura extractContent: false
y returnHtml: true
.
Obtener contenido completo: Cuando el contenido extraído es limitado:
Por favor obtenga el contenido completo de la página
Configura extractContent: false
.
Devolver contenido como HTML: Cuando se necesita formato HTML:
Por favor devuelva el contenido en formato HTML
Configura returnHtml: true
.
Por favor active el modo depuración para esta operación
Configura debug: true
incluso sin el flag --debug
.Inicio de sesión manual: Para autenticarse con credenciales propias:
Por favor ejecute en modo depuración para iniciar sesión manualmente
Configura debug: true
o usa el flag --debug
, manteniendo la ventana abierta para inicio manual.
Interacción con navegador en depuración: Cuando el modo depuración está activo:
Activar depuración para solicitudes específicas: Incluso con el servidor en ejecución:
Por favor active modo depuración para este paso de autenticación
Configura debug: true
solo para esta solicitud.
npm install
Instale los navegadores necesarios para Playwright:
npm run install-browser
npm run build
Use MCP Inspector para depurar:
npm run inspector
También puede activar el modo visible del navegador:
node build/index.js --debug
Licenciado bajo MIT License