AI - Artificial Inteligence - VoIPstudio MCP Server¶
The VoIPstudio MCP (Model Context Protocol) server gives Claude AI direct, secure access to your VoIPstudio account data, including recordings, CDRs, live calls, and voicemails. Once connected, Claude can query calls, analyse patterns, surface agent performance issues, and generate QA reports in plain English, with no custom development required.
Add the CX Addon and each recording arrives pre-enriched with a transcript, summary, sentiment, action items, and a CX score. This dramatically reduces the AI work Claude needs to do and keeping your token use down and costs more predictable.
Getting an API key¶
The MCP server authenticates using a VoIPstudio API token. Each key is scoped to a specific user, so Claude will only be able to access data that user can access.
To generate a key:
- In the admin dashboard, open the user you want to generate a token for.
- Go to the API Keys section.
- Enter a name for the key — for example,
Claude MCP. - Click Add.
- Click the eye icon to reveal the API key /
user_token. Copy this value. - To view further details or delete the key, click the gear icon and select Show Details.
Note: The API key remains valid as long as it is used at least once every 7 days (default timeout). Set a longer timeout (or unlimited) if needed before clicking Add.
Connecting to Claude¶
VoIPstudio is not currently listed in the Claude.ai connector directory. You add it manually as a custom MCP server.
MCP server URL¶
Info
https://mcp.voipstudio.workers.dev/sse
Steps (Claude.ai)¶
- In Claude.ai, go to Settings → Integrations (or the connectors panel, depending on your plan).
- Choose Add custom MCP server (or equivalent).
- Enter the MCP server URL above.
- When prompted for authentication, provide your VoIPstudio API key.
- Save and authorise the connection.
Claude can now call VoIPstudio tools in any conversation. The first time a tool is called in a session, Claude will ask you to confirm data sharing. Click Always allow to skip this prompt in future sessions.
Anthropic API (for developers)¶
const response = await fetch("https://api.anthropic.com/v1/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_ANTHROPIC_API_KEY"
},
body: JSON.stringify({
model: "claude-sonnet-4-6",
max_tokens: 1024,
mcp_servers: [{
type: "url",
url: "https://mcp.voipstudio.workers.dev/sse",
name: "voipstudio",
authorization_token: "YOUR_VOIPSTUDIO_API_KEY"
}],
messages: [{
role: "user",
content: "Show me agents with a CX score below 6 this week"
}]
})
});
Connecting to other AI platforms¶
Most AI platforms that support external MCPs can connect to the VoIPstudio MCP server using the same URL and API key. The exact configuration steps will vary by platform. Look for an option labelled external MCP server, custom MCP, or remote MCP in your platform's integrations or settings.
CX Addon¶
Without the CX Addon, recordings arrive as raw metadata. Claude must transcribe and analyse each call itself, consuming significant tokens per recording.
With the CX Addon, VoIPstudio handles transcription, summarisation, sentiment analysis, action extraction, and CX scoring on its own infrastructure at a fixed monthly cost with no per-call fees and no transcription limits. Claude receives finished intelligence — ready to reason over immediately.
| Without CX Addon | With CX Addon | |
|---|---|---|
| Transcript | Claude must fetch audio and transcribe/translate | ✓ Included, speaker-diarised |
| Summary | Claude must generate | ✓ Included |
| Sentiment | Claude must infer | ✓ Included |
| Action items | Claude must extract | ✓ Included |
| CX score | Not available | ✓ 1–10 on every call |
| Approx. tokens/call | 10,000–15,000 | 300–500 |
| Cost model | Variable AI spend | Fixed monthly subscription |
Fields unlocked by CX Addon¶
| Field | Type | Description |
|---|---|---|
transcript |
string | Full word-level transcript |
transcript_speakers |
object | Speaker-diarised transcript segments |
summary |
string | Concise summary of the call outcome |
sentiment |
string | Customer sentiment: positive, neutral, negative |
cx_score |
number (1–10) | Customer experience score |
metadata.timeline |
array | Key moments and action items extracted from the call |
Tools Reference¶
The simplicity of MCP integration means that complex APIs don’t need to be understood and, instead, simple prompts can help with AI platform make sense of the data provided from Voipstudio and reply with an appropriate response.
However, some more technical users may wish to know what is going on “under the hood”, so below is a reference guide to some of the MCP server functions.
get_recordings¶
Returns call recordings. With the CX Addon active, each record includes the transcript, summary, sentiment, CX score, and timeline. Without the addon, these fields return null.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
filters |
array | — | Filter objects — see Filtering |
limit |
number | 10 | Records per page (max 1000) |
page |
number | 1 | Page number |
Response fields
| Field | Type | Description |
|---|---|---|
id |
number | Unique recording ID |
call_id |
number | Links to CDR call_id |
timestamp |
string | Recording start (UTC, YYYY-MM-DD HH:mm:ss) |
caller |
string | Calling party number |
called |
string | Called party number |
src_name |
string | Agent name (source) |
dst_name |
string | Destination name |
duration |
number | Duration in seconds |
type |
string | I \= inbound, O \= outbound |
context |
string | Call context (e.g. LOCAL_USER, QUEUE) |
transcript |
string | null |
transcript_speakers |
object | null |
summary |
string | null |
sentiment |
string | null |
cx_score |
number | null |
metadata.timeline |
array | null |
Example – Low CX scores this week
Ask Claude: "Show me all recordings from this week where the CX score was below 6, grouped by agent, with a summary of what went wrong on each call."
Claude calls the tool with:
{
"filters": [
{ "property": "calldate", "operator": "gte", "value": "2026-06-09 00:00:00" },
{ "property": "cx_score", "operator": "lt", "value": 6 }
],
"limit": 100
}
get_cdrs¶
Call Detail Records – the raw log of every call leg. Use for volume stats, cost analysis, duration distributions, and agent activity summaries. Available without the CX Addon.
Parameters: same as get_recordings (filters, limit, page)
Key response fields
| Field | Type | Description |
|---|---|---|
call_id |
number | Unique call identifier |
calldate |
string | Call start timestamp (UTC) |
src_name |
string | Agent / caller name |
dst_name |
string | Destination name |
billsec |
number | Billable seconds |
duration |
number | Total seconds including ringing |
disposition |
string | CONNECTED, NO ANSWER, BUSY, FAILED |
charge |
number | Call cost |
type |
string | I \= inbound, O \= outbound |
src_ua |
string | Source device / softphone user-agent |
labels |
array | Custom tags applied in VoIPstudio |
get_live_calls¶
Returns a real-time snapshot of all active calls on your account. No parameters required.
Example: "How many calls are in progress right now, and which agents are on them?"
get_voicemails¶
Fetches voicemail messages. Same filters, limit, and page interface as other tools.
Key filterable fields: src, dst, calldate, duration, listened
get_recording_audio¶
Returns a direct download URL for the MP3 audio of a specific recording.
Parameter: id (number) — the id field from a get_recordings response.
Info
Audio URLs are time-limited. Use them promptly; do not cache for extended periods.
Filtering & Pagination¶
All list tools accept an optional filters array. Each filter object has three properties:
| Property | Description |
|---|---|
property |
Field name to filter on (e.g. calldate, cx_score, src_name) |
operator |
eq, ne, lt, lte, gt, gte, in, like, notlike |
value |
String, number, or array (for in operator) |
Common examples¶
Date range
[
{ "property": "calldate", "operator": "gte", "value": "2026-06-01 00:00:00" },
{ "property": "calldate", "operator": "lte", "value": "2026-06-30 23:59:59" }
]
CX score threshold
[{ "property": "cx_score", "operator": "gte", "value": 8 }]
Specific agent
[{ "property": "src_name", "operator": "eq", "value": "Jane Ryder" }]
Connected calls only
[{ "property": "disposition", "operator": "eq", "value": "CONNECTED" }]
Inbound calls over 5 minutes
[
{ "property": "type", "operator": "eq", "value": "I" },
{ "property": "billsec", "operator": "gt", "value": 300 }
]
Use Cases¶
gent QA report¶
"Give me a QA summary for each agent this month — CX score averages, common complaint themes, and their three lowest-scoring calls with summaries."
Call centre volume stats¶
"What was our call volume by day this week? What was our average handle time, and how many calls went unanswered?"
Sentiment trend analysis¶
"Is customer sentiment improving or declining compared to last month? Which call topics correlate with negative sentiment?"
Missed call follow-up list¶
"List all missed inbound calls from the last 24 hours with caller IDs, so I can prioritise callbacks."
Cost & billing review¶
"Which extensions have made the most expensive outbound calls this quarter?"
ive operations check¶
"How many agents are currently on calls, and are there any calls that have been running over 20 minutes?"
Token Efficiency¶
Each call Claude analyses without the CX Addon requires Claude to process audio content and generate its own transcription and analysis. The CX Addon offloads this entirely to VoIPstudio:
What VoIPstudio handles (fixed monthly cost, unlimited calls):
- Audio transcription
- Speaker diarisation
- Call summarisation
- Sentiment classification
- Action item extraction
- CX scoring
What Claude receives: Clean, structured text fields ready for reasoning, comparison, and reporting.
This means you can ask Claude to analyse hundreds of calls in a single session at a fraction of the token cost, making large-scale QA, trend analysis, and agent coaching reports practical without unpredictable AI spend.