web-search-mcp
web-search-mcp
Búsqueda web externa y obtención de páginas para LLM locales, expuestos como herramientas MCP y una CLI. La implementación prioriza Playwright, es asíncrona y lanza el binario de Chromium instalado en el sistema de forma predeterminada. El historial de diseño está documentado en docs/IMPLEMENTATION_PLAN.md.
Herramientas
search(provider, context)ejecuta una búsqueda respaldada por navegador enduckduckgo(predeterminado),googleoyandexy devuelve hasta 5 URL de resultados orgánicos.fetch(urls)obtiene de1 a 5URL y devuelve HTML renderizado por el navegador con campospages,errorsytruncatedpor cada URL.
context es intencionalmente la cadena de consulta de búsqueda para compatibilidad con el llamador.
Related MCP server: Web Search MCP
Configuración
uv sync
chromium --versionSi Chromium está instalado en una ubicación no estándar, establezca
PLAYWRIGHT_CHROMIUM_EXECUTABLE=/path/to/chromium.
Uso
Ejecute el servidor MCP a través de stdio:
uv run web-search serve-mcpEjecute la CLI directamente:
uv run web-search search --context "python async playwright"
uv run web-search fetch https://example.comExponga el transporte HTTP en lugar de stdio:
uv run web-search serve-mcp --transport streamable-http --host 127.0.0.1 --port 8000Notas de diseño
Un navegador compartido por proceso, con un contexto de incógnito nuevo por solicitud.
Playwright lanza el binario de Chromium del sistema, no un paquete de navegador descargado por Playwright.
Chromium del sistema funcionó con Playwright, mientras que la compilación de Firefox del sistema probada se cerró inmediatamente después del inicio. Por lo tanto, este repositorio apunta a Chromium del sistema como la ruta de navegador host admitida.
Las pruebas de humo del navegador deben ejecutarse desde un shell de host normal. Los entornos restringidos (sandboxes) pueden bloquear el inicio de Chromium incluso cuando el navegador del host funciona correctamente.
Límite de concurrencia de navegación global de
3.Tiempos de espera:
15spor página,20sen total parasearch,35sen total parafetch.Protección SSRF: solo
http/https, sin credenciales integradas, bloquea IP de bucle local/privadas/enlace local/reservadas antes de la navegación y en subsolicitudes del navegador.Las páginas de desafío de JavaScript obtienen una ventana de estabilización limitada de
10s; no hay resolución de CAPTCHA, huella digital sigilosa ni lógica de omisión específica del sitio.El HTML está limitado a
1 MiBpor URL; las respuestas de gran tamaño se truncan y se informan entruncated.robots.txtno se consulta en la v1.
Desarrollo
source .venv/bin/activate
pytestLas pruebas del analizador se ejecutan contra accesorios HTML guardados; la desviación del selector es un costo de mantenimiento esperado.
This server cannot be deployed
Maintenance
Related MCP Connectors
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
A real browser for your agent: render any page, or 25 pages of a site, to clean text.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment10162 npm299MIT
- AlicenseNot gradedqualityDmaintenanceEnables web searching through Google, DuckDuckGo, and Bing using a headless Chrome browser, returning structured results with titles, URLs, and snippets. Also supports fetching and extracting text content from any webpage.15MIT
- AlicenseNot gradedqualityCmaintenanceEnables LLMs to fetch and extract web content using browser automation, OCR, and multiple extraction methods, handling JavaScript rendering and anti-scraping techniques.17MIT
- AlicenseAqualityDmaintenanceProvides web access capabilities for LLMs including search, fetching, content extraction, PDF reading, image viewing, and screenshots.346MIT