voice
Vapi
Connect Vapi to Elaichi and hand every teammate a governed MCP endpoint — 86 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Vapi tools for your AI agents
86 tools are ready to mint as an MCP endpoint the moment you connect Vapi — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
list_all_vapi_assistants
List vapi assistants. Returns: id, createdAt, updatedAt. Supports optional filtering by creation and update timestamps (gt, lt, ge, le variants for both createdAt and updatedAt).
create_a_vapi_assistant
Create a new vapi assistant. Returns: id, createdAt, updatedAt.
get_single_vapi_assistant_by_id
Get a single vapi assistant by id. Returns: id, createdAt, updatedAt. Required: id.
update_a_vapi_assistant_by_id
Update a vapi assistant by id using a partial payload. Returns: id, createdAt, updatedAt. Required: id.
delete_a_vapi_assistant_by_id
Delete a vapi assistant by id. Returns the deleted assistant object including id, createdAt, updatedAt. Required: id.
list_all_vapi_squads
List vapi squads. Returns: id, createdAt, updatedAt per squad. Supports optional filtering by createdAt and updatedAt date ranges.
create_a_vapi_squad
Create a new vapi squad. Returns: id, createdAt, updatedAt of the newly created squad.
get_single_vapi_squad_by_id
Get a single vapi squad by id. Returns: id, createdAt, updatedAt. Required: id.
update_a_vapi_squad_by_id
Update an existing vapi squad by id. Returns: id, createdAt, updatedAt of the updated squad. Required: id.
delete_a_vapi_squad_by_id
Delete a vapi squad by id. Returns the deleted squad object including id, createdAt, updatedAt. Required: id.
list_all_vapi_calls
List vapi calls with optional filters. Returns an array of call records each including id, type, assistantId, phoneNumberId, createdAt, and updatedAt. Filter by id, assistantId, phoneNumberId, or creation/update date ranges.
create_a_vapi_call
Create a new vapi call. Returns the created call object including id, type, assistantId, phoneNumberId, createdAt, and updatedAt.
get_single_vapi_call_by_id
Get a single vapi call by id. Returns: id, type, assistantId, phoneNumberId, createdAt, updatedAt. Required: id.
update_a_vapi_call_by_id
Update a vapi call by id. Returns the updated call object including id, type, assistantId, phoneNumberId, createdAt, and updatedAt. Required: id.
delete_a_vapi_call_by_id
Delete a vapi call by id. Returns the deleted call object including id, type, assistantId, phoneNumberId, createdAt, and updatedAt. Required: id.
list_all_vapi_mono_recordings
Download the mono-channel audio recording for a vapi call. Returns a 302 redirect to a short-lived presigned URL for the audio file; the recording content is served from the redirect target. Required: id.
list_all_vapi_stereo_recordings
Download the stereo recording for a vapi call by call id. Returns a redirect (302) to a short-lived presigned URL for the binary audio recording file; no structured JSON body is returned. Required: id.
list_all_vapi_video_recordings
Download the video recording for a vapi call by call id. The endpoint issues a 302 redirect to a short-lived presigned URL pointing to the video file — follow the redirect to access the recording. Required: id.
list_all_vapi_customer_recordings
Download the customer-side recording for a vapi call by call id. Returns an audio recording file (200 OK) or redirects to a short-lived presigned URL for the recording (302). Required: id.
list_all_vapi_assistant_recordings
Download the assistant recording for a vapi call. Returns a 302 redirect to a short-lived presigned URL for the audio recording file rather than a structured JSON body. Required: id (call UUID).
list_all_vapi_pcaps
Download the packet capture (pcap) file for a vapi call. Returns a 302 redirect to a short-lived presigned URL for the pcap binary file; no JSON response body is returned. Required: id (Call ID, UUID).
list_all_vapi_call_logs
Download call logs for a vapi call by id. Redirects (302) to a short-lived presigned URL for the log file rather than returning a structured JSON body. Required: id.
list_all_vapi_chats
List vapi chats with optional filters. Returns: id, assistantId, sessionId, createdAt, updatedAt, cost, duration. Filter by assistantId, squadId, sessionId, previousChatId, or createdAt/updatedAt date ranges.
create_a_vapi_chat
Create a new vapi chat, optionally with SMS delivery via the transport field. Returns: id, assistantId, sessionId, createdAt, updatedAt, cost, duration. At least one of assistantId, assistant, sessionId, or previousChatId must be supplied; sessionId and previousChatId are mutually exclusive and sessionId cannot be combined with transport.
get_single_vapi_chat_by_id
Get a single vapi chat by id. Returns: id, assistantId, sessionId, createdAt, updatedAt, cost, duration. Required: id.
delete_a_vapi_chat_by_id
Delete a vapi chat by id. Returns the deleted chat object including id, assistantId, sessionId, createdAt, updatedAt, cost, duration. Required: id.
create_a_vapi_chat_response
Create a chat response in vapi using the OpenAI-compatible Responses API. Returns a response object whose shape depends on streaming configuration — either a ResponseObject for non-streaming requests or one of the streaming event types (ResponseTextDeltaEvent, ResponseTextDoneEvent, ResponseCompletedEvent, ResponseErrorEvent) for streaming requests; the exact field-level schema follows the OpenAI Responses API spec.
list_all_vapi_campaigns
List vapi campaigns with optional filters. Returns: id, status, createdAt, updatedAt, duration, cost. Supports filtering by id, status, and createdAt/updatedAt date ranges, and sorting by createdAt, duration, or cost.
create_a_vapi_campaign
Create a new vapi campaign. Returns the created campaign including id, status, createdAt, updatedAt, duration, and cost.
get_single_vapi_campaign_by_id
Get a single vapi campaign by id. Returns: id, status, createdAt, updatedAt, duration, cost. Required: id.
update_a_vapi_campaign_by_id
Update a vapi campaign by id. Returns the updated campaign including id, status, createdAt, updatedAt, duration, and cost. Required: id.
delete_a_vapi_campaign_by_id
Delete a vapi campaign by id. Returns the deleted campaign including id, status, createdAt, updatedAt, duration, and cost. Required: id.
list_all_vapi_sessions
List vapi sessions with optional filters for assistant, squad, workflow, customer details, and date ranges. Returns: id, name, assistantId, squadId, workflowId, createdAt, updatedAt, duration, cost. Supports sorting by createdAt, duration, or cost.
create_a_vapi_session
Create a new vapi session. Returns the created session object including id, name, assistantId, squadId, workflowId, createdAt, updatedAt, duration, and cost.
get_single_vapi_session_by_id
Get a single vapi session by id. Returns: id, name, assistantId, squadId, workflowId, createdAt, updatedAt, duration, cost. Required: id.
update_a_vapi_session_by_id
Update a vapi session by id. Returns the updated session object including id, name, assistantId, squadId, workflowId, createdAt, updatedAt, duration, and cost. Required: id.
delete_a_vapi_session_by_id
Delete a vapi session by id. Returns the deleted session object including id, name, assistantId, squadId, workflowId, createdAt, updatedAt, duration, and cost. Required: id.
list_all_vapi_phone_numbers
List all vapi phone numbers across supported telephony providers. Returns: id, provider, name, number, createdAt, updatedAt. Supports optional filtering by createdAt and updatedAt date ranges.
create_a_vapi_phone_number
Create a new vapi phone number backed by a supported telephony provider. Returns: id, provider, name, number, createdAt, updatedAt. Required: provider.
get_single_vapi_phone_number_by_id
Get a single vapi phone number by id. Returns: id, provider, name, number, createdAt, updatedAt. Required: id.
update_a_vapi_phone_number_by_id
Update a vapi phone number by id. Returns: id, provider, name, number, createdAt, updatedAt. Required: id.
delete_a_vapi_phone_number_by_id
Delete a vapi phone number by id. Returns the deleted phone number object including id, provider, name, number, createdAt, updatedAt. Required: id.
list_all_vapi_tools
List all vapi tools. Returns: id, type, createdAt, updatedAt per item. Supports date range filters on createdAt and updatedAt via eight optional filter parameters.
create_a_vapi_tool
Create a new vapi tool. Returns: id, type, createdAt, updatedAt. Required: type (discriminator that selects the tool variant and its associated fields, e.g. apiRequest, function, transferCall, sms, mcp, and others).
get_single_vapi_tool_by_id
Get a single vapi tool by id. Returns: id, type, createdAt, updatedAt. Required: id.
update_a_vapi_tool_by_id
Update a vapi tool by id using a partial payload. Returns: id, type, createdAt, updatedAt. Required: id, type.
delete_a_vapi_tool_by_id
Delete a vapi tool by id. Returns the deleted tool object including id, type, createdAt, updatedAt. Required: id.
list_all_vapi_files
List files in vapi filtered by purpose. Returns: id, purpose. Required: purpose.
create_a_vapi_file
Upload a new file to vapi. Returns: id, purpose of the created file.
get_single_vapi_file_by_id
Get a vapi file by id. Returns: id, purpose. Required: id.
update_a_vapi_file_by_id
Update a vapi file by id. Returns: id, purpose of the updated file. Required: id.
delete_a_vapi_file_by_id
Delete a vapi file by id. Returns: id, purpose of the deleted file on success (200). Required: id.
list_all_vapi_structured_outputs
List vapi structured outputs with optional filtering by id, name, and creation or update date ranges. Returns: id, name, createdAt, updatedAt, duration, cost. Sortable by createdAt, duration, or cost.
create_a_vapi_structured_output
Create a new structured output in vapi. Returns: id, name, createdAt, updatedAt, duration, cost.
get_single_vapi_structured_output_by_id
Get a single vapi structured output by id. Returns: id, name, createdAt, updatedAt, duration, cost. Required: id.
update_a_vapi_structured_output_by_id
Update a vapi structured output by id. Returns: id, name, createdAt, updatedAt, duration, cost. Required: id, schemaOverride.
delete_a_vapi_structured_output_by_id
Delete a vapi structured output by id. Returns the deleted structured output including id, name, createdAt, updatedAt, duration, and cost. Required: id.
create_a_vapi_structured_output_run
Run a structured output job in vapi by submitting a StructuredOutputRunDTO payload. Returns a StructuredOutput object. The request body is required; refer to the vapi API docs for the full StructuredOutputRunDTO schema, as field-level details are not enumerated in the available source.
list_all_vapi_reporting_insights
List vapi reporting insights. Returns: id, type, createdAt, updatedAt. Supports filtering by createdAt and updatedAt ranges, and sorting by createdAt, duration, or cost.
create_a_vapi_reporting_insight
Create a new vapi reporting insight of type bar, pie, line, or text. Returns: id, type, createdAt, updatedAt. Required: type.
get_single_vapi_reporting_insight_by_id
Get a single vapi reporting insight by id. Returns: id, type, createdAt, updatedAt. Required: id.
update_a_vapi_reporting_insight_by_id
Update a vapi reporting insight by id. Returns: id, type, createdAt, updatedAt. Required: id.
delete_a_vapi_reporting_insight_by_id
Delete a vapi reporting insight by id. Returns the deleted insight including id, type, createdAt, updatedAt. Required: id.
create_a_vapi_run
Run a vapi insight by id to trigger its report execution. Returns the insight run result. Required: id.
create_a_vapi_insight_preview
Preview a vapi reporting insight by posting a chart configuration built from call table data. Accepts a discriminated union keyed on type — one of bar, pie, line, or text — each mapping to its own DTO shape. Returns: id and type-specific result attributes. Required: type.
list_all_vapi_evals
List vapi Evals with optional filtering and sorting. Returns a paginated collection of eval records; each record includes id, createdAt, updatedAt, duration, and cost. Filter by id or createdAt/updatedAt date ranges; sort by createdAt, duration, or cost.
create_a_vapi_eval
Create a new Eval in vapi. Returns the created eval object including id, createdAt, updatedAt, duration, and cost.
get_single_vapi_eval_by_id
Get a single vapi Eval by id. Returns: id, createdAt, updatedAt, duration, cost. Required: id.
update_a_vapi_eval_by_id
Update a vapi Eval by id. Returns the updated eval object including id, createdAt, updatedAt, duration, and cost. Required: id.
delete_a_vapi_eval_by_id
Delete a vapi Eval by id. Returns the deleted eval object including id, createdAt, updatedAt, duration, and cost. Required: id.
get_single_vapi_eval_run_by_id
Get a single vapi eval run by id. Returns the eval run object including id, createdAt, updatedAt, duration, and cost. Required: id.
delete_a_vapi_eval_run_by_id
Delete a vapi eval run by id. Returns the deleted eval run object including id, createdAt, updatedAt, duration, and cost. Required: id.
list_all_vapi_eval_runs
List vapi eval runs with optional filtering and sorting. Returns a collection of eval run objects, each including id, createdAt, updatedAt, duration, and cost. Supports filtering by createdAt and updatedAt date ranges and sorting by createdAt, duration, or cost.
create_a_vapi_eval_run
Create a new vapi eval run. Returns the created eval run object including id, createdAt, updatedAt, duration, and cost.
get_single_vapi_observability_scorecard_by_id
Get a single vapi observability scorecard by id. Returns: id, createdAt, updatedAt, duration, cost. Required: id.
update_a_vapi_observability_scorecard_by_id
Update a vapi observability scorecard by id. Returns the updated scorecard including id, createdAt, updatedAt, duration, and cost. Required: id.
delete_a_vapi_observability_scorecard_by_id
Delete a vapi observability scorecard by id. Returns the deleted scorecard including id, createdAt, updatedAt, duration, and cost. Required: id.
list_all_vapi_observability_scorecards
List vapi observability scorecards with optional filtering by id and date ranges, and sorting by createdAt, duration, or cost. Returns: id, createdAt, updatedAt, duration, cost.
create_a_vapi_observability_scorecard
Create a new vapi observability scorecard. Returns the created scorecard including id, createdAt, updatedAt, duration, and cost.
list_all_vapi_providers
List vapi provider resources for a specified provider and resource type. Returns: id and provider-specific attributes. Required: provider, resource_name. Supports filtering by createdAt/updatedAt date ranges and sorting by createdAt, duration, or cost.
create_a_vapi_provider
Create a new vapi provider resource for the specified provider and resource type. The request body shape is provider-specific. Returns: id and provider-specific attributes. Required: provider, resource_name.
get_single_vapi_provider_by_id
Get a single vapi provider resource by id. Returns: id and provider-specific attributes. Required: provider, resource_name, id.
update_a_vapi_provider_by_id
Update a vapi provider resource by id. The request body shape is provider-specific. Returns: id and provider-specific attributes. Required: provider, resource_name, id.
delete_a_vapi_provider_by_id
Delete a vapi provider resource by id. Returns the deleted resource including its id and provider-specific attributes. Required: provider, resource_name, id.
create_a_vapi_analytics
Create analytics queries in vapi to retrieve aggregated call and usage metrics. Returns an array of query result objects, each containing id and result. Required: queries (array of query objects each specifying table, name, and operations).
list_all_vapi_phone_numbers_v_2
List phone numbers configured in vapi. Returns: id.
How it works
From Vapi account to governed MCP endpoint
Connect
Link a Vapi account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Vapi tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.