Headline Vibes Analysis
Analiza el sentimiento de los titulares de noticias de las principales publicaciones estadounidenses utilizando NewsAPI.
Documentación
Headline Vibes — Servidor MCP de EventRegistry
Headline Vibes es un servidor de Model Context Protocol que analiza el sentimiento de los inversores en los titulares de noticias de EE. UU. obtenidos de EventRegistry (newsapi.ai). Admite modos de análisis diario y mensual, produce salidas estructuradas con diagnósticos y se ejecuta sobre stdio o HTTP (listo para Railway).
Características
- Cobertura curada de salas de redacción de EE. UU. con filtrado de relevancia para inversores
- Puntuaciones de sentimiento duales (general + inversor) normalizadas a una escala de 0–10
- Desgloses de inclinación política, distribuciones de fuentes y diagnósticos de muestreo
- Análisis de fechas en lenguaje natural para solicitudes diarias (
"yesterday","last Friday", etc.) - Salidas JSON estructuradas compatibles con MCP
structuredContent - Presupuesto de tokens integrado y telemetría de límite de velocidad
Requisitos previos
- Node.js v18+ (se recomienda LTS)
- Clave de API de EventRegistry (https://newsapi.ai)
Configuración
- Instala las dependencias y compila:
npm install npm run build - Configura las variables de entorno (ejemplo con stdio):
{ "mcpServers": { "headline-vibes": { "command": "node", "args": ["/absolute/path/headline-vibes/build/index.mjs"], "env": { "NEWS_API_KEY": "your-eventregistry-key", "TRANSPORT": "stdio" } } } } - Para despliegues HTTP (Railway), establece
TRANSPORT=http,HOST=0.0.0.0,PORT=<port>y opcionalmenteALLOWED_HOSTS/ALLOWED_ORIGINS.
Herramientas disponibles
analyze_headlines
Instantánea de sentimiento diario para un solo día. Argumentos: { "input": string }.
- Acepta lenguaje natural o
YYYY-MM-DD. - Devuelve puntuaciones de inversor/general, resúmenes, distribuciones, titulares de muestra y diagnósticos.
analyze_monthly_headlines
Agregación mensual entre dos meses. Argumentos: { "startMonth": "YYYY-MM", "endMonth": "YYYY-MM" }.
- Produce sentimientos políticos por mes, recuentos de titulares y diagnósticos de tokens/muestreo.
Los esquemas JSON que impulsan los resultados estructurados se encuentran en src/schemas/headlines.ts.
Desarrollo y pruebas
- Modo de observación:
npm run watch - Ejecución con stdio:
NEWS_API_KEY=... npm run start:stdio - Ejecución con HTTP:
TRANSPORT=http HOST=0.0.0.0 PORT=8787 NEWS_API_KEY=... npm run start:http - Verificación rápida de conectividad con EventRegistry:
node ./build/scripts/smoke.mjs 2025-02-01 - Pruebas unitarias (Vitest):
npm test
Despliegue en Railway
- Establece las variables de entorno (
TRANSPORT,HOST,PORT,NEWS_API_KEY, opcionalmenteALLOWED_HOSTS,ALLOWED_ORIGINS,LOG_LEVEL). - Compila una vez localmente (
npm run build) o mediante el paso de compilación de Railway. - Inicia con
npm run start. - Sonda de salud:
GET /healthzdevuelve200 ok.
Consulta docs/railway.md para el manual completo y docs/claude-desktop.md para los pasos de integración con Claude Desktop.
Licencia
MIT