TrendPulse - Google News & Trends
Investiga Google News y Google Trends para conocer el impulso de palabras clave, la demanda del mercado, consultas relacionadas y decisiones de contenido.
Documentación
mcp-trendpulse
TrendPulse es un servidor Python Model Context Protocol (MCP) para investigar noticias actuales y tendencias de interés de búsqueda. Combina el descubrimiento de noticias de Google News y la extracción de artículos con el análisis de Google Trends, de modo que los clientes MCP puedan inspeccionar qué está en tendencia, comparar el impulso de palabras clave, explorar la demanda relacionada y añadir contexto de noticias actuales a los flujos de investigación.
El proyecto se distribuye actualmente como un servidor MCP comunitario/autoalojado y también contiene la implementación de una superficie separada TrendPulse by DigestSEO alojada para clientes MCP remotos como ChatGPT y Codex. La capa alojada utiliza una superficie de herramientas más pequeña y orientada a objetivos, mientras que el servidor comunitario mantiene el conjunto completo de herramientas de investigación de bajo nivel disponible para los desarrolladores.
Estado del proyecto: el servidor local/comunitario es utilizable hoy. El MCP alojado por DigestSEO y el plugin público de OpenAI aún no se han publicado y no deben tratarse como endpoints disponibles.
Contexto de ingeniería: TrendPulse forma parte del ecosistema MCP de DigestSEO. Complementa a mcp-gsc para datos de Google Search Console, a mcp-geo para visibilidad en IA y a mcp-web-validator para validación web técnica. La arquitectura más amplia está documentada en el estudio de caso de ingeniería del conjunto MCP de DigestSEO.
Informe de demanda de TrendPulse
¿Necesitas una verificación rápida de evidencia antes de elegir un tema, palabra clave, mercado, ángulo de producto o apuesta de contenido? Durante el experimento de lanzamiento actual, Tomi ofrece un Informe de demanda de TrendPulse elaborado por humanos por EUR 49.
Para una decisión, el informe cubre hasta cinco palabras clave/frases y dos mercados geográficos utilizando las capacidades de investigación de código abierto de TrendPulse más fuentes públicas actuales: dirección del interés de búsqueda, impulso relativo, demanda relacionada, contexto útil de noticias y tres implicaciones concretas. El plazo de entrega objetivo es dentro de las 24 horas posteriores a la confirmación del pago y al suministro de los insumos.
Consulta el alcance exacto y el formato de solicitud, lee un informe de muestra público o envía un correo a info@tomiseregi.si con el asunto TrendPulse Demand Brief [TP-RS1].
El informe de pago es opcional. El MCP comunitario sigue siendo gratuito y sin cambios, y el marcador TP-RS1 es solo un marcador de atribución entrante; no se añade telemetría oculta al MCP.
Qué puede hacer TrendPulse
Investigación de noticias
- Buscar en Google News por palabra clave, ubicación, tema o dominio de editor.
- Recuperar las principales noticias.
- Resolver enlaces de Google News y extraer el contenido de los artículos.
- Recurrir desde la recuperación HTTP normal a Playwright/Chromium para páginas difíciles.
- Resumir opcionalmente el texto de los artículos con el muestreo del cliente MCP, con NLP local como respaldo.
Investigación de tendencias
- Recuperar términos de tendencia actuales para un mercado geográfico.
- Obtener datos de interés a lo largo del tiempo de Google Trends para una o más palabras clave.
- Calcular el crecimiento de palabras clave en ventanas personalizadas como 3M o 1A.
- Clasificar tendencias en vivo por volumen o crecimiento.
- Inspeccionar el interés por país, región, ciudad o DMA cuando sea compatible.
- Explorar consultas relacionadas, temas relacionados, sugerencias e IDs de categorías.
- Comparar propiedades de tendencias de Búsqueda de Google, Búsqueda de YouTube, Búsqueda de Noticias, Búsqueda de Imágenes y Google Shopping cuando el proveedor subyacente lo admita.
Arquitectura comunitaria y alojada
TrendPulse se está desarrollando con dos superficies deliberadas:
| Superficie | Propósito | Estado |
|---|---|---|
| MCP comunitario | Servidor MCP Python completo para uso local, desarrollo, autoalojamiento e integraciones con clientes compatibles con MCP. | Disponible en este repositorio |
| TrendPulse by DigestSEO | MCP remoto gestionado para ChatGPT/Codex y un futuro plugin público de OpenAI con una superficie de herramientas más pequeña y orientada a tareas. | En desarrollo |
El servidor comunitario sigue siendo útil de forma independiente. La edición alojada reutilizará los mismos conceptos centrales de investigación de tendencias, añadiendo el despliegue, la fiabilidad, la autenticación, la observabilidad y la integración de producto necesarios para un servicio gestionado.
La superficie de herramientas alojada implementada es intencionalmente de nivel más alto que la API comunitaria y se centra en objetivos como:
discover_trendsanalyze_keyword_trendcompare_keyword_trendsdiscover_related_demandget_trend_contextfind_seo_opportunities
Estos nombres describen la interfaz alojada de ChatGPT Apps/MCP; siguen siendo independientes de los nombres de herramientas actuales del MCP comunitario.
Instalación
Ejecutar desde PyPI con uvx (recomendado)
TrendPulse está publicado en PyPI, por lo que la ruta de instalación más corta es:
uvx mcp-trendpulse
Para ejecutar la cabecera del repositorio actual en lugar del paquete publicado:
uvx --from git+https://github.com/AKzar1el/mcp-trendpulse.git mcp-trendpulse
Instalar con pip desde un checkout
git clone https://github.com/AKzar1el/mcp-trendpulse.git
cd mcp-trendpulse
python -m pip install .
python -m mcp_trendpulse
Respaldo del navegador
Las herramientas de noticias/artículos pueden recurrir a Playwright cuando la recuperación ordinaria no puede extraer un artículo utilizable. Instalar el paquete Python playwright no instala Chromium automáticamente.
Para uso local:
playwright install chromium
Para entornos Linux que también requieran dependencias del sistema del navegador:
playwright install --with-deps chromium
Las operaciones solo de tendencias no requieren inherentemente Chromium.
Configuración del cliente
Claude Desktop
Usando uvx directamente desde GitHub:
{
"mcpServers": {
"mcp-trendpulse": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AKzar1el/mcp-trendpulse.git",
"mcp-trendpulse"
]
}
}
}
VS Code
{
"mcp": {
"servers": {
"mcp-trendpulse": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AKzar1el/mcp-trendpulse.git",
"mcp-trendpulse"
]
}
}
}
}
Cursor
Cursor admite configuración MCP global y de proyecto. Añade el servidor a la configuración mcp.json correspondiente:
{
"mcpServers": {
"mcp-trendpulse": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AKzar1el/mcp-trendpulse.git",
"mcp-trendpulse"
]
}
}
}
Kiro
Requiere uv/uvx. La instalación ejecuta el MCP comunitario actual directamente desde este repositorio de GitHub; no utiliza la superficie alojada no publicada.
ChatGPT y otros clientes MCP en la nube
El repositorio ahora incluye un punto de entrada ASGI Streamable HTTP sin estado dedicado en mcp_trendpulse.asgi:app. Esto es independiente del punto de entrada stdio comunitario, que permanece sin cambios.
Para pruebas locales/privadas controladas, puedes ejecutar la aplicación ASGI con Uvicorn o usar el contenedor proporcionado. Consulta deploy/README.md para el contenedor endurecido, listas de permitidos de Host/Origen, requisitos de sandbox de Chromium, endpoints de salud/disponibilidad y notas de proxy inverso.
El endpoint alojado por DigestSEO y la aplicación pública de ChatGPT aún no están publicados. Los despliegues alojados ahora admiten autenticación OAuth Clerk con cierre por fallo; no expongas el transporte remoto públicamente a menos que la configuración de issuer/JWKS/audiencia de Clerk, la URL base pública y las listas de permitidos de Host/Origen estén configuradas para ese despliegue.
Configuración
TrendPulse carga variables de entorno del entorno del proceso y de un archivo local .env cuando está presente.
Las variables útiles incluyen:
HTTP_PROXY=http://your-proxy-address:port
HTTPS_PROXY=http://your-proxy-address:port
GOOGLE_TRENDS_DELAY=2.0
GOOGLE_TRENDS_DELAY controla el retraso de solicitud utilizado por el proveedor de Trends actual. Las variables de proxy pueden ser útiles cuando el servicio ascendente limita la tasa o bloquea una red particular.
Los despliegues remotos también admiten TRENDPULSE_HTTP_PATH, TRENDPULSE_HTTP_ALLOWED_HOSTS, TRENDPULSE_HTTP_ALLOWED_ORIGINS y TRENDPULSE_BROWSER_SANDBOX. El contenedor habilita el sandboxing de Chromium explícitamente; las ejecuciones comunitarias locales conservan el valor predeterminado compatible con Playwright a menos que optes por ello.
No confirmes secretos, credenciales de proxy privadas ni archivos .env específicos de la máquina.
Herramientas MCP
El servidor MCP comunitario expone actualmente 16 herramientas.
Herramientas de noticias
| Herramienta | Propósito |
|---|---|
get_news_by_keyword | Encontrar artículos de noticias recientes que coincidan con una palabra clave. |
get_news_by_location | Encontrar noticias recientes asociadas con una ubicación. |
get_news_by_topic | Encontrar noticias recientes para un tema compatible de Google News. |
get_top_news | Recuperar las principales noticias de Google News. |
get_news_by_site | Encontrar noticias recientes de un dominio de editor específico. |
get_article_content | Descargar, validar, extraer y resumir opcionalmente una URL de artículo. |
Herramientas de tendencias
| Herramienta | Propósito |
|---|---|
get_trending_terms | Recuperar términos de tendencia actuales para un objetivo geográfico. |
get_trends | Recuperar puntos de interés a lo largo del tiempo para una o más palabras clave. |
get_growth | Calcular el crecimiento del interés de búsqueda en ventanas solicitadas. |
get_ranked_trends | Clasificar tendencias actuales por crecimiento o volumen. |
get_top_trends | Recuperar un feed de tendencias principales sin proporcionar una palabra clave. |
get_interest_by_region | Comparar el interés de palabras clave entre regiones geográficas. |
get_related_queries | Recuperar consultas de búsqueda relacionadas principales y en aumento. |
get_related_topics | Recuperar temas de Google Trends relacionados principales y en aumento. |
get_suggestions | Resolver sugerencias de autocompletar/temas para una consulta. |
get_categories | Recuperar IDs y nombres de categorías de Google Trends. |
Ejemplo: ventana de tendencia explícita
get_trends acepta un timeframe explícito. Proporcionar uno es preferible cuando necesitas comparaciones reproducibles.
{
"keyword": ["technical SEO audit", "AI SEO audit"],
"geo": "US",
"source": "google search",
"timeframe": "today 12-m",
"cat": 0
}
Los rangos de proveedor compatibles incluyen ventanas estándar como today 12-m y today 5-y, ventanas relativas como today 90-d, all y rangos de fechas exactos como 2021-01-01 2026-01-01.
Los valores de Google Trends son puntuaciones de interés normalizadas. No interpretes una serie de interés de 0-100 como volumen de búsqueda absoluto.
CLI
La CLI separada de Click expone un conjunto de comandos de noticias más pequeño que el servidor MCP:
uv run mcp-trendpulse-cli --help
Comandos CLI actuales:
keyword
location
top
topic
trending
Las superficies CLI y MCP se documentan intencionalmente por separado porque no exponen el mismo conjunto de comandos.
Desarrollo
Instala el proyecto con sus dependencias de desarrollo usando tu entorno Python preferido y luego ejecuta la suite de pruebas unitarias:
python -m pytest
La configuración predeterminada de pytest excluye las pruebas de integración en vivo.
Ejecuta las pruebas de proveedor en vivo explícitamente con:
python -m pytest tests/integration -m integration
Las pruebas de integración marcadas con navegador requieren que Playwright Chromium esté instalado.
Ejecuta las comprobaciones de Ruff con:
ruff check .
Inspector MCP
Ejecuta el servidor publicado desde GitHub a través del Inspector MCP:
npx @modelcontextprotocol/inspector uvx --from git+https://github.com/AKzar1el/mcp-trendpulse.git mcp-trendpulse
Para un checkout local:
npx @modelcontextprotocol/inspector uv run mcp-trendpulse
Empaquetado
Un flujo de trabajo de GitHub Actions compila y publica distribuciones de Python a través de PyPI Trusted Publishing cuando se publica una versión de GitHub. El paquete estable actual se puede ejecutar con uvx mcp-trendpulse; usa el formulario uvx --from ... de GitHub solo cuando quieras intencionalmente código de la cabecera del repositorio.
Notas de seguridad
La recuperación de artículos es una función de red saliente y se trata como entrada no confiable. La implementación valida los destinos HTTP(S), rechaza destinos privados y no enrutables, verifica los destinos de redirección, aplica límites de tamaño de respuesta y aplica validación de ruta del navegador cuando se usa Playwright.
Si despliegas TrendPulse de forma remota, conserva estos controles y añade limitación de tasa a nivel de despliegue, tiempos de espera de solicitud, observabilidad y límites de recursos en lugar de depender solo de los valores predeterminados de la aplicación.
Hoja de ruta
El trabajo actual de preparación para producción se centra en:
- Mantener la documentación, los metadatos de empaquetado y los manifiestos MCP generados coherentes con la superficie de herramientas en vivo.
- Añadir integración continua para pruebas unitarias y comprobaciones estáticas.
- Separar el acceso a proveedores de la lógica de dominio de TrendPulse para que los proveedores puedan cambiarse sin reescribir la capa MCP.
- Añadir un transporte HTTP remoto de producción mientras se preserva la operación stdio local.
- Diseñar una superficie de herramientas alojada de nivel más alto y más pequeña para ChatGPT/Codex.
- Integrar el servicio alojado con la aplicación DigestSEO y la pila operativa.
- Empaquetar y probar el MCP alojado como plugin de OpenAI solo después de que el servicio esté listo para producción.
Licencia
MIT. Consulta LICENSE.