MCP server for AI phone calls: let your AI agent make the call
The anicall.io MCP server at https://api.anicall.io/mcp gives AI agents such as Claude, Cursor or your own agent 22 tools to run phone agents: start and review calls, close knowledge gaps and create call lists – with a human approval gate and only the scopes of your API key.
Last updated: November 2026
At a glance
- Server URL
- https://api.anicall.io/mcp
- Transport
- Streamable HTTP · JSON-RPC 2.0
- Authentication
- Authorization: Bearer anc_live_…
- Tools
- 22 – filtered by your key's scopes
What is an MCP server for telephony?
An MCP server turns the Model Context Protocol into real actions – at anicall.io that means phone calls, knowledge upkeep and reporting for your AI phone agents.
A telephony layer for AI agents
Your AI agent doesn't need to know anything about telephony, speech recognition or phone numbers. It calls tools like start_call or list_calls, anicall.io handles the rest.
Same scopes as the API
Every tool calls the REST API v2 internally. The key decides which tools your agent can even see – tools without the matching scope don't show up at all.
Humans stay in the loop
Call lists only start once a named human approves them. Tools that place real calls are flagged as destructive for your AI client.
What you use the MCP server for
Typical uses are reporting via chat, knowledge upkeep, outbound lists from other systems and fully automated agent workflows.
Reporting via chat
“How many calls did we get this week and which appointments were booked?” – Claude fetches stats and transcripts and sums them up.
Close knowledge gaps
Your agent lists open caller questions, you dictate the answer, Claude teaches it with add_answer – your phone agent knows it from the next call on.
Callback lists from your CRM
An AI agent builds a list with a contact basis from your CRM and creates a dial job. It only starts after you approve it.
Your own agents & workflows
Claude Agent SDK, OpenAI Agents SDK, n8n or the MSL Cockpit by mysoftwarelab: every MCP-capable client uses the same URL and the same key.
Set up in 3 steps
All you need is an API key and the server URL https://api.anicall.io/mcp – no installation and no local server.
Create an API key
In the dashboard under Settings → Integrations, create a key with exactly the scopes your agent needs – e.g. only calls:read and stats:read for reporting.
Connect your AI client
Add the URL and the header Authorization: Bearer anc_live_… to your client. Examples for common clients are below.
Try it
Ask your agent: “Show me my phone agents and the last five calls.” It calls list_agents and list_calls and answers with real data.
Configuration for your AI client
claude mcp add --transport http anicall https://api.anicall.io/mcp \
--header "Authorization: Bearer anc_live_…"claude.ai & Claude Desktop (organization connector)
As an organization owner, go to Settings → Connectors → Add custom connector: enter the URL and add the header authorization with the value Bearer anc_live_… under “Request headers”. The header option is currently a beta feature at Anthropic.
Claude API (MCP connector)
In the Messages API, add the server to the mcp_servers field and pass your key as authorization_token – anicall.io accepts it as a bearer token.
"mcp_servers": [{
"type": "url",
"url": "https://api.anicall.io/mcp",
"name": "anicall",
"authorization_token": "anc_live_…"
}]{
"mcpServers": {
"anicall": {
"url": "https://api.anicall.io/mcp",
"headers": { "Authorization": "Bearer anc_live_…" }
}
}
}{
"servers": {
"anicall": {
"type": "http",
"url": "https://api.anicall.io/mcp",
"headers": { "Authorization": "Bearer anc_live_…" }
}
}
}curl https://api.anicall.io/mcp \
-H "Authorization: Bearer anc_live_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'All 22 tools
Read tools are flagged readOnly; start_call, approve_dial_job and assign_phone_number are flagged destructive so your AI client asks before using them.
| Tool | Scope | What it does |
|---|---|---|
get_account | agents:read | Workspace, token balance and the key's scopes. |
list_agents | agents:read | List agents |
get_agent | agents:read | An agent's configuration |
set_agent_strictness | agents:write | Set an agent's knowledge boundary |
search_knowledge | knowledge:read | Search the knowledge base |
list_knowledge_sources | knowledge:read | An agent's knowledge sources with indexing status. |
add_knowledge_source | knowledge:write | Add a knowledge source |
list_knowledge_gaps | knowledge:read | List knowledge gaps |
answer_knowledge_gap | knowledge:write | Answer a knowledge gap |
dismiss_knowledge_gap | knowledge:write | Dismiss a knowledge gap as not relevant. |
add_answer | knowledge:write | Teach a question-answer pair (active from the next call). |
list_calls | calls:read | Calls with outcome and traffic light |
get_call | calls:read | A call with transcript and review |
start_call | calls:write | Start a single call (destructive) |
create_dial_job | dial_jobs:write | Create a dial job (destructive) |
approve_dial_job | dial_jobs:approve | Approve a dial job (destructive) |
get_dial_job | calls:read | Status of a dial job |
pause_dial_job | dial_jobs:write | Stop a running dial job immediately. |
get_stats | stats:read | Stats |
list_phone_numbers | phone_numbers:read | Phone numbers with their assigned agent. |
assign_phone_number | phone_numbers:write | Assign a phone number to an agent or unassign it. |
list_calendars | calendars:read | Connected calendars for appointment booking. |
Security: what an AI agent may do – and what not
anicall.io checks key, scopes and rate limit on every MCP call; call lists always need a human's approval.
Least privilege
16 individual scopes per key. Your AI agent only sees the tools its key is allowed to use.
Approval gate
Dial jobs only start after approve_dial_job by a human – with a separate scope and never with the key that created the job.
Contact basis required
Every call needs a legal basis under German UWG § 7 (consent, inquiry, callback request, existing customer or justified interest).
Rate limits per key
General limits plus stricter ones for cost-relevant actions stop runaway loops and leaked keys.
Prompt-injection protection
Caller transcripts and notes are marked as data for the AI client, not as instructions.
Keys stored as hashes only
anicall.io stores only a SHA-256 hash. You see the key once and can revoke it at any time.
MCP, REST API or webhooks?
The MCP server is built for AI agents, the REST API v2 for classic software and webhooks for real-time events – all three share the same scopes.
| Criterion | MCP server | REST API v2 | Webhooks |
|---|---|---|---|
| Built for | AI agents (Claude, Cursor, your own agents) | Your software, backends, scripts | Reacting to events |
| Direction | Agent → anicall.io | Your system → anicall.io | anicall.io → your system |
| Setup | URL + key in the AI client | HTTP calls per OpenAPI | HTTPS target + signature check |
| Auth | Bearer anc_live_… | Bearer anc_live_… | HMAC-SHA256 signature |
| Example | “Claude, create a callback list.” | Nightly import from your ERP | call.completed → helpdesk ticket |
Frequently asked questions
What is an MCP server?
An MCP server exposes tools to AI applications via the open Model Context Protocol. The anicall.io MCP server makes phone agents operable for AI agents: calls, knowledge base, call lists and stats.
Which AI clients work with the anicall MCP server?
Any client that supports remote MCP over Streamable HTTP with an Authorization header – e.g. Claude Code, Cursor, VS Code, the Claude API (MCP connector), claude.ai organization connectors with request headers, and your own agents built with the Claude Agent SDK or OpenAI Agents SDK.
Can an AI agent call people without my consent?
Not in bulk: call lists only start after approval by a human with a separate scope. Single calls need the calls:write scope and a contact basis under UWG § 7 – only grant that scope if your agent really should place calls.
Does the MCP server cost extra?
No. The MCP server and REST API are included at no extra charge. You only pay for calls and phone numbers from your token balance, exactly like calls from the dashboard.
How do the MCP server and the REST API differ?
Both use the same keys and scopes. The REST API is for software you program yourself; the MCP server describes the same functions as tools an AI agent picks on its own.
Where is the data processed?
The anicall.io database is in the EU. Voice and AI processing partly runs through US providers; details are in the privacy policy. Your AI client processes the tool results under its own terms.
Is there OAuth for the MCP server?
Right now you authenticate with an API key as a bearer token. OAuth sign-in for one-click connectors is planned.
Connect your AI agent in 2 minutes
Create an API key under Settings → Integrations, pick the scopes, add the MCP URL – done.
