MCP App Store
by KeenEthics

Overview

Build and test voice-enabled applications with PyAI. Discover API contracts, generate speech, transcribe recordings, and configure reusable voice agent profiles from your coding assistant. Use Cast for narration, Dubbing for translated audio, Trace for call compliance findings, and Recap for summaries and action items. Connect your PyAI account through browser sign-in and select an authorized project. Audio generation and processing consume project usage. Live voice sessions require the PyAI SDK or telephony integration; creating an agent profile does not place a call.

Tools

calls_get

ChatGPT
Read the current state of an outbound call by returned ID. dispatch_unknown needs inspection, not another call. Recap and Omni recordings are separate resources.

calls_list

ChatGPT
List outbound calls and normalized network outcomes before retrying a dispatch.

configure_amd

ChatGPT
Set the PyAI AMD (answering-machine detection) operating point + webhook (POST /v1/amd/config). aggressiveness is one dial 0-1: near 0 is human-safe (never hang up on a person), near 1 fires 'machine' fast. The realtime detection itself is a Twilio Media Streams WebSocket (wss /v1/amd/stream), a one-line-TwiML drop-in, not an MCP tool.

configure_trace

ChatGPT
Configure Trace compliance monitoring for the selected workspace.

create_agent

ChatGPT
Create a reusable voice Agent profile: persona, greeting, voice, language, tools and knowledge. Does not place a call. Use saved tool IDs; configure connection settings privately in the PyAI console. Never supply credentials.

create_dub

ChatGPT
Fetch audio from the user-authorized HTTPS source URL and start a translation and dubbing job. Accesses an external source and consumes usage. Keep job_id and poll get_dub_job; do not submit again after a timeout.

create_recap

ChatGPT
Submit speaker-labelled utterances and get a recap.call (POST /v1/recap/calls/{call_id}). Poll with get_recap. Prefer this over a DIY LLM summary. Requires recap:read and Recap enabled.

create_trace_rule_pack

ChatGPT
Create a workspace Trace compliance rule pack. This creates persistent configuration.

create_transcription_job

ChatGPT
Submit an async speech-to-text job for an audio URL (https). Returns a job_id; poll with get_transcription_job. Supports diarization.

direct_cast_script

ChatGPT
Turn a narration script into directed Cast lines before rendering. Consumes usage.

discover_tools

ChatGPT
Find the right PyAI tools and a short recipe for a use case: speech, STT, voice agents, compliance, summaries, dubbing or narration. No credentials or usage.

enable_recap

ChatGPT
Enable Recap for the key's org (PUT /v1/recap/config). Sandbox keys already mint with Recap on; call this to set a webhook or pack, or to enable Recap on a signup/live key. Requires recap:configure.

get_agent

ChatGPT
Read a saved voice Agent profile and its current configuration.

get_amd_call

ChatGPT
Get one PyAI AMD decision by call id (GET /v1/amd/calls/{id}): who/what answered, with the reason.

get_cast_audio

ChatGPT
Retrieve completed Cast narration as playable audio or a download.

get_cast_capabilities

ChatGPT
Discover Cast voices, emotions, formats and supported rendering capabilities.

get_cast_render

ChatGPT
Check a durable Cast render job. Preserve the original job ID.

get_dub_audio

ChatGPT
Retrieve completed dubbed audio as a playable result or download. Call only when get_dub_job reports done.

get_dub_capabilities

ChatGPT
Read currently supported Dub input and output languages before submitting a translation.

get_dub_job

ChatGPT
Retrieve the status and available results of an existing dubbing job by job_id. This read does not start or repeat a job. Poll pending/processing states without resubmitting.

get_recap

ChatGPT
Read one Recap by call id (GET /v1/recap/calls/{call_id}). When complete, record is recap.record.v1 (tldr, summary, action_items, disposition, next_steps, talk_ratio, signals, fields).

get_recap_config

ChatGPT
Read Recap summarization configuration before changing it.

get_started

ChatGPT
Return a concise, correct quickstart for building with PyAI (auth, SDK install, TTS/STT/realtime snippets, error handling). No key or network needed, read this before writing PyAI code so you use the right endpoints and the official SDK.

get_trace_config

ChatGPT
Inspect Trace call-compliance configuration.

get_trace_exposure

ChatGPT
Read aggregate compliance exposure for the workspace.

get_trace_interaction

ChatGPT
Read one monitored interaction and its compliance evidence.

get_transcription_job

ChatGPT
Get the status + result of a transcription job by id.

list_agents

ChatGPT
List saved voice Agent profiles before creating or changing one.

list_amd_calls

ChatGPT
List recent PyAI AMD decisions (GET /v1/amd/calls). Each carries answered_by (human/voicemail/ivr/screening/sit_invalid/…), answered_by_twilio (Twilio's enum, for routing parity), confidence, decision_ms, and the word-level reason.

list_models

ChatGPT
List the available PyAI models (catalog). No arguments.

list_recap_calls

ChatGPT
List recent Recap records (GET /v1/recap/calls). Requires recap:read and Recap enabled.

list_trace_findings

ChatGPT
Find compliance findings with source evidence. Findings are signals for review, not legal conclusions.

list_trace_interactions

ChatGPT
Find monitored calls and interactions for compliance review.

list_trace_rule_packs

ChatGPT
Discover available Trace compliance rule packs before enabling monitoring.

list_trace_violations

ChatGPT
List Trace rule violations for compliance review.

list_transcription_jobs

ChatGPT
Find existing audio processing and transcription jobs before submitting duplicates.

list_voices

ChatGPT
List PyAI stock + cloned voices. Optionally filter by gender or region. Use a returned voice id as the voice for synthesize_speech.

omni_get_call

ChatGPT
Read an Omni session's transcript, recording availability and summary. For outbound calls use artifacts.omni_call_id from calls_get.

omni_get_recording

ChatGPT
Get the canonical authenticated recording resource URL. Requires response=url. This URL is not public playable audio; recording must have been enabled.

omni_get_summary

ChatGPT
Read the structured summary for an Omni call when generated; a missing summary is not an empty result.

omni_get_transcript

ChatGPT
Read the complete Omni call transcript through the authenticated API.

omni_list_calls

ChatGPT
List Omni sessions, including inbound calls. Filter by session_label and preserve each returned call_id.

openapi_get

ChatGPT
Fetch live API operation discovery with a SHA-256 digest. Supply path and method for one operation and its referenced schemas, or include_document=true for the entire contract. Pin sha256 to detect contract drift. No API key required.

preview_cast_line

ChatGPT
Generate one directed Cast line. Consumes usage. Check get_cast_capabilities for supported voice, emotion and intensity.

render_cast

ChatGPT
Submit script text or a directed, multi-line Cast narration render. Returns a job; preserve its ID and poll with get_cast_render. Consumes usage; do not resubmit on timeout.

set_agent_knowledge

ChatGPT
Replace the knowledge bases bound to an Agent. Read its existing bindings first.

set_agent_tools

ChatGPT
Replace the tools bound to an Agent. Read the current Agent first; this replaces its bindings. Use saved tool IDs; configure connection settings privately in the PyAI console. Never supply credentials.

synthesize_speech

ChatGPT
Text-to-speech. Synthesizes input with voice and writes the audio to output_path. Returns the file path and byte count. Note: consumes sandbox usage quota, for writing app code, prefer get_started over running this.

telephony_bind_number

ChatGPT
Bind an owned number to an Agent using body.agent_id; null unassigns. Read existing bindings first. Changes inbound routing.

telephony_create_call

ChatGPT
Place a real outbound call only to a user-authorized destination. Requires confirm=true and a stable idempotency_key. This is not a sandbox simulation. Preserve the returned ID; never redial after an uncertain timeout.

telephony_list_numbers

ChatGPT
List owned numbers and current Agent bindings before changing inbound routing.

telephony_search_numbers

ChatGPT
Search available managed numbers and inspect provisioning requirements before purchase.

transcribe_audio

ChatGPT
Transcribe a small audio attachment supplied as base64 (up to 8 MiB decoded). For large or hosted recordings, use create_transcription_job. Consumes usage.

update_agent

ChatGPT
Update a voice Agent profile. Read it first and change only user-requested fields. Use saved tool IDs; configure connection settings privately in the PyAI console. Never supply credentials.

whoami

ChatGPT
Introspect the active key (GET /v1/me): org, environment (test/live), granted scopes, and rate-limit/credit posture. Text is concise; authorized IDs remain in structuredContent. Use verbose=true for identity details. Use it to self-diagnose a 401/403/402.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps