Voxplo
Give AI agents a phone: outbound AI calls that return a summary, transcript, and extracted fields.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"voxplo": {
"command": "npx",
"args": [
"voxplo-mcp"
]
}
}
}Ausführbare Pakete
0.1.1stdioRemote-Endpunkte
https://mcp.voxplo.ai/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (4)
🟢place_call(to, objective, context, fields, webhookUrl, ...)
Place an outbound AI phone call toward an objective. Returns a callId immediately; the call is conducted asynchronously. Poll get_call with that callId until status is terminal (completed | no_answer | voicemail | declined | failed).
Eingabe-Schema
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Destination phone number in E.164, e.g. +14155550123."
},
"objective": {
"type": "string",
"description": "What the call should accomplish."
},
"context": {
"type": "string",
"description": "Background context for the assistant."
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"string",
"boolean",
"number"
]
},
"description": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"description": "Structured fields to extract from the call."
},
"webhookUrl": {
"type": "string",
"description": "Optional https URL to receive the signed result."
},
"callerId": {
"type": "string",
"description": "Optional caller ID; must be a number on your account."
},
"toolAllowlist": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tools this call may use, e.g. [\"send_digits\",\"reached_human\",\"add_participant\",\"enter_account_number\"]. Omit for the default set."
},
"navMode": {
"type": "string",
"enum": [
"auto",
"keypad",
"speech"
],
"description": "How to navigate the far-end IVR: auto (detect keypad menu vs conversational assistant live), keypad (stay muted and press keys), or speech (talk)."
},
"listenFirst": {
"type": "boolean",
"description": "If true, stay silent until the callee/IVR speaks first, then respond. Recommended for any outbound call into a phone tree."
},
"accountNumber": {
"type": "string",
"description": "Account/phone digits the enter_account_number tool keys deterministically (keypad chars only)."
},
"callbackNumber": {
"type": "string",
"description": "Our callback DID digits the enter_callback_number tool keys (callback-to-AI mode)."
}
},
"required": [
"to",
"objective"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡set_appointment(to, subject, durationMinutes, timePreference, slots, ...)
Place an outbound AI phone call to set up a meeting. The assistant calls the person, agrees a time, and the result (poll get_call) carries outcome (appointment_set | callback_requested | declined | no_answer | failed) and, when set, the appointment (startISO, timezone, durationMinutes, attendee, subject). Returns a callId immediately.
Eingabe-Schema
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Who to call, in E.164, e.g. +14155550123."
},
"subject": {
"type": "string",
"description": "What the meeting is about."
},
"durationMinutes": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Meeting length in minutes (default 30)."
},
"timePreference": {
"type": "string",
"description": "Natural-language window, e.g. \"weekday mornings next week\"."
},
"slots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"startISO": {
"type": "string"
}
},
"required": [
"startISO"
],
"additionalProperties": false
},
"description": "Specific start times to offer, ISO-8601 with offset."
},
"timezone": {
"type": "string",
"description": "IANA timezone for the appointment, e.g. Asia/Jerusalem."
},
"autoBook": {
"type": "boolean",
"description": "Also book the agreed time on your connected calendar."
},
"webhookUrl": {
"type": "string",
"description": "Optional https URL to receive the signed result."
},
"callerId": {
"type": "string",
"description": "Optional caller ID; must be a number on your account."
}
},
"required": [
"to",
"subject"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_call(callId)
Get the status and result of a call by id. status is one of queued | ringing | in_progress (still running, poll again) or completed | no_answer | voicemail | declined | failed (terminal). Returns summary, transcript, and extracted fields.
Eingabe-Schema
{
"type": "object",
"properties": {
"callId": {
"type": "string",
"description": "The callId returned by place_call."
}
},
"required": [
"callId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_calls(limit)
List recent calls placed by your account (most recent first).
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Max calls to return (default 20, max 100)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Empfohlene Prompts
get_callget_calllist_callslist_callslist_callsget_callCommunity
Nachweis