Tool reference

Every OpenPhonex MCP tool with its required scope, generated from the server's TOOL_SCOPES.

Every tool the agent can call, with the scope it requires. Scopes are authoritative on the server (TOOL_SCOPES in src/telephony_ai/mcp.py) — treat the live tools/list on your instance as canonical.

Account

ToolScopeDescription
account_overviewaccount:readWallet, agents, numbers, calls, SMS conversations, and usage for a workspace.
list_audio_environmentsaccount:readRead the immutable versioned ambience catalogue (including Off). It has the same result and scope as GET /v1/audio-environments; it never contacts a provider or changes a selection.

Coverage & catalog

ToolScopeDescription
get_coveragecoverage:readSupported countries with voice, SMS, registration, and onboarding speed.
get_number_catalogcoverage:readNumber SKUs with setup/monthly price, capabilities, and onboarding terms.
get_agent_catalogagents:read or coverage:readSelectable STT/LLM/TTS providers with cost, latency, languages, streaming, runnability, plus conversation_engines; optional metered_only: boolean defaults to false, and true returns only component-metered choices.
check_number_requirementscoverage:readCountry and number-type onboarding requirements in plain terms.

Agents

ToolScopeDescription
list_agentsagents:readBounded newest-first { agents, pagination } page using the safe REST agent item projection.
get_agentagents:readRead one safe agent configuration projection.
create_agentagents:writeCreate a first-class agent in external_audio, external_text, or hosted mode.
connect_external_agentagents:writeShortcut for an external_audio agent with webhook + audio-stream URLs.
update_agentagents:writeApply the generic mutable-agent PATCH fields and REST validation.
get_agent_voice_stackagents:readRead the selected stack and sparse language profiles.
set_agent_voice_stackagents:writeSet transcriber/model/voice, first message, system prompt, language, and optional voice_frontend (cascade or gpt_live).
preview_voiceagents:writeExplicit bounded, rate-limited provider/BYOK Listen action; may have provider and safe state effects, so it is not read-only.

Offline trial fixtures

ToolScopeDescription
create_trial_calltrial_calls:writeCreate an offline fixture with synthetic_only: true. Shared-number live PIN trials are retired.

Numbers

ToolScopeDescription
list_numbersnumbers:readList phone numbers and registration status.
get_number_rulesnumbers:readGet customer-facing number rules for one phone number.
list_phone_serversnumbers:readList customer phone servers for self-hosted media/calling.
request_numbernumbers:writeCreate a managed number request (live ordering needs operator approval).
update_number_rulesnumbers:writeUpdate customer-facing number rules for one phone number.
create_phone_servernumbers:writeCreate a customer phone server (dry-run verify before assigning).
test_phone_servernumbers:writeDry-run verify a customer phone server before assigning a number.

Calls & recordings

ToolScopeDescription
list_callscalls:readList calls for a workspace.
get_callcalls:readGet call status and recording state.
get_call_recordingrecordings:readGet recording metadata and disclosure state.
get_call_transcriptrecordings:readGet transcript turns.
create_outbound_callcalls:writePlace a policy-gated outbound call.

SMS

ToolScopeDescription
list_conversationssms:readList SMS conversations for a workspace.
send_smssms:sendSend a policy-gated SMS message.

Policy & onboarding

ToolScopeDescription
evaluate_outbound_policypolicy:evaluateReturn the outbound policy decision and cost before anything leaves.
authorize_outboundpolicy:evaluateAuthorize a policy-approved outbound action.
get_capabilitiesonboarding:readRead the workspace capabilities (state, profiles, channels, destinations, caps, calling rules, usage).
request_capabilitiesonboarding:writeRequest more capabilities (profiles, channels, destinations) and accept the outbound policy. The destination choice is required: all_countries: true, or countries naming at least one ISO 3166-1 alpha-2 code.

Simulations Lab

Scripted synthetic callers exercising one of your AI agents. See Simulations Lab for what a suite is and what a run costs.

ToolScopeDescription
list_simulation_suitesagents:readAn AI agent's suites, each with the health of its latest run.
get_simulation_suiteagents:readOne suite: scenarios, runners, policy, run history, and run_setup.
create_simulation_suiteagents:writeCreate a suite, optionally with its whole scenario list in one call.
preview_simulation_runagents:readWhat a run would cost and which runners this deployment admits. Creates nothing.
start_simulation_runagents:writeStart a run. Spends your budget; idempotency_key is required.
get_simulation_runagents:readOne run's attempts with verdicts, facts, transcripts and evidence links.
get_simulation_run_resultssimulation_suites:readThe redacted pass/fail projection for a build server.
cancel_simulation_runagents:writeCancel a queued or running run.

Two scopes, deliberately. The rich reads take agents:read because they return authored scenarios and what your callers said. get_simulation_run_results takes only simulation_suites:read, so a CI job can gate a deploy on a run without holding a key that reads every AI agent's configuration.

See Scopes & permissions for the full scope catalog and fail-closed semantics.

On this page