aircall-mcp
Provides read-only access to Aircall's API, enabling listing and retrieving calls, users, contacts, numbers, teams, tags, and conversation intelligence data such as transcriptions, sentiment, topics, summaries, and action items.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aircall-mcpshow me the last 10 calls"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aircall-mcp
A local, read-only Model Context Protocol server for the official Aircall REST API.
This is an independent open-source project. It is not built, maintained, or endorsed by Aircall.
Why this server
Aircall provides an official REST API but does not provide a client-facing MCP server for reading calls and transcripts. aircall-mcp provides that MCP layer while keeping credentials and Aircall data on the local machine:
Read-only by construction: only documented
GETendpoints are implemented.Local stdio transport: no web server, hosted proxy, account, or subscription.
Fixed API origin: credentials are sent only to
https://api.aircall.io.No persistence: responses, transcripts, and contacts are not written to disk.
Bounded output: pagination, compact call results, and transcript slicing limit context usage.
Sensitive media URLs omitted by default: recording, voicemail, asset, and number-message URLs require explicit opt-in.
Related MCP server: slack-readonly-mcp
Tools
All 21 tools are annotated as read-only, non-destructive, and idempotent.
Tool | Aircall endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conversation Intelligence tools require the applicable Aircall AI feature and data to be available for that call.
Install
Requirements: Node.js 20 or newer and an Aircall API key pair.
git clone https://github.com/growth-box/aircall-mcp.git
cd aircall-mcp
npm install
npm run buildCreate API credentials in Aircall Dashboard → Integrations → API keys. Aircall shows the API token only once.
Configure an MCP client
The server reads credentials from its process environment:
{
"mcpServers": {
"aircall": {
"command": "node",
"args": ["/absolute/path/to/aircall-mcp/dist/index.js"],
"env": {
"AIRCALL_API_ID": "your-api-id",
"AIRCALL_API_TOKEN": "your-api-token"
}
}
}
}Do not commit or share a configuration containing real credentials.
Pi with macOS Keychain
Pi's MCP adapter can resolve environment values from commands when the value starts with !. This keeps secrets out of JSON configuration.
Store the credentials interactively:
./scripts/macos-keychain-setup.shThen add this server to ~/.config/mcp/mcp.json:
{
"mcpServers": {
"aircall": {
"command": "node",
"args": ["/absolute/path/to/aircall-mcp/dist/index.js"],
"env": {
"AIRCALL_API_ID": "!security find-generic-password -s aircall-mcp -a AIRCALL_API_ID -w",
"AIRCALL_API_TOKEN": "!security find-generic-password -s aircall-mcp -a AIRCALL_API_TOKEN -w"
},
"lifecycle": "lazy"
}
}
}Reload Pi, then connect or call aircall_ping.
Aircall API constraints
At the time of implementation, Aircall documents:
120 API requests per minute per company.
A maximum page size of 50.
A maximum of 10,000 paginated calls or contacts; use date windows to go beyond that.
Six months of call history through the Public API.
The client retries one 429 response using Aircall's retry/reset headers. It otherwise leaves request scheduling to the MCP client.
Data handling
Call records, contacts, phone numbers, and transcripts may contain personal or confidential information. This server does not store them, but its results are sent to the connected MCP client and ultimately to that client's language-model provider. Review that provider's privacy and retention controls.
Media URLs are omitted by default because they can grant access to recordings or voicemail. Pass the relevant explicit include_*_urls option only when needed. On call-list and call-search tools, opting into media URLs returns full call records even when compact is left at its default.
Set AIRCALL_TIMEOUT_MS to a positive integer to override the default 30-second request timeout.
See SECURITY.md for the full security model.
Development
npm test
npm run typecheckTests use mocked Aircall responses and never require live credentials.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceRemote MCP server that exposes Airspeed/Glyphic call data to Claude web, enabling tools to list, retrieve, and query calls, transcripts, snippets, and playbooks.
- AlicenseAqualityCmaintenanceA self-hosted, read-only Slack MCP server that runs locally and provides read-only access to Slack channels, messages, and users via the Slack Web API, with no third-party intermediary.7MIT
- FlicenseAqualityCmaintenanceLocal, read-only MCP server that connects to Discord via REST API, allowing listing guilds, channels, and messages with strict access controls and no write operations.5
- AlicenseAqualityCmaintenanceRead-only MCP server for Twilio call data, providing tools to search calls, fetch recordings and transcripts, list agents, and generate summaries while explicitly handling timezone and duration measurement discrepancies.6MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
MCP server for Appcircle mobile CI/CD platform.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/growth-box/aircall-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server