GridNews

Notícias de mercado, comunicados à imprensa e sentimento de tickers para agentes de IA via REST, streams e MCP.

Documentação

@gridnews/mcp

Servidor MCP para GridNews — notícias de mercado, press releases e análise de sentimento para agentes de IA.

Oferece a qualquer assistente compatível com MCP a cobertura de mercado mais recente: clusters de histórias classificados por quantos veículos independentes os corroboraram, busca de artigos em milhares de fontes, notícias por ticker com leitura agregada de sentimento, releases de fontes primárias e clusters de tópicos em alta.

Instalação

Requer Node.js 20+ e uma chave de API GridNews. get_topics funciona sem chave; todas as outras ferramentas precisam de uma.

Claude Code

claude mcp add gridnews --env GRIDNEWS_API_KEY=your_key -- npx -y @gridnews/mcp

Claude Desktop

Adicione em claude_desktop_config.json:

{
  "mcpServers": {
    "gridnews": {
      "command": "npx",
      "args": ["-y", "@gridnews/mcp"],
      "env": { "GRIDNEWS_API_KEY": "your_key" }
    }
  }
}

Cursor

Adicione em .cursor/mcp.json:

{
  "mcpServers": {
    "gridnews": {
      "command": "npx",
      "args": ["-y", "@gridnews/mcp"],
      "env": { "GRIDNEWS_API_KEY": "your_key" }
    }
  }
}

OpenAI Codex

codex mcp add gridnews --env GRIDNEWS_API_KEY=your_key -- npx -y @gridnews/mcp

Gemini CLI

Adicione em ~/.gemini/settings.json:

{
  "mcpServers": {
    "gridnews": {
      "command": "npx",
      "args": ["-y", "@gridnews/mcp"],
      "env": { "GRIDNEWS_API_KEY": "your_key" }
    }
  }
}

Configuração

VariávelPadrãoFinalidade
GRIDNEWS_API_KEYSua chave de API. Obrigatória para tudo, exceto get_topics.
GRIDNEWS_BASE_URLhttps://api.gridnews.ioSubstitui o host da API.
GRIDNEWS_TIMEOUT_MS30000Timeout por requisição. Aumente se usar get_symbol_sentiment com frequência.

Ferramentas

FerramentaFinalidadeNível mínimo
get_top_eventsAs maiores histórias do momento, como clusters classificados por corroboração independentegratuito (filtros exigem básico)
get_event_detailTodos os veículos que publicaram uma história, agrupados por voz independentegratuito
search_newsBusca de artigos e press releases por texto, símbolo, fonte, data, sentimento e qualidadegratuito (filtros exigem básico)
get_symbol_newsCobertura recente de um ticker, além de leitura agregada de sentimentogratuito
get_symbol_sentimentAnálise de sentimento de um ticker em um período, com sua basepro
list_press_releasesReleases de agências filtrados por símbolo, provedor, empresa e datagratuito
list_sourcesAs fontes indexadas pela GridNews, com IDs para o filtro sourcesgratuito
get_topicsClusters de tópicos em alta como grupos de palavras-chave com contagens de artigosnenhum
get_usageO nível da chave, direitos e cota diária restantegratuito

Corroboração, não contagem de veículos

get_top_events retorna histórias em vez de documentos e informa dois números diferentes:

  • sourcesCount — quantos veículos publicaram a história. Isso é alcance.
  • independent voices — quantos deles não estavam republicando uns aos outros. Isso é a evidência.

Eles geralmente não são iguais. Veículos que redistribuem conteúdo uns dos outros colapsam em uma única voz, então uma história em cinco veículos que publicam o mesmo texto de agência é uma voz, não cinco. Quando um veículo estava publicando cópia de outro, a ferramenta marca isso inline:

2 independent voices across 4 outlets · 4 filings · impact 1.47
- Wall Street Journal: https://wsj.com/...
- Dow Jones [carrying wall-street-journal]: https://morningstar.com/...
- GuruFocus: https://gurufocus.com/...

Um press release é sempre uma única voz, independentemente de quantas agências o distribuíram — um emissor se anunciando não é confirmação.

Passe minVoices: 2 para ver apenas histórias corroboradas. Não há padrão: clusters de voz única são registros reais de distribuição e não ficam ocultos, apenas ficam em último lugar na classificação.

Comportamento por nível

A GridNews limita recursos e profundidade de histórico por nível. Em vez de falhar de forma opaca, as ferramentas informam o que uma chamada exige:

  • Um 403 indica o nível necessário e o nível atual da chave, para que o agente possa tentar novamente sem o parâmetro bloqueado em vez de desistir.
  • Um 429 informa a cota restante e o horário de redefinição, para que o agente aguarde em vez de repetir em loop.
  • Os resultados indicam quando a janela de histórico de um nível excluiu artigos mais antigos, para que um resultado enxuto não seja confundido com ausência de cobertura.

get_usage explica qualquer um desses casos sob demanda.

Desenvolvimento

npm install
npm run build
npm test

A suíte de testes executa o servidor compilado em uma sessão MCP stdio real contra uma API simulada, cobrindo handshake de protocolo, validação de argumentos, serialização HTTP, formatação e os caminhos de falha de nível/cota sem precisar de uma chave ativa.

Licença

MIT