Skip to main content

ZeroVoice MCP Server

The ZeroVoice MCP server gives AI agents the ability to make phone calls, send SMS messages, manage contacts and phone numbers, retrieve transcripts, and query analytics — all through standard MCP tool calls.

Installation

.mcp.json
{
"mcpServers": {
"zerovoice": {
"command": "python3",
"args": ["path/to/ZeroVoice/scripts/mcp_server.py"],
"env": {
"ZEROVOICE_API_URL": "https://your-instance.up.railway.app",
"ZEROVOICE_API_TOKEN": "${ZEROVOICE_API_TOKEN}"
}
}
}
}

Requirements: Python 3.10+, fastmcp, httpx

pip install fastmcp httpx

Configuration

VariableRequiredDefaultDescription
ZEROVOICE_API_URLNohttp://localhost:8000ZeroVoice API base URL
ZEROVOICE_API_TOKENYesJWT bearer token for authentication

Tools (25)

Calls

  • make_call — Place an outbound call (from_number, to_number, record, queue_id)
  • get_live_calls — Get active calls (queue_id, agent_id)
  • get_call_logs — Search call history with filters
  • get_call — Get call details by ID
  • transfer_call — Transfer active call (call_id, target_number, transfer_type)
  • hangup_call — End an active call

SMS

  • send_sms — Send SMS/MMS (from_number, to_number, body, media_urls)

Contacts

  • create_contact — Create contact (name, phone, email, company, tags)
  • list_contacts — List/search contacts
  • get_contact_call_history — Get call history for a contact

Phone Numbers

  • list_numbers — List organization's phone numbers
  • search_available_numbers — Search purchasable numbers by country, type, area code
  • purchase_number — Buy a phone number
  • configure_number — Update number routing
  • release_number — Give up a phone number

Transcripts & Recordings

  • get_transcript — Get call transcript
  • search_transcripts — Search transcripts by keyword
  • list_transcripts — List transcripts (optionally by campaign)
  • get_call_recordings — Get call recordings

Compliance

  • check_dnc — Check Do-Not-Call list status

Voicemails

  • list_voicemails — List voicemails
  • get_voicemail — Get voicemail with transcription

Analytics

  • get_call_volume — Call volume by interval (hour/day/week/month)
  • get_agent_performance — Agent performance metrics

Health

  • health_check — Check API dependencies (DB, Twilio, Stripe, ZeroDB)

Example usage

User: Call the customer at +15551234567 from our main line

Agent:
1. check_dnc("+15551234567") → not on DNC list
2. make_call("+18317773598", "+15551234567", record=true)
3. → Call placed, ID: abc-123

User: Send them a follow-up SMS

Agent:
1. send_sms("+18317773598", "+15551234567", "Thanks for speaking with us today!")
2. → SMS sent, status: delivered