Headline Vibes Analysis
Analisa o sentimento de manchetes de notícias das principais publicações dos EUA usando a NewsAPI.
Documentação
Headline Vibes — Servidor MCP do EventRegistry
O Headline Vibes é um servidor de Protocolo de Contexto de Modelo (MCP) que analisa o sentimento de investidores em manchetes de notícias dos EUA obtidas do EventRegistry (newsapi.ai). Ele suporta modos de análise diária e mensal, produz saídas estruturadas com diagnósticos e opera via stdio ou HTTP (pronto para Railway).
Recursos
- Cobertura selecionada de redações dos EUA com filtro de relevância para investidores
- Pontuações duplas de sentimento (geral + investidor) normalizadas em uma escala de 0 a 10
- Detalhamentos por inclinação política, distribuições por fonte e diagnósticos de amostragem
- Interpretação de datas em linguagem natural para solicitações diárias (
"yesterday","last Friday", etc.) - Saídas JSON estruturadas compatíveis com MCP
structuredContent - Orçamento de tokens integrado e telemetria de limite de taxa
Pré-requisitos
- Node.js v18+ (LTS recomendado)
- Chave da API do EventRegistry (https://newsapi.ai)
Configuração
- Instale as dependências e faça o build:
npm install npm run build - Configure as variáveis de ambiente (exemplo com stdio):
{ "mcpServers": { "headline-vibes": { "command": "node", "args": ["/absolute/path/headline-vibes/build/index.mjs"], "env": { "NEWS_API_KEY": "your-eventregistry-key", "TRANSPORT": "stdio" } } } } - Para implantações HTTP (Railway), defina
TRANSPORT=http,HOST=0.0.0.0,PORT=<port>e, opcionalmente,ALLOWED_HOSTS/ALLOWED_ORIGINS.
Ferramentas Disponíveis
analyze_headlines
Instantâneo diário de sentimento para um único dia. Argumentos: { "input": string }.
- Aceita linguagem natural ou
YYYY-MM-DD. - Retorna pontuações de investidor/geral, sinopses, distribuições, manchetes de amostra e diagnósticos.
analyze_monthly_headlines
Agregação mensal entre dois meses. Argumentos: { "startMonth": "YYYY-MM", "endMonth": "YYYY-MM" }.
- Gera sentimentos políticos por mês, contagens de manchetes e diagnósticos de token/amostragem.
Os esquemas JSON que alimentam os resultados estruturados estão em src/schemas/headlines.ts.
Desenvolvimento e Testes
- Modo de observação:
npm run watch - Execução via stdio:
NEWS_API_KEY=... npm run start:stdio - Execução via HTTP:
TRANSPORT=http HOST=0.0.0.0 PORT=8787 NEWS_API_KEY=... npm run start:http - Verificação rápida de conectividade com o EventRegistry:
node ./build/scripts/smoke.mjs 2025-02-01 - Testes unitários (Vitest):
npm test
Implantação no Railway
- Defina as variáveis de ambiente (
TRANSPORT,HOST,PORT,NEWS_API_KEY, opcionaisALLOWED_HOSTS,ALLOWED_ORIGINS,LOG_LEVEL). - Faça o build uma vez localmente (
npm run build) ou pela etapa de build do Railway. - Inicie com
npm run start. - Sonda de saúde:
GET /healthzretorna200 ok.
Consulte docs/railway.md para o guia completo e docs/claude-desktop.md para as etapas de integração com o Claude Desktop.
Licença
MIT