MCP Server for Aircall API — 73 tools for calls, contacts, SMS, users, teams, transcripts, AI summaries, and more. Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible AI assistant.
This is a Model Context Protocol (MCP) server that lets AI assistants interact with the Aircall API. If you're building AI agents, automations, or workflows that need to:
- 📞 Make and manage phone calls
- 📝 Get call transcripts and AI summaries
- 👥 Manage contacts and users
- 💬 Send and receive SMS
- 🎯 Run power dialer campaigns
- 🔔 Set up real-time webhooks
...this MCP server gives you 73 ready-to-use tools that work with Claude, GPT, and other LLMs.
This MCP server is NOT built, maintained, or endorsed by Aircall.
It was built by Allo — the AI-native business phone system that's replacing legacy phone tools like Aircall.
We built this because we know many teams are stuck on Aircall and need to connect it to AI workflows. Consider this a gift while you're still there. When you're ready for a phone system that was built for AI from day one, try Allo.
Allo is the Agentic Phone System built for modern sales teams.
| Aircall | Allo | |
|---|---|---|
| AI-Native | Bolt-on AI features | Built for AI from day one |
| Transcripts | Extra cost | Included |
| AI Summaries | Limited | Every call, automatically |
| Action Items | Manual | AI-detected, synced to CRM |
| MCP Support | This community server | Official, first-party |
| Pricing | $40+/user/month | Transparent, no surprises |
→ Switch to Allo — Your AI workflows deserve a phone system that keeps up.
- 73 Tools - Full Aircall API coverage
- Read & Write - Not just read-only operations
- AI Intelligence - Transcripts, summaries, sentiments, action items
- Sales Ready - Power dialer, click-to-call, CRM sync workflows
- Safe Mode - Read-only toolset for testing
- Rate Limited - Respects API limits automatically
- Toolset Configuration - Enable only the tools you need
Add to your claude_desktop_config.json:
{
"mcpServers": {
"aircall": {
"command": "npx",
"args": ["-y", "@allo/aircall-mcp-server"],
"env": {
"AIRCALL_API_ID": "your_api_id",
"AIRCALL_API_TOKEN": "your_api_token"
}
}
}
}Add to your Cursor settings:
{
"mcpServers": {
"aircall": {
"command": "npx",
"args": ["-y", "@allo/aircall-mcp-server"],
"env": {
"AIRCALL_API_ID": "your_api_id",
"AIRCALL_API_TOKEN": "your_api_token"
}
}
}
}npx @allo/aircall-mcp-server --api-id=YOUR_ID --api-token=YOUR_TOKEN{
"mcpServers": {
"aircall": {
"command": "npx",
"args": ["-y", "@allo/aircall-mcp-server", "--read-only"],
"env": {
"AIRCALL_API_ID": "your_api_id",
"AIRCALL_API_TOKEN": "your_api_token"
}
}
}
}{
"mcpServers": {
"aircall": {
"command": "npx",
"args": ["-y", "@allo/aircall-mcp-server", "--tools=calls,contacts,tags"],
"env": {
"AIRCALL_API_ID": "your_api_id",
"AIRCALL_API_TOKEN": "your_api_token"
}
}
}
}- Go to Aircall Dashboard
- Navigate to Integrations → API Keys
- Create a new API key
- Copy the API ID and API Token
| Tool | Description |
|---|---|
aircall_list_calls |
List calls with optional filters |
aircall_get_call |
Get detailed call information |
aircall_search_calls |
Search calls by phone, tags, user |
aircall_get_transcript |
Get call transcription |
aircall_get_realtime_transcript |
Get live transcription |
aircall_get_summary |
Get AI-generated call summary |
aircall_get_sentiments |
Get sentiment analysis |
aircall_get_topics |
Get topics discussed |
aircall_get_action_items |
Get detected action items |
aircall_add_comment |
Add comment to call |
aircall_add_tags |
Tag a call |
aircall_archive_call |
Archive a call |
aircall_transfer_call |
Transfer active call |
aircall_pause_recording |
Pause call recording |
aircall_resume_recording |
Resume call recording |
| Tool | Description |
|---|---|
aircall_list_contacts |
List all contacts |
aircall_search_contacts |
Search by phone or email |
aircall_get_contact |
Get contact details |
aircall_create_contact |
Create new contact |
aircall_update_contact |
Update contact info |
aircall_delete_contact |
Delete contact |
aircall_add_phone |
Add phone to contact |
aircall_update_phone |
Update phone number |
aircall_add_email |
Add email to contact |
aircall_delete_email |
Delete email |
| Tool | Description |
|---|---|
aircall_list_users |
List all users |
aircall_get_user |
Get user details |
aircall_create_user |
Create new user |
aircall_update_user |
Update user |
aircall_delete_user |
Delete user |
aircall_check_availability |
Check user availability |
aircall_list_availabilities |
List all availabilities |
aircall_start_call |
Initiate outbound call |
aircall_dial |
Open dialer with number |
aircall_get_user_numbers |
Get user's numbers |
| Tool | Description |
|---|---|
aircall_list_teams |
List all teams |
aircall_get_team |
Get team details |
aircall_create_team |
Create new team |
aircall_delete_team |
Delete team |
aircall_add_user_to_team |
Add user to team |
aircall_remove_user_from_team |
Remove user from team |
| Tool | Description |
|---|---|
aircall_list_numbers |
List phone numbers |
aircall_get_number |
Get number details |
aircall_update_number |
Update number config |
aircall_update_messages |
Update audio messages |
aircall_get_registration_status |
Get registration status |
| Tool | Description |
|---|---|
aircall_list_tags |
List all tags |
aircall_get_tag |
Get tag details |
aircall_create_tag |
Create new tag |
aircall_update_tag |
Update tag |
aircall_delete_tag |
Delete tag |
| Tool | Description |
|---|---|
aircall_list_webhooks |
List webhooks |
aircall_get_webhook |
Get webhook details |
aircall_create_webhook |
Create webhook |
aircall_update_webhook |
Update webhook |
aircall_delete_webhook |
Delete webhook |
| Tool | Description |
|---|---|
aircall_list_messages |
List SMS messages |
aircall_send_message |
Send SMS |
aircall_send_agent_message |
Reply in conversation |
aircall_create_config |
Enable SMS on number |
aircall_get_config |
Get SMS config |
aircall_delete_config |
Disable SMS |
| Tool | Description |
|---|---|
aircall_list_campaigns |
List campaigns |
aircall_get_campaign |
Get campaign details |
aircall_create_campaign |
Create campaign |
aircall_delete_campaign |
Delete campaign |
aircall_get_campaign_numbers |
List campaign numbers |
aircall_add_campaign_numbers |
Add numbers to campaign |
aircall_remove_campaign_number |
Remove number |
| Tool | Description |
|---|---|
aircall_get_company |
Get company info |
aircall_list_integrations |
List integrations |
aircall_enable_integration |
Enable integration |
aircall_disable_integration |
Disable integration |
"List all calls from yesterday where the customer mentioned pricing"
"Create a contact for John Smith at Acme Corp with phone +1-555-0123"
"Find available agents and start a call to the lead"
"Get the summary and action items from call 12345"
"Add a 'Follow-up needed' tag to all calls from today with negative sentiment"
"Create a webhook to notify our CRM when calls end"
"Show me which agents are currently available"
"Add Sarah to the Sales team"
"List all phone numbers and their assigned users"
| Option | Environment Variable | Description |
|---|---|---|
--api-id |
AIRCALL_API_ID |
Aircall API ID |
--api-token |
AIRCALL_API_TOKEN |
Aircall API Token |
--tools |
AIRCALL_TOOLS |
Tools/categories to enable |
--read-only |
AIRCALL_READ_ONLY |
Enable read-only mode |
all- All tools (default)read- Read-only tools onlycalls- Call-related toolscontacts- Contact managementusers- User managementteams- Team managementnumbers- Phone number configtags- Tag managementwebhooks- Webhook managementmessages- SMS messagingdialer- Power dialer campaignscompany- Company & integrations
The server automatically respects Aircall's rate limits (60 requests/minute). Requests are queued and executed with appropriate delays.
- Never commit API credentials to version control
- Use environment variables for credentials
- Use read-only mode for testing
- See SECURITY.md for more guidelines
# Clone the repository
git clone https://github.com/themobilefirstco/aircall-mcp-server
cd aircall-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run locally
node dist/index.js --api-id=xxx --api-token=yyyContributions are welcome! Please see CONTRIBUTING.md for guidelines.
MIT - see LICENSE
This MCP server helps you get by on Aircall. But if you want a phone system that was designed for AI agents, CRM automation, and modern sales workflows:
Allo is the AI-native business phone built by The Mobile First Company.
- AI transcripts & summaries on every call
- Native MCP support — no community hacks needed
- CRM sync that actually works
- Built for agents — AI and human
Stop duct-taping AI onto a legacy phone system. Switch to Allo.
Built with 💜 by Allo — because even your competitors deserve good tooling.