開発者とエージェント運用者へ · MCP + API
MCP サーバーが 1 つ。OpenAI 互換 API が 1 つ。
どちらかを Octo に向けるだけで、エージェントは電話番号と受信箱と WhatsApp 回線を手にします。お金がかかる操作の前には、必ず人の承認が入ります。
claude mcp add --transport http octo https://api.omniocto.com/mcp \
--header "Authorization: Bearer $OMNIOCTO_API_KEY" そして: “Octo、会社の電話に出て、通話ごとに要約を SMS で送って。”
エージェント経由 · 推奨
ツールは Octo が選びます。
エージェントに届くツールは 3 つだけです。あなたは望む結果を伝え、計画は Octo が立て、お金がかかる操作はあなたの YES を待ちます。MCP クライアントを /mcp に向けるだけです。/mcp/octo は恒久的なエイリアスとして残ります。
エージェントに見えているもの
- send_message
- list_conversations
- get_conversation
実行するとこうなる
エージェントのコンテキストは、あなたの課題そのものに使われ続けます。計画と確認は Octo が引き受けます。
$ claude mcp add --transport http octo \ https://api.omniocto.com/mcp✓ connected · 3 tools› “会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。”octo ▸ send_message searched · bought — リスクあり。確認待ちで保留 → YES 4821 created the agent · deployed it● あなたの電話が鳴っています コマンド 1 つ。再起動したら、あとは頼むだけ。
~/.codex/config.toml[mcp_servers.octo]url = "https://api.omniocto.com/mcp"bearer_token_env_var = "OMNIOCTO_API_KEY"● octo · 3 tools› “会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。”octo ▸ send_message searched · bought — リスクあり。確認待ちで保留 → YES 4821 created the agent · deployed it● あなたの電話が鳴っています Codex がすでに読んでいる設定ファイルに 3 行。
エージェント経由 · カタログ全体
ツールはあなたのエージェントが選びます。
200 以上のツール定義が、何かをする前にすべてエージェントへ渡り、計画はあなたのループが持ちます。MCP はステートレスで、保留中の操作を預けておく場所がありません — そのため課金・破壊的・一斉送信にあたるツールは、実行せずに confirmation_required を返します。同じクライアントを /mcp/tools に向けるだけです。
エージェントに見えているもの
- search_phone_numbers
- buy_phone_number
- create_agent
- deploy_agent
- send_sms
- ほか 200 個以上
実行するとこうなる
search_phone_numbers({ area_code: "206" }) buy_phone_number({ id: "pn_…" }) confirmation_required — 課金が発生します エージェントが何かをする前に、すべてのツール定義がそのコンテキストに入ります。計画はあなたのものです。
$ claude mcp add --transport http octo \ https://api.omniocto.com/mcp/tools✓ connected · 200+ tools› “会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。”tool ▸ search_phone_numbers area_code=206 → 12 availabletool ▸ buy_phone_number confirmation_required — spends money 同じコマンドで、URL だけが違う。違いはそれだけです。
~/.codex/config.toml[mcp_servers.octo]url = "https://api.omniocto.com/mcp/tools"bearer_token_env_var = "OMNIOCTO_API_KEY"● octo · 200+ tools› “会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。”tool ▸ search_phone_numbers area_code=206 → 12 availabletool ▸ buy_phone_number confirmation_required — spends money 同じファイルで、url だけが違う。ほかは何も変わりません。
API 経由
OpenAI 互換 API。
base_url と api_key を差し替えるだけで、いまのコードがそのまま動きます。OpenAI の 2 つのインターフェースに対応しています — 新しい Responses API(/v1/responses)と Chat Completions(/v1/chat/completions) — 計画も確認も 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="会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。") すでに書いてあるコードを 2 行だけ変えます。
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: "会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。",}); 同じ 2 行、同じ SDK の書き方。
$ curl https://api.omniocto.com/v1/responses \ -H "Authorization: Bearer $OMNIOCTO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":"会社の電話に出て — 番号を買って、私の携帯にかけて動くことを見せて。"}' SDK すら不要。ただの HTTP です。
鍵 1 つですべてに通ります。同じワークスペース、同じ監査ログ、同じ確認の仕組み。
エージェントが手に入れるもの
200 以上のツールが実際にカバーする範囲。
電話とメッセージ
電話番号の購入、実際の発信と応答、WhatsApp と SMS の送信、メール返信の下書きと送信。
search_phone_numbers · buy_phone_number · start_voice_call · send_message_to_contact · send_whatsapp_template · reply_to_email_thread連絡先とナレッジ
連絡先 CRM、すべてのチャネルの会話がまとまる 1 つの受信箱、そしてエージェントが検索できるナレッジベース。
create_contact · find_contact_by_channel · get_conversations · kb_searchリスク区分と上限設定
カタログ内のすべてのツールにリスク区分が付いています。リスクのある操作は YES コードによる確認を待って停止し、上限設定が歯止めになります — エージェントがうっかり課金することはありません。
risk classes · "Reply YES 4821" two-phase commit · LLM + voice-minute spend capsエージェントとしてこれを読んでいますか? ここから始めてください。
機械可読なインターフェース( api.omniocto.com)
/llms.txt/.well-known/skills/index.json/v1/openapi.json/mcp-docs— MCP エンドポイントです。クライアントに追加してください
デモではなく、API としてつくられています
地味な部分は、もう終わっています。
- レート制限 — キー単位とワークスペース単位。
429とretry-afterを返します。 ドキュメント ↗ - Idempotency-Key —
/v1/responsesで安全に再送できます。 ドキュメント ↗ - SSE ストリーミング — 両方のファサードで OpenAI 形式のイベントを配信します。 ドキュメント ↗
- Webhook —
background:trueのジョブに完了コールバックを返します。 ドキュメント ↗
動作確認済みのクライアント
| クライアント | 検証方法 | 最終適合性テスト |
|---|---|---|
| OpenAI SDK (Python / TS) | /v1 に対して base_url と api_key を差し替え | 検証済み 2026-08-06 |
| Claude Code (MCP) | claude mcp add → 実際のツール呼び出し | 適合性テスト未実施 |
| curl | /v1 への素の HTTP リクエスト | 検証済み 2026-08-06 |
互換性は前提ではなく、実際に試して確かめています。このページを公開する前に、各行について日付入りの再実行可能な検証を行います。
はじめる
鍵を発行して、エージェントを向けるだけ。
キーはあなたの権限をそのまま持つワークスペースの資格情報です — あなたにできることは、すべてキーにもできます。パスワードと同じように扱ってください。