# Plivo — how to use (mcp.ai)

Connect your Plivo account and use 6 tools for communication straight from your AI agent. Connect with your own API key. Plivo provides programmable voice, messaging, phone number, SIP, verification, and communications APIs.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_plivo?ms=1787296020000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `plivo_get_account_details`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/plivo`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/plivo/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/plivo/get/account/details` — Return billing, credit, timezone, and account-type details for the connected Plivo account. Use this to inspect account status and configuration before querying communication resources.
- `POST https://api.mcp.ai/api/plivo/get/message` — Retrieve one existing Plivo message by its message UUID, including delivery, routing, timing, error, and billing details when available.
  - body: { message_uuid: string }
- `POST https://api.mcp.ai/api/plivo/get/usage/summary` — Return one page of Plivo spend and usage grouped by hour, day, month, or year for a required date range, with optional usage filters.
  - body: { cursor?: string, product?: string[], to_date: string, direction?: string, from_date: string, page_size?: integer, error_code?: string, subaccount?: string, country_iso?: string, granularity: string, hangup_cause?: string }
- `POST https://api.mcp.ai/api/plivo/list/calls` — Return one page of Plivo call history, optionally filtered by time, direction, status, participants, hangup details, parent call, or subaccount. This does not initiate or modify calls.
  - body: { limit?: integer, cursor?: string, status?: string, end_time?: string, to_number?: string, start_time?: string, subaccount?: string, from_number?: string, hangup_source?: string, call_direction?: string, parent_call_uuid?: string, hangup_cause_code?: string }
- `POST https://api.mcp.ai/api/plivo/list/messages` — Return one page of inbound and outbound Plivo message history, optionally filtered by time, direction, state, sender, recipient, type, or subaccount. This reads existing message records and does not s
  - body: { limit?: integer, cursor?: string, end_time?: string, to_number?: string, start_time?: string, subaccount?: string, from_number?: string, message_type?: string, message_state?: string, message_direction?: string }
- `POST https://api.mcp.ai/api/plivo/list/owned/numbers` — Return one page of phone numbers currently owned by the connected Plivo account, optionally filtered by prefix, type, service, alias, or subaccount.
  - body: { alias?: string, limit?: integer, cursor?: string, services?: string, subaccount?: string, number_type?: string, number_startswith?: string }

## Example prompts
- "What can I do in Plivo?"
- "Show me a summary of my Plivo account"

## More
- Page: https://mcp.ai/plivo
- Agent spec (llms.txt): https://mcp.ai/plivo/llms.txt
- Postman collection: https://mcp.ai/plivo/postman.json
