MCP Web Search Pro
MCP Web Search Pro
Un servidor de investigación web extendido y auto-alojado para clientes compatibles con MCP. Proporciona a un asistente de IA herramientas para descubrir páginas web, extraer contenido legible, renderizar aplicaciones JavaScript, usar Internet Archive cuando una página no está disponible y leer subtítulos de YouTube.
El servicio está diseñado para uso local o en redes de confianza. Es sin estado, no requiere claves API y expone el transporte MCP Streamable HTTP en el puerto 8082. Puede ejecutarse junto a un servidor MCP de búsqueda web más ligero en otro puerto.
Se ejecuta como un contenedor separado en el puerto 8082 junto al ligero mcp-web-search (puerto 8081). Apunte los clientes al que mejor se adapte a la tarea: si el profesional alguna vez se vuelve lento, el ligero sigue ahí, intacto.
Características
Búsqueda web a través de DuckDuckGo, con límites de resultados y selección de región.
Extracción de HTML legible a Markdown, eliminando navegación y contenido superfluo.
Detección automática de PDF y extracción de texto.
Renderizado con Chromium sin interfaz gráfica para páginas con React, Vue, SPA y otras páginas con mucho JavaScript.
Instantáneas de Wayback Machine para páginas no disponibles o modificadas.
Transcripciones de YouTube a partir de URLs o IDs de video, con marcas de tiempo opcionales.
Endpoint
/healthpara verificar el contenedor y los procesos.Transportes MCP Streamable HTTP y stdio, sin estado.
Related MCP server: Basic MCP Tools
Herramientas MCP
Herramienta | Descripción |
| Busca en la web a través de DuckDuckGo (ddgs). Argumentos: |
| Obtiene una URL → Markdown. Detecta automáticamente PDFs y extrae texto. Usa trafilatura para una extracción limpia de artículos (elimina navegación/anuncios/contenido superfluo). Argumentos: |
| Renderiza una página con mucho JavaScript / SPA con Chromium sin interfaz gráfica y luego extrae texto. Úselo cuando |
| Obtiene la instantánea más reciente (o con marca de tiempo) archivada de una URL desde Wayback Machine. Reintenta en caso de errores 503 transitorios. Argumentos: |
| Obtiene la transcripción de un video de YouTube. Acepta una URL completa de YouTube o un ID de video de 11 caracteres. Argumentos: |
Use web_fetch para páginas normales porque es más rápido. Use web_fetch_js cuando la primera herramienta devuelva un esqueleto vacío o contenido incompleto porque el sitio depende de JavaScript del lado del cliente.
Ejecutar con Docker
docker compose up -d --buildVerificar:
curl http://localhost:8082/health # → {"status":"ok"}Registros / reinicio / detención:
docker compose logs -f
docker compose restart
docker compose downLa primera compilación es grande (~400MB) porque descarga Chromium para Playwright. Las compilaciones posteriores reutilizan la capa en caché.
Conectar clientes
Apunte cualquier cliente compatible con MCP a:
http://<server-host>:8082/mcpNo se requieren cabeceras ni claves API. El servidor se ejecuta en modo sin estado.
Ejecutar localmente sin Docker
Se recomienda Python 3.12:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install --with-deps chromium
python server.pyEjecute el transporte HTTP directamente con:
python server.py --sse --host 127.0.0.1 --port 8082A pesar del nombre histórico --sse, la implementación HTTP utiliza el transporte MCP Streamable HTTP sin estado.
Notas de rendimiento
Solo
web_fetch_jses pesado en tiempo de ejecución: lanza Chromium por cada llamada (~5–15s). Las otras cuatro herramientas son Python puro ligeras y se mantienen rápidas.shm_size: 1gbendocker-compose.ymlevita fallos del sandbox de Chromium dentro del contenedor.Para páginas normales sin JavaScript, use
web_fetch(rápido); reserveweb_fetch_jspara sitios React/Vue/SPA que renderizan contenido con JavaScript.
Configuración
Para cambiar el puerto, edite tanto el mapeo ports: como command: en docker-compose.yml. Para habilitar el registro de solicitudes/respuestas sin procesar para depuración, cambie a la línea command: comentada con --verbose.
Validación
Este repositorio está pensado para ser enviado como código fuente y configuración de compilación Docker. Actualmente no hay un conjunto de pruebas automatizado. Las comprobaciones recomendadas del proyecto son:
git diff --check
docker compose config
docker compose up -d --build
curl http://localhost:8082/health
docker compose logs --tail=100
docker compose downNo publique este servicio directamente en Internet público sin agregar autenticación o colocarlo detrás de un proxy inverso de confianza. El modo HTTP se vincula a 0.0.0.0, permite solicitudes sin claves API y permite todos los orígenes; eso es conveniente para clientes MCP locales, pero no es una capa de control de acceso.
Notas de seguridad y operación
web_fetchyweb_fetch_jspueden solicitar URLs HTTP(S) arbitrarias. Restrinja el acceso a la red o agregue protecciones de URL/DNS si usuarios no confiables pueden llamar al servicio.Mantenga
--verbosedeshabilitado fuera de sesiones cortas de depuración local porque registra los cuerpos de solicitudes y respuestas.Las dependencias usan restricciones de versión mínima. Fije o bloquee las versiones antes de confiar en compilaciones de producción reproducibles.
Archivos
server.py— el servidor MCP (5 herramientas)requirements.txt—mcp,httpx,beautifulsoup4,markdownify,ddgs,trafilatura,pypdf,youtube-transcript-api,playwrightDockerfile— Python 3.12-slim + Playwright Chromiumdocker-compose.yml— servicio en el puerto 8082 conshm_size: 1gb
Licencia
Actualmente no se incluye ningún archivo de licencia. Agregue una licencia antes de aceptar contribuciones externas o redistribuir el proyecto.
This server cannot be installed
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
- Alicense-qualityAmaintenanceZero-auth multi-source research MCP server that enables web search, reading URLs, PDFs, GitHub repos, and querying Hacker News, Stack Overflow, Semantic Scholar, and YouTube transcripts without API keys.10Apache 2.0
- Flicense-qualityBmaintenanceA self-hosted MCP server providing private web search, web page fetching, and current date/time tools, powered by a bundled SearXNG instance for API-key-free local search.2
- Alicense-qualityCmaintenanceA fully local MCP server that provides web search via self-hosted SearXNG and page-to-markdown conversion (static and JS-rendered), all aggregated behind a single endpoint for use with AI assistants.MIT
- Alicense-qualityBmaintenanceMCP server enabling local-first web search, fetch, extract, and caching with citeable excerpts, no API key required. Supports research workflows for agents and apps.323MIT
Related MCP Connectors
An MCP server for deep research or task groups
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
An MCP server that gives your AI access to the source code and docs of all public github repos
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/AngelN-Halo/mcp-web-search-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server