Skip to content
MCP server

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.

API documentation

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.

  1. 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.

  2. Connect your AI client

    Add the URL and the header Authorization: Bearer anc_live_… to your client. Examples for common clients are below.

  3. 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 Code (terminal)
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_…"
}]
Cursor (~/.cursor/mcp.json)
{
  "mcpServers": {
    "anicall": {
      "url": "https://api.anicall.io/mcp",
      "headers": { "Authorization": "Bearer anc_live_…" }
    }
  }
}
VS Code (.vscode/mcp.json)
{
  "servers": {
    "anicall": {
      "type": "http",
      "url": "https://api.anicall.io/mcp",
      "headers": { "Authorization": "Bearer anc_live_…" }
    }
  }
}
Test the connection (curl)
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.

ToolScopeWhat it does
get_accountagents:readWorkspace, token balance and the key's scopes.
list_agentsagents:readList agents
get_agentagents:readAn agent's configuration
set_agent_strictnessagents:writeSet an agent's knowledge boundary
search_knowledgeknowledge:readSearch the knowledge base
list_knowledge_sourcesknowledge:readAn agent's knowledge sources with indexing status.
add_knowledge_sourceknowledge:writeAdd a knowledge source
list_knowledge_gapsknowledge:readList knowledge gaps
answer_knowledge_gapknowledge:writeAnswer a knowledge gap
dismiss_knowledge_gapknowledge:writeDismiss a knowledge gap as not relevant.
add_answerknowledge:writeTeach a question-answer pair (active from the next call).
list_callscalls:readCalls with outcome and traffic light
get_callcalls:readA call with transcript and review
start_callcalls:writeStart a single call (destructive)
create_dial_jobdial_jobs:writeCreate a dial job (destructive)
approve_dial_jobdial_jobs:approveApprove a dial job (destructive)
get_dial_jobcalls:readStatus of a dial job
pause_dial_jobdial_jobs:writeStop a running dial job immediately.
get_statsstats:readStats
list_phone_numbersphone_numbers:readPhone numbers with their assigned agent.
assign_phone_numberphone_numbers:writeAssign a phone number to an agent or unassign it.
list_calendarscalendars:readConnected 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.

CriterionMCP serverREST API v2Webhooks
Built forAI agents (Claude, Cursor, your own agents)Your software, backends, scriptsReacting to events
DirectionAgent → anicall.ioYour system → anicall.ioanicall.io → your system
SetupURL + key in the AI clientHTTP calls per OpenAPIHTTPS target + signature check
AuthBearer anc_live_…Bearer anc_live_…HMAC-SHA256 signature
Example“Claude, create a callback list.”Nightly import from your ERPcall.completed → helpdesk ticket

Model Context Protocol – Specification 2025-06-18

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.