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

Configuração

  1. Instale as dependências e faça o build:
    npm install
    npm run build
    
  2. 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"
          }
        }
      }
    }
    
  3. 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

  1. Defina as variáveis de ambiente (TRANSPORT, HOST, PORT, NEWS_API_KEY, opcionais ALLOWED_HOSTS, ALLOWED_ORIGINS, LOG_LEVEL).
  2. Faça o build uma vez localmente (npm run build) ou pela etapa de build do Railway.
  3. Inicie com npm run start.
  4. Sonda de saúde: GET /healthz retorna 200 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