Servidor MCP
Inventário completo de `@orbitsender/mcp` — extraído direto do código do pacote.
Página gerada automaticamente
Extraída do código de packages/mcp pelo npm run generate:sdk-ref.
Não edite à mão — a próxima geração sobrescreve. Célula com — significa que o
código não traz aquela informação (nome sem comentário, método que não bate 1:1 com
um endpoint), e não que ela não exista.
O guia de uso — instalar, autenticar e exemplos — fica em Servidor MCP. Esta página é o inventário: o que existe, com que assinatura e contra qual endpoint da API externa.
Servidor MCP
@orbitsender/mcp · 16 ferramentas em 7 grupos · extraído de packages/mcp · guia de uso em Servidor MCP
account
Retrato da conta numa chamada. Cada parte degrada isolada (allSettled).
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
orbitsender_account_overview | orbitsender_account_overview() | — | Retrato da conta numa chamada: canais (por status), nº de segmentos e KPIs agregados. Use no início da sessão como healthcheck rico (substitui o ping cru). — orquestra 3 endpoints: GET /api/external/list-channels + GET /api/external/list-segments + GET /api/external/partner/statistics; varre todas as páginas da listagem (collectPages); anotações: somente leitura, idempotente |
segments
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
orbitsender_search_segments | orbitsender_search_segments(query?: string) | GET /api/external/list-segments | Busca segmentos (audiências) por nome (substring, case-insensitive). Retorna id, nome e sinais de tamanho (grupos/canais). Resolva SEMPRE o segmento aqui antes de disparar. — anotações: somente leitura, idempotente |
launch
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
orbitsender_launch_campaign | orbitsender_launch_campaign(segment_query: string, name: string, message: string, scheduled_at?: string, dry_run?: boolean, idempotency_key?: string) | — | Dispara uma campanha de mensagem para um segmento, ponta a ponta: resolve o segmento pelo nome, monta um preview e EXIGE confirmação humana antes de enviar. Use dry_run:true para apenas ver o preview. Ação com efeito real e irreversível. — EXIGE CONFIRMAÇÃO HUMANA (elicitation, lib/confirm.ts) — a IA não se autoconfirma; cliente sem elicitation = ação BLOQUEADA (fail-closed); orquestra 2 endpoints: GET /api/external/list-segments + POST /api/external/create-campaign/message; anotações: destrutiva, não idempotente |
wait
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
orbitsender_wait_for_campaign | orbitsender_wait_for_campaign(id_campaign: string, timeout_seconds?: number) | GET /api/external/info-campaign/{id_campaign} | Acompanha uma campanha até terminar (via polling do agregado groups, não de webhook). Timeout curto: se ainda estiver em andamento, aponta o resource ao vivo para polling barato. — espera por polling do SDK (não por webhook); anotações: somente leitura, idempotente |
channels
Tools 6-8: gestão de canais de WhatsApp.
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
orbitsender_search_channels | orbitsender_search_channels() | GET /api/external/list-channels | Lista TODOS os canais de WhatsApp do tenant (nome, status, id). Se a resposta indicar truncamento, NÃO conclua que um canal inexiste. — varre todas as páginas da listagem (collectPages); anotações: somente leitura, idempotente |
orbitsender_start_channel_connection | orbitsender_start_channel_connection(name: string, idempotency_key?: string) | POST /api/external/create-channel | Cria um canal de WhatsApp. ATENÇÃO: NÃO provisiona sozinho — o QR precisa ser escaneado no painel web. Depois, acompanhe com orbitsender_search_channels até o status "active". Antes de criar, verifique com orbitsender_search_channels que o canal não existe (canal duplicado consome cota do plano). — anotações: não idempotente |
orbitsender_list_channel_groups | orbitsender_list_channel_groups(id_channel: string) | GET /api/external/list-groups/{id_channel} | Lista os grupos de WhatsApp de um canal (id do grupo/JID + nome). Use para obter os groups exigidos por orbitsender_create_segment. — anotações: somente leitura, idempotente |
orbitsender_disconnect_channel | orbitsender_disconnect_channel(id_channel: string) | POST /api/external/disconnect/{id_channel} | Desconecta um canal (para o envio nele até reconectar). Exige confirmação humana. — EXIGE CONFIRMAÇÃO HUMANA (elicitation, lib/confirm.ts) — a IA não se autoconfirma; cliente sem elicitation = ação BLOQUEADA (fail-closed); anotações: destrutiva, não idempotente |
config
Tools 5,9-13: configurações, status/diagnóstico, segmento, webhooks, fastlogin.
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
orbitsender_get_settings | orbitsender_get_settings() | GET /api/external/list-settings | Lê as configurações de disparo, preferências e agenda de envio do tenant. — anotações: somente leitura, idempotente |
orbitsender_campaign_status | orbitsender_campaign_status(id_campaign: string) | GET /api/external/info-campaign/{id_campaign} | Lê o status e o progresso (groups) de uma campanha UMA vez, sem esperar. Para acompanhar até terminar, use orbitsender_wait_for_campaign. — anotações: somente leitura, idempotente |
orbitsender_list_campaigns | orbitsender_list_campaigns() | GET /api/external/partner/campaigns | Lista as campanhas do tenant (id, nome, status). Use para descobrir campanhas antes de consultar status/diagnóstico. — varre todas as páginas da listagem (collectPages); anotações: somente leitura, idempotente |
orbitsender_diagnose_delivery | orbitsender_diagnose_delivery(id_campaign: string) | — | Explica por que uma campanha pode não estar entregando: cruza status/progresso da campanha com o status dos canais e aponta o que está errado. — orquestra 2 endpoints: GET /api/external/info-campaign/{id_campaign} + GET /api/external/list-channels; varre todas as páginas da listagem (collectPages); anotações: somente leitura |
orbitsender_create_segment | orbitsender_create_segment(name: string, id_channel: string[], groups: string[], idempotency_key?: string) | POST /api/external/create-segment | Cria um segmento (audiência) a partir de canais e grupos. Descubra os canais com orbitsender_search_channels e os grupos de cada canal com orbitsender_list_channel_groups. — anotações: não idempotente |
orbitsender_configure_webhook | orbitsender_configure_webhook(campaign_status_url?: string, campaign_progress_url?: string, channel_status_url?: string) | PATCH /api/external/edit-webhooks | Define as URLs de webhook (campaign_status / campaign_progress / channel_status). SOBRESCREVE as atuais (pode substituir uma automação existente) — exige confirmação. — EXIGE CONFIRMAÇÃO HUMANA (elicitation, lib/confirm.ts) — a IA não se autoconfirma; cliente sem elicitation = ação BLOQUEADA (fail-closed); anotações: destrutiva, idempotente |
orbitsender_open_in_orbitsender | orbitsender_open_in_orbitsender() | POST /api/external/partner/fastlogin | Gera um link de fastlogin de uso único para o usuário abrir o painel já logado (sessão de-escalada, 120s). Disponível para apps de parceiro. — só é registrada quando buildServer recebe mode="partner_app" (app de parceiro); não existe numa sessão de api-key; anotações: não idempotente |
resources/campaign
Resource ao vivo orbitsender://campaigns/{id} — status + progresso (groups) de uma campanha. Permite ao host fazer polling barato em vez de segurar uma tool call bloqueante.
| ferramenta | assinatura | endpoint | nota |
|---|---|---|---|
campaign | orbitsender://campaigns/{id} | GET /api/external/info-campaign/{id_campaign} | Status e progresso agregado de uma campanha, para polling. — RESOURCE MCP (não é tool) — o host lê pela URI, para polling barato; mimeType application/json |
Achou algo faltando?
Se algo existe no pacote mas não aparece aqui, o extrator não o reconheceu —
é bug do gerador (scripts/generate-sdk-reference.mjs e scripts/sdk-reference/),
não da documentação. A referência da API
continua sendo a fonte da verdade do contrato HTTP.