Signal8 MCP
Dados de arquivamentos SEC para ações dos EUA: diluição de small caps (warrants, ATMs, registros de shelf, conversíveis, caixa disponível) citada à frase do arquivamento, além de negociações de insiders e do Congresso, suspensões e desdobramentos reversos.
Servidor MCP hospedado
npx add-mcp 'https://mcp.signal8.ai/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
@signal8ai/mcp
Servidor MCP (Model Context Protocol) para Signal8 — dados de inteligência extraídos de arquivos SEC por IA.
Oferece a agentes de IA como Claude, Cursor e outras ferramentas compatíveis com MCP acesso direto a:
- Fundamentos da empresa (cotações, financeiros, lucros, float, executivos, pares, notícias)
- Análise de diluição (warrants, conversíveis, preferenciais, registros de shelf, ATMs, linhas de equity e ofertas S-1, cada valor citado no arquivo SEC de onde foi lido)
- Pontuação de Pressão de Diluição (0-100, sete componentes: capacidade de shelf, capacidade de ATM/linha de equity, warrants no dinheiro, proximidade de conversíveis, queima de caixa, diluição histórica, financiamento tóxico)
- Capacidade de baby shelf (Instrução Geral I.B.6 do S-3, limite de um terço do float, recalculado a partir do float atual)
- Pista de caixa (posição de caixa, queima mensal, captações de capital desde o último balanço)
- Inteligência (contrapartes, assessores jurídicos, insiders, instituições, gatilhos de ROFR, compras em cluster)
- Inteligência entre empresas (instituições com maior AUM, padrões de assessores jurídicos e insiders entre empresas)
- Monitoramento de conformidade (detecção de deficiências Nasdaq/NYSE, classificação de listagem)
- Triagem de empresas (filtros com consciência de diluição com mais de 30 campos)
- Análise de ETFs (participações, setores, países, desempenho, comparáveis)
Instalação
npm install -g @signal8ai/mcp
# or use npx (no install needed)
npx @signal8ai/mcp
Configuração
1. Obtenha sua chave de API
O acesso à API e ao MCP está incluído no Signal8 Pro (US$ 59/mês, ou US$ 588/ano). Uma conta gratuita do Signal8 não pode criar chaves de API. Faça upgrade em signal8.ai/pro e depois crie uma chave no portal do desenvolvedor em signal8.ai/developer/api-keys.
Usando Claude.ai ou Claude Desktop? Você pode pular a chave completamente: adicione o servidor hospedado como um conector personalizado e entre com sua conta Signal8 (veja Endpoint Hospedado).
2. Configure seu cliente MCP
Claude Desktop
Adicione ao arquivo de configuração do Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"signal8": {
"command": "npx",
"args": ["-y", "@signal8ai/mcp"],
"env": {
"SIGNAL8_API_KEY": "sk_live_your_key_here"
}
}
}
}
Cursor
Adicione a .cursor/mcp.json na raiz do seu projeto:
{
"mcpServers": {
"signal8": {
"command": "npx",
"args": ["-y", "@signal8ai/mcp"],
"env": {
"SIGNAL8_API_KEY": "sk_live_your_key_here"
}
}
}
}
Outros Clientes MCP
Defina a variável de ambiente SIGNAL8_API_KEY e execute:
SIGNAL8_API_KEY=sk_live_your_key_here npx @signal8ai/mcp
Ferramentas Disponíveis (107)
O servidor expõe 104 ferramentas ativas em tempo de execução. As tabelas de referência abaixo são um catálogo representativo agrupado por domínio, não uma lista exaustiva; a seção Extrações documenta ferramentas atualmente desativadas e não registradas ao vivo. A lista autoritativa é o que tools/list retorna.
Empresas (3 ferramentas)
| Ferramenta | Descrição |
|---|---|
search_companies | Pesquisar empresas por nome ou ticker |
get_company_profile | Perfil completo da empresa (descrição, capitalização de mercado, setor) |
get_company_bundle | Pacote consolidado de dados em uma única chamada |
Dados da Empresa (13 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_quote | Cotação de ações em tempo real (preço, variação, volume) |
get_market_metrics | Médias de volume, volatilidade, SMAs, direção da tendência |
get_short_interest | Dados de posição vendida e dias para cobertura |
get_float | Composição do float, ações em circulação, % de participação |
get_financials | Demonstração de resultados, balanço patrimonial, fluxo de caixa |
get_earnings | Histórico de lucros com surpresas de EPS |
get_executives | Equipe executiva e remuneração |
get_peers | Empresas pares/comparáveis |
get_transcripts | Transcrições de teleconferências de resultados |
get_news | Últimas manchetes de notícias da empresa |
get_analyst_consensus | Classificações de analistas e preços-alvo |
get_material_events | Eventos corporativos materiais (arquivos 8-K) |
get_clinical_trials | Pipeline de ensaios clínicos (biotecnologia/farmacêutica) |
Mercado — Multi-Ticker (6 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_quotes_batch | Cotações em tempo real em lote para até 200 tickers (POST) |
get_quotes_universe | Cotações para todo um universo de índice (sp500/ndx/dji) |
get_index_snapshot | Snapshots em massa de tickers (preço, variação diária, % de variação) |
get_sector_etf_snapshot | Snapshot dos 11 ETFs setoriais SPDR com rótulos de setor |
get_top_movers | Maiores altas / baixas / mais negociados por volume (com janela opcional session) |
get_market_breadth | Avanço/recuo, % acima da SMA50/200, contagens de máximas/mínimas de 52 semanas |
Calendário (5 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_earnings_calendar | Próximos/recém-divulgados resultados entre duas datas |
get_economic_calendar | Eventos macroeconômicos (CPI, FOMC, empregos, PIB) por data e país |
get_filing_calendar | Calendário de prazos de arquivamento SEC 10-K / 10-Q por universo |
get_lockup_expirations | Próximos IPOs/expirações de lockup secundário |
get_recent_material_filings | Arquivos 8-K materiais recentes por universo de índice e códigos de item |
Arquivos SEC e arquivo EDGAR (10 ferramentas)
Suportado pelo próprio arquivo de arquivos SEC EDGAR da Signal8 — a faixa mantida do arquivo (veja archiveFrom em cada resposta; atualmente desde o final de 2021, expandindo até 2016 conforme o preenchimento do histórico avança), indexado em texto completo e atualizado ao longo do dia. Arquivos mais antigos que archiveFrom podem estar ausentes, portanto um resultado vazio não é prova de que um arquivo nunca foi feito. Linhas somente de registro (bodyStored: false) carregam metadados, mas sem corpo.
| Ferramenta | Descrição |
|---|---|
search_sec_filings | Arquivos por CIK, formulário, data, itens 8-K, formulários excluídos, q de texto completo (match exato/por radical, sort mais recente/relevância, facets contagens por formulário/ano/item 8-K, understand ativado/desativado, section pesquisa, exhibitTypes — veja a sintaxe de consulta abaixo) e filtros de empresa (capitalização de mercado, float, preço, setor, indústria, bolsa, tipo de empresa, emissor estrangeiro, IPO recente) |
get_filing_documents | Cada documento em um arquivo (tipo, tamanho, stored, secUrl) com os filingId / exhibitId para ler cada um |
get_filing_structured | Transações parseadas dos Formulários 3/4/5, participações 13F (valores normalizados em dólares), XML SCHEDULE 13D/G |
get_filing_document | Texto completo de um arquivo por id do arquivo |
get_filing_exhibits | Exposições legíveis de um arquivo, com ids |
get_exhibit_content | Texto completo de uma exposição |
search_filing_text | Pesquisa de texto completo em nível de exposição retornando a passagem correspondente (match exato/por radical, sort, section, exhibitTypes) |
lookup_accession_number | Número de acesso → id do arquivo e metadados |
screen_sec_filings | Arquivos entre empresas por setor / indústria / bolsa / capitalização de mercado |
screen_sec_filings_performance | Retornos de preço +1/+3/+7/+30 dias após arquivos, com agregados |
Sintaxe de consulta de texto completo (search_sec_filings.q, search_filing_text.pattern):
palavras sem aspas devem aparecer todas; "quoted phrase" para redação exata; OR
entre alternativas; -word para excluir; w1 NEAR/10 w2 (ou NEAR(10), NEAR
puro = 10) para proximidade; word* para um prefixo de 4+ letras; $AAPL ou um
ticker capitalizado limita àquela empresa; um código de formulário (8-K), item 5.02 /
8-K 1.05 e um ano puro limitam àquele formulário / item 8-K / ano. A página 1 de relevância
mostra alguns arquivos por empresa; meta.diversity nomeia quem tem mais. Como o arquivo leu a
consulta é retornado em meta.understanding (passe understand: false para pesquisar
as palavras literalmente). facets: true adiciona contagens por formulário / ano / item 8-K
sobre todo o conjunto de resultados — ausente quando não medido, nunca zero.
Pesquisa de seção + tipos de exposição (ambas as ferramentas de pesquisa): section restringe
a correspondência a business, risk_factors, cybersecurity, legal_proceedings,
mdna, market_risk, controls, ex99 (comunicados à imprensa) ou um item 8-K
(item_5_02); exhibitTypes mantém arquivos com, por exemplo, EX-10 (contratos
materiais) ou EX-99.1. Uma seção é aplicada somente quando meta.sections diz
isso — caso contrário, meta.unsupported explica que o arquivo inteiro foi pesquisado.
Linhas podem carregar matchedSections (ausente = não medido).
Filtros de empresa em search_sec_filings seguem as mesmas regras da
página signal8.ai/sec-filings: são aplicados somente a partir do arquivo, contra
o CIK do próprio declarante, apenas em formulários arquivados pelo emissor (Formulário 4, 144 e SCHEDULE 13D/G
são descartados e relatados em companyFilter.droppedForms). Empresas sem
valor medido para um filtro são excluídas e contadas em companyFilter.unknown.
Valores desconhecidos retornam um 400 listando os nomes válidos. Se o arquivo não puder
responder, a chamada falha com COMPANY_FILTER_NOT_APPLIED e um motivo, em vez
de retornar linhas sem filtro.
Valores 13F: a SEC mudou a unidade de um <value> de 13F de milhares de
dólares para dólares inteiros para arquivos em/ após 2023-01-03.
get_filing_structured retorna valueUsd / totalMarketValueUsd normalizados para
dólares (nulo quando a unidade não pode ser determinada) ao lado do valueThousands
bruto, e valueUnit diz em qual unidade o número bruto está.
Extrações (4 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_extractions | Dados de arquivos SEC extraídos por IA (13 tipos) |
get_filing_extractions | Extrações para um arquivo SEC específico |
get_extraction_dashboard | Análises de extração entre empresas |
get_extraction_by_type | Filtrar extrações por tipo (warrants, conversíveis, etc.) |
Diluição (7 ferramentas)
Análise de diluição de small caps lida diretamente de arquivos SEC. Cada valor carrega o
número de acesso, a data do arquivo e a frase citada de onde veio. Incluído no
Signal8 Pro. Chame get_dilution_coverage primeiro: é
a maneira mais barata de saber se há algo para buscar.
| Ferramenta | Descrição |
|---|---|
get_dilution_coverage | Se um ticker tem análise de diluição, quão recente é, e por que não se não tiver |
get_dilution_risk | Pontuação de Pressão de Diluição com sua decomposição de sete componentes e níveis de risco. Uma pontuação parcial é de scoreMaxMeasured (nunca reescalar para /100); overheadSupply é a diluição potencial total excluindo shelf (warrants/conversíveis brutos + ATM/linha de equity/S-1 ao preço atual, details.overheadSupplyBasis); níveis nomeados em levelsLowerBoundScope são pisos ("pelo menos") quando levelsAreLowerBound é verdadeiro; details.levelBounds dá o piso, teto e melhor estimativa de cada nível (um nível cujo piso e teto concordam é exato) |
get_dilution_snapshot | Novas ações potenciais e % das ações em circulação, posição de caixa e pista, float |
get_dilution_instruments | Linhas de uma família de instrumentos com citações SEC por campo (warrants, conversíveis, preferenciais, shelfs, atms, elocs, s1_offerings, equity_plans, exchangeables, recent_offerings) |
get_baby_shelf_capacity | Baby shelf S-3 I.B.6: quanto o emissor pode captar do seu shelf agora |
get_dilution_performance | Como a ação negociou após cada oferta passada ser precificada ou concluída |
get_dilution_history | Séries de ações em circulação e caixa com sobreposições de ofertas |
Não medido não é zero. Um valor nulo, retido ou indisponível significa que a Signal8 não o mediu. Nunca significa que a empresa não tem warrants, não tem shelf ou não tem diluição, e as descrições das ferramentas informam isso ao modelo.
Use o prompt explain_dilution para percorrer o quadro de diluição de um ticker em linguagem simples.
Inteligência — Por Empresa (12 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_counterparties | Relações de contraparte resolvidas por entidade |
get_counsel | Contratações de assessores jurídicos com taxonomia de papéis |
get_insiders | Descoberta e padrões de negociação de insiders |
get_ownership | Participação unificada (Formulário 4 + 13F + 13D/G) |
get_rofr_triggers | Detecção de gatilhos de exercício de ROFR |
get_institutions | Detentores institucionais de arquivos 13F |
get_institution_detail | Informações detalhadas para uma instituição específica (por CIK) |
get_institution_holdings | Participações completas do portfólio de uma instituição |
get_banks | Relações com bancos de investimento de arquivos SEC |
get_legal_counsels | Relações com assessores jurídicos com nomes de parceiros |
get_insider_transactions | Histórico detalhado de transações do Formulário 4 |
get_insider_cluster_buys | Detecção de padrões de compra em cluster (3+ insiders em 14 dias) |
Inteligência — Entre Empresas (3 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_institution_top_aum | Principais detentores institucionais por AUM em todas as empresas |
get_counsel_cross_company | Contratações de escritórios de advocacia em múltiplas empresas |
get_insider_cross_company | Padrões de negociação de insiders em múltiplas empresas |
Conformidade (4 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_compliance | Avaliação completa de conformidade |
get_deficiencies | Detecção de deficiências de listagem |
get_compliance_alerts | Alertas ativos de conformidade |
get_listing_classification | Classificação de listagem em bolsa |
Filtro (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_screener_fields | Descubra filtros de triagem disponíveis |
screen_companies | Filtro de empresas com análise de diluição |
Eventos e ATM (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_events | Eventos corporativos unificados |
get_atm_activity | Monitoramento de programas ATM |
ETF (1 ferramenta)
| Ferramenta | Descrição |
|---|---|
get_etf_bundle | Dados agregados de ETF (perfil, participações, setores, desempenho) |
Inteligência de Mercado — Referência de Ferramentas
Ferramentas de mercado e calendário entre tickers que operam sobre todo o universo, em vez de uma única empresa. A ferramenta de ticker único get_quote está incluída aqui para completude; as demais foram adicionadas no lançamento da Inteligência de Mercado.
get_quote
Cotação em tempo real para um único ticker (preço, variação, volume, faixa do dia).
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ticker | string | sim | Símbolo do ticker (ex.: AAPL) |
Exemplo de saída (horário regular de negociação, 9h30–16h00 ET):
{
"data": {
"ticker": "AAPL",
"currentPrice": 178.42,
"change": 2.15,
"changePercent": 1.22,
"high": 179.10,
"low": 176.80,
"open": 177.05,
"previousClose": 176.27,
"preMarketPrice": null,
"preMarketChangePercent": null,
"afterHoursPrice": null,
"afterHoursChangePercent": null,
"timestamp": 1714492800
}
}
Exemplo de saída (horário estendido — pré-mercado ou pós-mercado):
{
"data": {
"ticker": "AAPL",
"currentPrice": 178.42,
"change": 2.15,
"changePercent": 1.22,
"high": 179.10,
"low": 176.80,
"open": 177.05,
"previousClose": 176.27,
"preMarketPrice": 179.05,
"preMarketChangePercent": 0.35,
"afterHoursPrice": 178.90,
"afterHoursChangePercent": 0.27,
"timestamp": 1714492800
}
}
Janelas de horário estendido (ações dos EUA, ET): pré-mercado 4h00–9h30, pós-mercado 16h00–20h00. Fora dessas janelas,
preMarketPrice,preMarketChangePercent,afterHoursPriceeafterHoursChangePercentsãonull. Na prática, apenas um par é preenchido por vez, dependendo da janela atual — o segundo exemplo mostra ambos preenchidos para ilustração.
Caso de uso: "Qual é o preço de AAPL agora?"
get_quotes_batch
Busque cotações em tempo real para até 200 tickers em uma única chamada. Suportado por POST /api/v1/public/market/quotes. Tickers ausentes no feed upstream são mapeados para null.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| tickers | string[] | sim | 1–200 símbolos de ticker |
Exemplo de saída:
{
"data": {
"count": 3,
"quotes": {
"AAPL": { "ticker": "AAPL", "currentPrice": 178.42, "changePercent": 1.22 },
"MSFT": { "ticker": "MSFT", "currentPrice": 412.10, "changePercent": 0.41 },
"NVDA": null
}
}
}
Caso de uso: "Busque cotações ao vivo para toda a minha lista de 50 tickers em uma única chamada."
get_quotes_universe
Cotações para todos os constituintes de um universo de índice conhecido (S&P 500, Nasdaq 100 ou Dow 30).
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| universe | enum | sim | Um de sp500, ndx, dji |
Exemplo de saída:
{
"data": {
"universe": "dji",
"count": 30,
"quotes": {
"AAPL": { "currentPrice": 178.42, "changePercent": 1.22 },
"MSFT": { "currentPrice": 412.10, "changePercent": 0.41 }
}
}
}
Caso de uso: "Dê-me um instantâneo ao vivo de cada componente do Dow 30."
get_index_snapshot
Instantâneo diário em lote (OHLC, volume, variação %) para uma lista explícita de tickers (máx. 50) ou para todo o universo monitorado quando omitido.
Entradas: nenhuma obrigatória (consulta opcional tickers quando chamado via REST)
Exemplo de saída:
{
"data": {
"count": 2,
"snapshots": [
{ "ticker": "SPY", "close": 512.34, "changePercent": 0.42, "volume": 78321000 },
{ "ticker": "QQQ", "close": 438.21, "changePercent": 0.55, "volume": 41902000 }
]
}
}
Caso de uso: "Mostre-me um instantâneo único de onde os ETFs de índice fecharam."
get_sector_etf_snapshot
Instantâneo dos 11 ETFs setoriais SPDR (XLK, XLF, XLV, XLY, XLP, XLE, XLI, XLB, XLRE, XLU, XLC) com um rótulo sector por linha. Útil para visualizações de rotação setorial.
Entradas: nenhuma
Exemplo de saída:
{
"data": {
"count": 11,
"sectors": [
{ "ticker": "XLK", "sector": "Technology", "close": 218.40, "changePercent": 0.85 },
{ "ticker": "XLF", "sector": "Financials", "close": 41.23, "changePercent": -0.12 }
]
}
}
Caso de uso: "Quais setores estão liderando e ficando para trás hoje?"
get_top_movers
Principais movimentadores de mercado por direção (altas, baixas ou mais negociados por volume), calculados a partir de ticker_snapshots. Exclui warrants/units/ETFs/fundos.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| direction | enum | sim | gainers, losers ou active |
| limit | integer | não | 1–100 (padrão do backend aplicado quando omitido) |
| session | enum | não | premarket (4h00–9h30 ET), regular (padrão; fechamento a fechamento) ou afterhours (16h00–20h00 ET). Use pré-mercado/pós-mercado ao publicar fora do horário regular para que os rankings reflitam a janela ao vivo. |
Exemplo de saída:
{
"data": {
"direction": "gainers",
"session": "regular",
"count": 2,
"movers": [
{ "rank": 1, "ticker": "XYZ", "name": "Acme Corp", "price": 12.34, "changePercent": 42.1, "volume": 12000000, "marketCap": 350000000, "isETF": false },
{ "rank": 2, "ticker": "ABC", "name": "ABC Inc", "price": 5.62, "changePercent": 31.8, "volume": 8400000, "marketCap": 120000000, "isETF": false }
]
}
}
Caso de uso: "Quais são as 10 maiores altas de hoje?"
get_market_breadth
Agregados de amplitude de mercado (contagens e proporção de altas/baixas, % de constituintes negociando acima da média móvel de 50 dias / 200 dias, e contagens de novas máximas/mínimas de 52 semanas) para um universo escolhido. Somente ponto no tempo — sem amplitude histórica.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| universe | enum | não | sp500 (padrão), ndx ou all |
Exemplo de saída:
{
"data": {
"universe": "sp500",
"asOf": "2026-04-30T20:00:00.000Z",
"advancers": 312,
"decliners": 175,
"unchanged": 16,
"advanceDeclineRatio": 1.7828571428571428,
"pctAbove50DMA": 0.642,
"pctAbove200DMA": 0.561,
"new52wHighs": 18,
"new52wLows": 4
}
}
Caso de uso: "Quantos nomes do S&P 500 estão acima da média móvel de 200 dias agora?" ou "Adicione um cabeçalho de uma linha sobre o estado do mercado ao comentário de hoje no tweet."
get_earnings_calendar
Divulgações de resultados futuras e recentes entre duas datas. Opcionalmente, filtre para uma lista de tickers.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| from | string (AAAA-MM-DD) | sim | Início da janela |
| to | string (AAAA-MM-DD) | sim | Fim da janela |
| tickers | string[] | não | Filtro opcional de tickers |
Exemplo de saída:
{
"data": {
"events": [
{ "ticker": "AAPL", "date": "2026-05-02", "time": "AMC", "epsEstimate": 1.50, "revenueEstimate": 90100000000 }
],
"total": 1,
"limit": 50,
"offset": 0
}
}
Caso de uso: "Quais mega caps divulgam resultados na próxima semana?"
get_economic_calendar
Eventos macroeconômicos (CPI, FOMC, NFP, PIB, etc.) entre duas datas, filtrados por país e nível de impacto.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| from | string (AAAA-MM-DD) | sim | Início da janela |
| to | string (AAAA-MM-DD) | sim | Fim da janela |
| country | string (ISO-2) | não | Padrão: US |
Exemplo de saída:
{
"data": {
"events": [
{ "date": "2026-05-07", "country": "US", "event": "FOMC Rate Decision", "impact": "High", "actual": null, "forecast": "5.25%", "previous": "5.25%" }
],
"total": 1
}
}
Caso de uso: "Quais eventos de alto impacto nos EUA ocorrem esta semana?"
get_filing_calendar
Calendário prospectivo de prazos de arquivamento SEC 10-K / 10-Q por universo de índice. Prazos calculados a partir do último período reportado de cada empresa + deslocamento do status do arquivador.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| from | string (AAAA-MM-DD) | não | Padrão: hoje |
| to | string (AAAA-MM-DD) | não | Padrão: hoje + 45 dias |
| universe | enum | não | sp500, ndx, dji ou all (padrão) |
| formTypes | string[] | não | Subconjunto de ["10-K", "10-Q"] |
Exemplo de saída:
{
"data": {
"rows": [
{
"ticker": "AAPL", "companyName": "Apple Inc.",
"formType": "10-Q", "periodEnd": "2026-03-29",
"deadline": "2026-05-13", "daysUntilDeadline": 13,
"filerStatus": "large_accelerated"
}
],
"count": 1,
"window": { "from": "2026-04-30", "to": "2026-06-14" },
"universe": "sp500",
"formTypes": ["10-K", "10-Q"]
}
}
Caso de uso: "Quais nomes do S&P 500 têm prazo de 10-Q nas próximas duas semanas?"
get_lockup_expirations
Vencimentos futuros de lockup de IPO/oferta secundária dentro de uma janela de datas. Derivados de extrações de termos de subscrição (S-1 / F-1 / 424B*) — a cobertura é parcial; verifique meta.coveragePercent.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| from | string (AAAA-MM-DD) | não | Padrão: hoje |
| to | string (AAAA-MM-DD) | não | Padrão: hoje + 90 dias |
| universe | enum | não | sp500, ndx, dji ou all (padrão) |
Exemplo de saída:
{
"data": {
"rows": [
{
"ticker": "NEWCO", "companyName": "NewCo Inc.",
"lockupEndDate": "2026-05-21", "daysUntilExpiry": 21,
"originalFilingType": "S-1", "sharesUnlocking": 24500000,
"sourceFilingUrl": "https://sec.gov/..."
}
],
"meta": {
"coveragePercent": 38.4,
"totalCandidates": 412,
"parsedCount": 158,
"windowStart": "2026-04-30",
"windowEnd": "2026-07-29",
"universe": "all"
}
}
}
Caso de uso: "Há vencimentos de lockup de IPO nos próximos 30 dias?"
get_recent_material_filings
Arquivamentos recentes de 8-K sinalizados como materialmente significativos dentro de um universo de índice nomeado, opcionalmente filtrados por códigos de item (ex.: 1.01 acordo material, 5.02 mudança de liderança). Período de análise fixo em 7 dias.
Entradas:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| universe | enum | sim | sp500, ndx ou dji |
| items | string[] | não | Códigos de item 8-K (ex.: ["1.01", "2.01"]) |
| limit | integer | não | 1–200 (padrão 50) |
Exemplo de saída:
{
"data": {
"universe": "sp500",
"items": ["1.01", "5.02"],
"count": 1,
"filings": [
{
"ticker": "AAPL", "companyName": "Apple Inc.",
"filingDate": "2026-04-29T20:15:00Z", "formType": "8-K",
"items": ["1.01"], "filingUrl": "https://sec.gov/...",
"summary": "Material definitive agreement entered into..."
}
]
}
}
Caso de uso: "Houve 8-Ks de mudança de liderança no S&P 500 arquivados esta semana?"
Recursos
| Recurso | URI | Descrição |
|---|---|---|
| Perfil da Empresa | signal8://companies/{ticker}/profile | Perfil enriquecido da empresa por ticker |
| Tipos de Extração | signal8://extraction-types | Lista de todos os 13 tipos de extração de arquivamentos SEC |
Prompts (4)
| Prompt | Argumentos | Descrição |
|---|---|---|
company_due_diligence | ticker (string) | Pesquisa abrangente de due diligence em 10 etapas |
screening_workflow | sector?, marketCapMax? (string) | Fluxo de trabalho descobrir-analisar em 5 etapas |
institutional_analysis | ticker (string) | Análise de propriedade institucional e smart money em 6 etapas |
explain_dilution | ticker (string) | Cobertura de diluição, pontuação, instantâneo e instrumentos explicados em linguagem simples com citações da Signal8 Academy |
Endpoint Hospedado
Para clientes MCP baseados na web, use o endpoint HTTP Streamable hospedado:
POST https://mcp.signal8.ai/mcp
Authorization: Bearer sk_live_your_key_here
Content-Type: application/json
Clientes que suportam cabeçalhos personalizados de bearer token (ex.: conector --transport http do Claude Code CLI, Cursor e suporte MCP do VS Code) podem enviar sua chave de API conforme mostrado acima.
Clientes que suportam MCP OAuth não precisam de chave alguma. No Claude.ai ou Claude Desktop, abra Configurações → Conectores → Adicionar conector personalizado, cole https://mcp.signal8.ai/mcp, e o Claude abre um login da Signal8 para autorizar a conexão. O servidor anuncia seu servidor de autorização em https://mcp.signal8.ai/.well-known/oauth-protected-resource (OAuth 2.1 com PKCE e registro dinâmico de clientes, emitido por https://api.signal8.ai). Conexões OAuth estão sujeitas ao mesmo requisito de Signal8 Pro e limites de taxa que as chaves de API.
Variáveis de Ambiente
| Variável | Obrigatória | Descrição |
|---|---|---|
SIGNAL8_API_KEY | Sim | Sua chave de API Signal8 (começa com sk_live_ ou sk_test_) |
SIGNAL8_API_URL | Não | URL base da API (padrão: https://api.signal8.ai/api/v1/public) |
Preços
O servidor MCP e a API REST que ele chama estão incluídos no Signal8 Pro ($59/mês, ou $588/ano) com 120 requisições por minuto e 10.000 requisições por dia, com até 3 chaves de API. Não há créditos por chamada ou cobranças por requisição: cada requisição que o servidor faz à API Signal8 conta uma vez contra esses limites. Contas Signal8 gratuitas não incluem acesso à API ou MCP. Veja signal8.ai/developer.
Uso Programático
import { createMcpServer, Signal8ApiClient } from '@signal8ai/mcp';
const client = new Signal8ApiClient({
baseUrl: 'https://api.signal8.ai/api/v1/public',
apiKey: 'sk_live_xxx',
});
const server = createMcpServer(client);
// Connect to any MCP transport...
Licença
MIT — veja o arquivo LICENSE. Copyright (c) 2025-2026 Signal8 AI, Inc.
O uso da API Signal8 hospedada e dos dados é adicionalmente regido pelos Termos de Serviço da Signal8.
Signal8 Academy (gratuita, sem chave de API)
A Signal8 Academy gratuita (guias em linguagem simples sobre diluição, arquivamentos SEC, estrutura de mercado e uso da Signal8, além de um glossário) está disponível para clientes MCP sem chave de API Signal8 Pro: o servidor stdio local responde a essas consultas mesmo quando SIGNAL8_API_KEY não está definido. (O endpoint hospedado ainda pede login em cada chamada de ferramenta, como para qualquer outra ferramenta.)
| Tipo | Nome | O que retorna |
|---|---|---|
| Ferramenta | search_learn_guides | Guias correspondentes a uma consulta por palavra-chave (opcionalmente uma trilha): título, descrição, URL |
| Ferramenta | get_learn_guide | Um guia (track + slug) como Markdown, com guias relacionados e termos do glossário |
| Ferramenta | define_term | Uma entrada de glossário por slug, termo ou alias: definição curta + longa |
| Recurso | signal8://learn | Índice de cada trilha, guia e termo do glossário |
| Recurso | signal8://learn/guides/{track}/{slug} | Um guia como Markdown |
| Recurso | signal8://learn/glossary/{slug} | Um termo do glossário como Markdown |
| Prompt | explain_dilution | Lê os dados de diluição de uma empresa (ferramentas Pro) e explica cada número com os guias da Academy |
Trilhas: dilution, filings, market-structure, signal8. O conteúdo é buscado de GET /api/v1/public/learn/*, então atualizações de guias aparecem sem um lançamento de pacote. Os links no Markdown apontam para signal8.ai.