Gloom MCP
Servidor MCP hospedado da Gloom, o terminal open-source estilo Bloomberg. Cotações, dados financeiros, opções, arquivamentos da SEC, macro e notícias para Claude, ChatGPT, Cursor e Codex.
Servidor MCP hospedado
npx add-mcp 'https://api.gloom.sh/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
O que é
O Gloom Cloud hospeda um servidor Model Context Protocol em https://api.gloom.sh/mcp. Ele expõe as ferramentas de pesquisa que o assistente do próprio Gloom usa: cotações, histórico, dados financeiros, detentores, pesquisa de analistas, opções, arquivamentos na SEC e insiders, macro, negociações no Congresso, juros de venda a descoberto, fluxo de opções, o feed de notícias, o diagnóstico de ações e dados de contratação. Com o acesso certo, também alcança suas notas, seus times e as watchlists e carteiras dos times.
Nada roda na sua máquina. Isso faz parte do Gloom Pro.
Use quando um agente precisar dos dados do Gloom. Use a API remota para controlar um desktop ou TUI em execução, e a CLI para relatórios pontuais a partir de um shell.
Conectar
Entre pelo cliente. Clientes OAuth (Claude Code, claude.ai, Cursor, a maioria dos clientes MCP recentes) só precisam do endpoint. A primeira chamada abre uma aba no navegador onde você faz login e escolhe o que o cliente pode acessar.
claude mcp add --transport http gloom https://api.gloom.sh/mcp
Use uma chave. Para scripts, cron jobs e clientes que não conseguem abrir um navegador, crie uma chave em Configurações do Cloud, Agentes e envie-a como bearer token (x-api-key também funciona). As chaves são mostradas uma única vez; crie uma por agente, até 10.
claude mcp add --transport http gloom https://api.gloom.sh/mcp \
--header "Authorization: Bearer gloom_mcp_..."
export GLOOM_MCP_KEY=gloom_mcp_...
codex mcp add gloom --url https://api.gloom.sh/mcp --bearer-token-env-var GLOOM_MCP_KEY
{
"mcpServers": {
"gloom": {
"url": "https://api.gloom.sh/mcp",
"headers": { "Authorization": "Bearer gloom_mcp_..." }
}
}
}
O transporte é Streamable HTTP, sem estado: uma resposta JSON por POST, GET e DELETE respondem a 405. O servidor de autorização é https://api.gloom.sh/auth com descoberta padrão, registro dinâmico de clientes e PKCE; clientes que solicitam offline_access recebem um refresh token. Tokens de acesso duram duas horas.
Acesso
| Acesso | Alcança |
|---|---|
| Dados de mercado | Ferramentas de mercado, empresa, arquivamentos, macro e notícias |
| Leitura | Além disso, teams.list, notes.list, notes.get, collections.list, collections.get |
| Leitura e escrita | Além disso, notes.save, collections.add_symbol, collections.remove_symbol |
As chaves carregam seu acesso e um pin opcional de time; uma chave fixada vê um único time e pode omitir teamId. Clientes conectados recebem os mesmos níveis por meio dos escopos mcp:read e mcp:write, que você pode desmarcar na tela de consentimento. tools/list só retorna o que o chamador pode acessar. Notas pessoais são sempre do próprio dono da conta.
Ferramentas
Toda ferramenta é somente leitura, a menos que esteja listada como escrita, valida seus argumentos e limita o resultado a 256 KB. limit limita as linhas de origem antes do limite.
| Ferramenta | Argumentos |
|---|---|
market.search | query, limit |
market.quotes | symbols, exchange?, limit |
market.history | symbol, exchange?, interval, startDate?, endDate?, limit |
market.screener | category, limit |
market.options_chain | symbol, exchange?, expiration?, limit |
market.short_interest | symbol, years, limit |
market.options_flow | limit, symbol?, days?, minPremium? (qualquer filtro pesquisa impressões registradas em vez do tape ao vivo) |
company.profile, company.financials, company.holders, company.analyst_research, company.corporate_actions | symbol, exchange?, limit |
company.statements | symbol, exchange?, period, limit |
sec.filings | ticker, offset, limit |
sec.insider_transactions | ticker, limit |
macro.calendar, macro.yield_curve | limit |
macro.series | seriesId, startDate?, endDate?, limit |
congress.house_trades | year?, member?, ticker?, side?, owner?, assetType?, minAmount?, limit |
congress.senate_trades | year?, member?, ticker?, side?, owner?, assetType?, minAmount?, limit |
news.stories | query?, feed, tickers, topics, limit |
equity.diagnostic | symbol, exchange?, mode, limit |
company.hiring | ticker, roles |
market.hiring_movers | limit |
teams.list | limit |
notes.list | scope (user ou team), teamId?, kind? (ticker ou quick), limit |
notes.get | id |
notes.save (escrita) | scope, teamId?, kind, key, title?, content, expectedRevision? |
collections.list | teamId?, limit |
collections.get | teamId?, collectionId, limit |
collections.add_symbol (escrita) | teamId?, collectionId, symbol, exchange?, quantity?, note? |
collections.remove_symbol (escrita) | teamId?, collectionId, symbol, exchange? |
tools/list carrega o schema JSON completo com enums e padrões. Comece com market.search quando um ticker for ambíguo.
As notas são chaveadas: uma nota de ticker por símbolo, uma nota rápida por qualquer nome curto. notes.save substitui a nota inteira, então leia primeiro e passe expectedRevision; uma edição mais recente retorna revision_conflict em vez de sobrescrever. As escritas chegam imediatamente ao terminal de cada membro do time. quantity se aplica apenas a carteiras.
Interactive Brokers
Conecte o Interactive Brokers no Gloom e todo cliente com acesso de leitura também recebe as ferramentas próprias do IBKR como ibkr.*: posições, saldos, desempenho, negociações, ordens, busca de contratos, preços, alertas e watchlists. O IBKR mantém uma conexão por usuário, então o Gloom a mantém e seu agente alcança o IBKR por meio do Gloom em vez de se conectar por conta própria.
O acesso de leitura vê as ferramentas de leitura do IBKR. O acesso de leitura e escrita também vê suas ferramentas de escrita, incluindo ibkr.create_order_instruction, quando o IBKR foi conectado com instruções de negociação habilitadas. Uma instrução de ordem não é uma ordem: o IBKR retorna um link onde você revisa e envia você mesmo.
Resultados
Cada chamada retorna texto mais structuredContent com os mesmos campos:
| Campo | Significado |
|---|---|
status | ok, partial (um limite ou o teto removeu linhas), ou error |
shape | rows, bundle, series ou snapshot, nomeando a chave da coleção em data |
rowCount, truncated, asOf | Tamanho, se linhas foram descartadas, timestamp mais recente da fonte |
data | rows, sections[].rows, series[].points ou items |
Uma fonte com falha retorna status: "error" com data.error = { code, source, reason }, marcado como erro de ferramenta.
Planos e limites
Criar chaves exige Pro. Qualquer chave ou token válido pode initialize e tools/list; chamadas de ferramentas exigem Pro e recebem cotações em tempo real e o feed de notícias ao vivo. As chaves permitem 120 requisições por minuto e 5.000 por dia; contas conectadas compartilham o limite por minuto. Cada POST conta. Acima do limite significa 429 com Retry-After. Se o Pro expirar, chaves e conexões permanecem, mas chamadas de ferramentas são recusadas até que ele volte.
Segurança
As chaves são armazenadas com hash e mostradas uma única vez; acesso e pin de time são fixados na criação. Revogar uma chave se aplica na próxima requisição. Desconectar um cliente revoga seu refresh token imediatamente; um token que ele já possui expira em até duas horas. Os tokens são vinculados ao servidor MCP como público-alvo. Uma chave de dados de mercado não pode ver notas, times, layouts ou carteiras; acesso de escrita altera notas e itens de coleção e nada mais.
Os resultados do Congresso incluem agregados de ticker e membros na janela de arquivamento filtrada, retornos de preço de ações desde a transação e o fechamento do arquivamento, taxa de acerto de compras e contexto correspondente de partido/comitê atual. Preços ausentes permanecem nulos; esses retornos retrospectivos não são retornos de execução ou de carteira. Veja Divulgações do Congresso para a base e a fonte pública dos membros.
As ferramentas do servidor sec.thirteenf_holders e sec.thirteenf_crowding expõem posições públicas de 13F do fim do trimestre, pesos reportados dos fundos, novas posições, saídas e aglomeração em uma amostra classificada. Ambas retornam metadados de cobertura e avisos de fonte; a ferramenta de detentor aceita um offset para paginar fundos.
sec.thirteenf_crowding aceita rank: "new" | "exits" | "increases" | "decreases", aplicado antes do truncamento de linhas, para que buscas por saídas ou mudanças de peso cubram a amostra completa de fundos classificados.