MCP 서버

Voxplo

ai.voxplo/voxplo
커뮤니케이션 생산성 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Places outbound phone calls, retrieves transcripts and extracted results, lists calls, and schedules appointments by phone.

get_call
Get call status and result
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.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['callId'], 'properties': {'callId': {'type': 'string', 'description': 'The callId returned by place_call.'}}, 'additionalProperties': False}
list_calls
List recent calls
List recent calls placed by your account (most recent first).
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Max calls to return (default 20, max 100).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
place_call
Place an AI phone call
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).
외부 접근 가능
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['to', 'objective'], 'properties': {'to': {'type': 'string', 'description': 'Destination phone number in E.164, e.g. +14155550123.'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'type': {'enum': ['string', 'boolean', 'number'], 'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Structured fields to extract from the call.'}, 'context': {'type': 'string', 'description': 'Background context for the assistant.'}, 'navMode': {'enum': ['auto', 'keypad', 'speech'], 'type': 'string', '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).'}, 'callerId': {'type': 'string', 'description': 'Optional caller ID; must be a number on your account.'}, 'objective': {'type': 'string', 'description': 'What the call should accomplish.'}, 'webhookUrl': {'type': 'string', 'description': 'Optional https URL to receive the signed result.'}, '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).'}, '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.'}, 'callbackNumber': {'type': 'string', 'description': 'Our callback DID digits the enter_callback_number tool keys (callback-to-AI mode).'}}, 'additionalProperties': False}
set_appointment
Set an appointment by phone
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.
외부 접근 가능
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['to', 'subject'], 'properties': {'to': {'type': 'string', 'description': 'Who to call, in E.164, e.g. +14155550123.'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['startISO'], 'properties': {'startISO': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Specific start times to offer, ISO-8601 with offset.'}, 'subject': {'type': 'string', 'description': 'What the meeting is about.'}, 'autoBook': {'type': 'boolean', 'description': 'Also book the agreed time on your connected calendar.'}, 'callerId': {'type': 'string', 'description': 'Optional caller ID; must be a number on your account.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone for the appointment, e.g. Asia/Jerusalem.'}, 'webhookUrl': {'type': 'string', 'description': 'Optional https URL to receive the signed result.'}, 'timePreference': {'type': 'string', 'description': 'Natural-language window, e.g. "weekday mornings next week".'}, 'durationMinutes': {'type': 'integer', 'description': 'Meeting length in minutes (default 30).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
추가됨
list_calls
2026년 9월 17일 7:57 AM
추가됨
get_call
2026년 9월 17일 7:57 AM
추가됨
set_appointment
2026년 9월 17일 7:57 AM
추가됨
place_call
2026년 9월 17일 7:57 AM