# Connect CallUltra to AI assistants

> Use CallUltra's existing MCP server to work with your agents, campaigns, calls, and leads from an assistant you authorize.

Reviewed: 2026-09-30

Source: https://docs.callultra.com/documentation/mcp

## Use the product MCP address

CallUltra's remote Model Context Protocol (MCP) server belongs to your **app account**. Copy the server address from **Developers → Connect to Claude & ChatGPT** after signing in. For the hosted app, it is:

```
https://app.callultra.com/api/mcp
```

> **Use the app address, not the docs address:** This documentation website explains the connector. It is not itself an MCP server, so do not enter docs.callultra.com as the connection URL.

## Connect an assistant

1. **Open Developers in CallUltra** — Sign in to the app, open Developers, and copy the MCP server URL shown in the connection panel.
2. **Add a remote MCP connection** — In your assistant's connector settings, create a connection using that URL. Choose the account you intend to use.
3. **Sign in and review access** — The assistant opens CallUltra's sign-in and consent flow. Read the requested permissions carefully before approving them.
4. **Check the connection** — Ask a read-only question such as which agents are available. The connected app appears in CallUltra's Developers panel.

For ChatGPT, custom MCP connections are configured through its current developer-mode plugin flow where available. See [OpenAI's current connection guide](https://developers.openai.com/plugins/deploy/connect-chatgpt) for the latest steps and account requirements.

## Available MCP tools

The connector exposes only tools allowed by both your CallUltra role and the permissions you approved. The current product server provides these 19 tools:

| Tool | Permission | What it does |
| --- | --- | --- |
| `list_agents` | `agents.read` | List your AI voice agents. |
| `get_agent` | `agents.read` | Read one agent's configuration. |
| `list_campaigns` | `campaigns.read` | List your campaigns. |
| `get_campaign` | `campaigns.read` | Read a campaign and its call-status breakdown. |
| `create_campaign` | `campaigns.create` | Create a single-agent campaign, paused and without queued leads. |
| `pause_campaign` | `campaigns.update` | Pause new dialing; calls already in progress finish. |
| `resume_campaign` | `campaigns.update` and `campaigns.execute` | Start or resume dialing queued leads. |
| `list_calls` | `calls.read` | List calls with optional filters. |
| `get_call` | `calls.read` | Read call details, including transcript and outcome. |
| `place_call` | `calls.create` | Dial a real phone using an agent; this is billed. |
| `add_lead` | `leads.create` | Add a contact to a campaign's dialing queue. |
| `list_dnc` | `dnc.read` | Read your Do Not Call suppression list. |
| `get_analytics_summary` | `analytics.read` | Summarize call volume, outcomes, and duration. |
| `get_wallet_balance` | `billing.read` | Read the prepaid wallet balance. |
| `list_wallet_transactions` | `billing.read` | Read recent wallet ledger entries. |
| `get_my_vendor_account` | `vendor.read` | Read your own vendor referral account, if enrolled. |
| `list_my_partner_vendors` | `partner.read` | List vendors for a partner you administer. |
| `get_whatsapp_status` | `whatsapp.read` | Check the account's WhatsApp connection. |
| `send_whatsapp_message` | `whatsapp.send` | Send a real WhatsApp message through the connected account. |

## Call transcript resource

With `calls.read` access, an MCP client can also attach a call transcript as a read-only resource. The resource template is `spedrix://calls/{call_id}/transcript`. Find the call ID with `list_calls` or `get_call` first. The URI uses the product server's current internal scheme; it is not a web URL.

## Permissions and safe use

-   A connection can see only the tools covered by its granted scopes and your CallUltra role. Read-only connections do not receive write tools in their tool list.
-   `place_call` rings a real phone and is billed. `resume_campaign` can start dialing queued contacts, and `send_whatsapp_message` messages a real number. Review these requests before allowing them.
-   The MCP connector cannot delete data, manage API keys, add funds, or change team and billing settings through these tools.
-   Do not paste an API key into an assistant. The remote connector uses a separate sign-in and consent flow.

## Review or disconnect a connection

Open **Developers → Connect to Claude & ChatGPT** in CallUltra to see connected apps and their granted scopes. Disconnect an app there to revoke its access. The server checks whether the grant is still active on each request, so a revoked connection stops working immediately.
