Para desenvolvedores e operadores de agentes · MCP + API
Um servidor MCP. Uma API compatível com OpenAI.
Aponte qualquer um dos dois para o Octo e seu agente ganha um número de telefone, uma caixa de entrada e uma linha de WhatsApp — com uma confirmação humana antes de qualquer gasto.
claude mcp add --transport http octo https://api.omniocto.com/mcp \
--header "Authorization: Bearer $OMNIOCTO_API_KEY" Aí: “Octo, atende o telefone do meu negócio e me manda por SMS um resumo de cada ligação.”
A via com agente · recomendada
O Octo escolhe as ferramentas.
Chegam três ferramentas ao seu agente. Você descreve o resultado, o Octo planeja, e tudo que gasta dinheiro espera o seu YES. Aponte qualquer cliente MCP para /mcp — /mcp/octo fica como alias permanente.
o que seu agente vê
- send_message
- list_conversations
- get_conversation
como é uma execução
O contexto do seu agente continua sendo sobre o seu problema. O Octo cuida do plano e das confirmações.
$ claude mcp add --transport http octo \ https://api.omniocto.com/mcp✓ connected · 3 tools› “Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar.”octo ▸ send_message searched · bought — arriscado, retido esperando confirmação → YES 4821 created the agent · deployed it● seu telefone está tocando Um comando. Reinicie e é só pedir.
~/.codex/config.toml[mcp_servers.octo]url = "https://api.omniocto.com/mcp"bearer_token_env_var = "OMNIOCTO_API_KEY"● octo · 3 tools› “Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar.”octo ▸ send_message searched · bought — arriscado, retido esperando confirmação → YES 4821 created the agent · deployed it● seu telefone está tocando Três linhas no arquivo de configuração que o Codex já lê.
A via com agente · catálogo completo
Seu agente escolhe as ferramentas.
As mais de 200 definições de ferramentas chegam ao seu agente antes de ele fazer qualquer coisa, e o plano fica com o seu loop. O MCP não tem estado, e não há onde deixar uma ação pendente — então as ferramentas que gastam dinheiro, destroem dados ou enviam mensagens em massa respondem confirmation_required em vez de executar. Mesmo cliente, apontado para /mcp/tools.
o que seu agente vê
- search_phone_numbers
- buy_phone_number
- create_agent
- deploy_agent
- send_sms
- +200 outras
como é uma execução
search_phone_numbers({ area_code: "206" }) buy_phone_number({ id: "pn_…" }) confirmation_required — gasta dinheiro Cada definição de ferramenta entra no contexto do seu agente antes de ele fazer qualquer coisa. O plano é seu.
$ claude mcp add --transport http octo \ https://api.omniocto.com/mcp/tools✓ connected · 200+ tools› “Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar.”tool ▸ search_phone_numbers area_code=206 → 12 availabletool ▸ buy_phone_number confirmation_required — spends money O mesmo comando, outra URL. É essa a diferença toda.
~/.codex/config.toml[mcp_servers.octo]url = "https://api.omniocto.com/mcp/tools"bearer_token_env_var = "OMNIOCTO_API_KEY"● octo · 200+ tools› “Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar.”tool ▸ search_phone_numbers area_code=206 → 12 availabletool ▸ buy_phone_number confirmation_required — spends money O mesmo arquivo, outra url. Nada mais muda.
A via da API
APIs compatíveis com OpenAI.
Troque base_url e api_key e o código que você já tem roda. As duas interfaces da OpenAI são suportadas — a mais nova, a Responses API em /v1/responses, e a Chat Completions em /v1/chat/completions — com o mesmo planejamento e as mesmas confirmações do MCP.
from openai import OpenAIclient = OpenAI( base_url="https://api.omniocto.com/v1", api_key=os.environ["OMNIOCTO_API_KEY"],)r = client.responses.create( input="Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar.") Duas linhas mudam em código que você já escreveu.
import OpenAI from "openai";const client = new OpenAI({ baseURL: "https://api.omniocto.com/v1", apiKey: process.env.OMNIOCTO_API_KEY,});const r = await client.responses.create({ input: "Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar.",}); As mesmas duas linhas, o mesmo formato de SDK.
$ curl https://api.omniocto.com/v1/responses \ -H "Authorization: Bearer $OMNIOCTO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":"Atenda o telefone do meu negócio: compre um número e ligue para o meu celular para provar."}' Sem SDK nenhum. É só HTTP.
Uma chave só serve para tudo. Mesmo espaço de trabalho, mesma trilha de auditoria, mesmas confirmações.
O que seu agente ganha
O que as mais de 200 ferramentas cobrem de verdade.
Telefonia e mensagens
Comprar números de telefone, fazer e atender ligações reais, enviar WhatsApp e SMS, escrever e enviar respostas de e-mail.
search_phone_numbers · buy_phone_number · start_voice_call · send_message_to_contact · send_whatsapp_template · reply_to_email_threadContatos e conhecimento
Um CRM de contatos, todas as conversas de todos os canais em uma caixa de entrada só, e uma base de conhecimento que seu agente pode consultar.
create_contact · find_contact_by_channel · get_conversations · kb_searchClasses de risco e limites de gasto
Cada ferramenta do catálogo carrega uma classe de risco. Ações arriscadas param para esperar uma confirmação com código YES, e os limites de gasto seguram a linha — seu agente não consegue gastar sem querer.
risk classes · "Reply YES 4821" two-phase commit · LLM + voice-minute spend capsEstá lendo isto como um agente? Comece por aqui.
Superfícies legíveis por máquina em api.omniocto.com:
/llms.txt/.well-known/skills/index.json/v1/openapi.json/mcp-docs— endpoint MCP, adicione a um cliente
Construído como uma API, não como uma demo
As partes chatas já estão prontas.
- Limites de taxa — por chave e por espaço de trabalho,
429comretry-after. documentação ↗ - Idempotency-Key — replays seguros em
/v1/responses. documentação ↗ - Streaming SSE — eventos no formato da OpenAI nas duas fachadas. documentação ↗
- Webhooks — callbacks de conclusão para jobs
background:true. documentação ↗
Funciona com
| Cliente | Verificado por | Última rodada de conformidade |
|---|---|---|
| OpenAI SDK (Python / TS) | troca de base_url + api_key contra /v1 | verificado em 2026-08-06 |
| Claude Code (MCP) | claude mcp add → chamada real de ferramenta | rodada de conformidade pendente |
| curl | HTTP puro contra /v1 | verificado em 2026-08-06 |
A compatibilidade é testada, não presumida: antes desta página ir ao ar, cada linha passa por uma verificação datada e repetível.
Comece
Gere uma chave. Aponte seu agente para ela.
Uma chave é uma credencial do espaço de trabalho que carrega o seu papel — ela pode fazer tudo o que você pode. Trate como uma senha.