Un servicio MCP para búsqueda y análisis web avanzado.
- Google API Key (para búsquedas de Google)
- Google CSE ID (para búsquedas personalizadas de Google)
- News API Key (para búsqueda de noticias)
- Entra en Google Cloud Console y elige un proyecto nuevo o existente.
- Abre APIs & Services → Credentials → Create Credentials → API key; copia la clave que se muestra.
- Habilita la API “Custom Search JSON API” desde APIs & Services → Library para ese proyecto.
Guarda la cadena resultante como
GOOGLE_API_KEY.
- Ve a Programmable Search Engine y crea un buscador, pon que tenga acceso a todas las URLs.
- Una vez creado, abre Control Panel → Overview; copia el valor Search engine ID (cx).
Asigna ese valor a
GOOGLE_CSE_ID.
- Regístrate en newsapi.org/register (correo real; no acepta desechables).
- Confirma el correo y accede al panel; la clave aparece en la sección API key.
- En uso, añade la clave vía query param
apiKeyo cabeceraX-Api-Key.
Almacénala como
NEWS_API_KEY.
# .env
GOOGLE_API_KEY=tu_clave_google
GOOGLE_CSE_ID=tu_cse_id
NEWS_API_KEY=tu_clave_newsapi- Clona el repositorio
- Instala las dependencias con uv:
# Instalar uv si no lo tienes
pip install uv
# Crear y activar el entorno virtual con uv
uv venv
# En Windows:
.venv\Scripts\activate
# En Unix/MacOS:
source .venv/bin/activate
# Instalar dependencias
uv pip install -r requirements.txt- fastmcp: Framework principal para el servidor MCP
- crawl4ai: Para web scraping y extracción de contenido
- langchain-google-community: Para búsquedas de Google
- python-dotenv: Para manejo de variables de entorno
- requests: Para peticiones HTTP
- colorama: Para formateo de logs
El proyecto utiliza un sistema de logging configurado en logger_config.py:
- Los logs principales se configuran a nivel INFO
- Se silencian los logs de las siguientes librerías:
- crawl4ai (nivel CRITICAL)
- playwright
- asyncio
- httpx
- urllib3
Los logs se envían a stderr por defecto.
El servidor MCP proporciona las siguientes herramientas:
- google_urls: Búsqueda de URLs en Google
- crawl: Extracción de contenido de páginas web
- search_and_crawl: Combinación de búsqueda y extracción
- news: Búsqueda y análisis de noticias
Para iniciar el servidor:
python server.pyEl servidor se ejecuta por defecto en modo stdio, pero puede configurarse para usar otros transportes.
server.py: Punto de entrada principal y configuración del servidor MCPtools.py: Implementación de las herramientas de búsqueda webprompts.py: Definición de los prompts para cada herramientalogger_config.py: Configuración del sistema de logging
"webfinder": {
"command": "uv",
"args": [
"run",
"--directory",
"Path\\A\\Tu\\Directorio\\MCP-Web-Crawler",
"python",
"server.py"
],
"env": {
"GOOGLE_API_KEY": "",
"GOOGLE_CSE_ID": "",
"NEWS_API_KEY": ""
}
}