---
title: "ZeroVoice MCP Server"
description: "ZeroVoice MCP Server — voice calls, SMS, and telephony via Model Context Protocol"
canonical: "https://docs.ainative.studio/docs/mcp/zerovoice-server"
last-updated: "2026-11-02T18:12:43.468Z"
---

# ZeroVoice MCP Server

Source: https://docs.ainative.studio/docs/mcp/zerovoice-server

> ZeroVoice MCP Server — voice calls, SMS, and telephony via Model Context Protocol

# 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

```json title=".mcp.json"
{
  "mcpServers": {
    "zerovoice": {
      "command": "python3",
      "args": ["path/to/ZeroVoice/scripts/mcp_server.py"],
      "env": {
        "ZEROVOICE_API_URL": "https://your-zerovoice-instance.example.com",
        "ZEROVOICE_API_TOKEN": "${ZEROVOICE_API_TOKEN}"
      }
    }
  }
}
```

**Requirements**: Python 3.10+, `fastmcp`, `httpx`

```bash
pip install fastmcp httpx
```

## Configuration

| Variable | Required | Default | Description |
|---|---|---|---|
| `ZEROVOICE_API_URL` | No | `http://localhost:8000` | ZeroVoice API base URL |
| `ZEROVOICE_API_TOKEN` | Yes | — | JWT 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
```

## Related

- [ZeroVoice Overview](/docs/zerovoice/overview)
- [ZeroVoice API Reference](/docs/zerovoice/api-reference)
- [MCP Servers Overview](/docs/mcp/overview)
