Dialpad MCP Server
Connect AI agents to Dialpad calls, messages, meetings, and transcripts through the Dialpad MCP Server.
Early Access ProgramThis is an Early Access Program feature. Please contact your Customer Success Manager to request access.
Introduction
The Model Context Protocol (MCP) is an open standard that lets AI assistants connect to external systems. The Dialpad MCP server exposes the Dialpad platform as a set of tools that any MCP-compatible client can call — so an assistant can search your calls, look up a contact, or read a meeting transcript on your behalf.
The server is hosted by Dialpad. There is nothing to install and nothing to run. Point your client at the server URL, sign in with your Dialpad account, and the tools become available in your session.
MCP is a good fit if you are building an AI-powered workflow on top of Dialpad, or if you simply want your assistant to work with your Dialpad data. If you are building a traditional integration, use the Dialpad Public APIs instead.
Connecting to the Dialpad MCP Server
Connect to the Dialpad MCP Server from your preferred agent with the following details:
Server URLs
| Region | URL |
|---|---|
| United States | https://mcp-public.us.karehq.com/mcp |
| Europe | https://mcp-public.eu.karehq.com/mcp |
Use the URL for the region your Dialpad company is provisioned in.
The server uses the Streamable HTTP transport.
Connecting from Claude Code
claude mcp add --scope user --transport http dialpad https://mcp-public.us.karehq.com/mcp
Connecting from Claude Desktop, Cursor, and other clients
Add the server to your client's MCP configuration file:
{
"mcpServers": {
"dialpad": {
"url": "https://mcp-public.us.karehq.com/mcp"
}
}
}The first time your client connects, a browser window opens for you to sign in to Dialpad. Once you have signed in, the Dialpad tools are available in your session.
Authentication
You sign in with the Dialpad account you already use; there are no API keys, service accounts, or admin setup steps involved.
- The server acts on your behalf. You can only reach data you could already reach in Dialpad. A tool call that your account is not permitted to make will fail the same way the equivalent Public API request would.
- Clients connect without pre-registration. The server supports Dynamic Client Registration, so your client registers itself the first time it connects.
- Sessions last 24 hours. After that, your client prompts you to sign in again.
Your company must be enrolled in the Early Access Program for the server to return any data. If it is not enrolled, the calls fail with a 403 Forbidden and a message explaining how to enrol.
Capabilities
The tools are built out of the Dialpad Public APIs, so anything you can do through the Public API you can do through an assistant/agent with the Dialpad MCP Server.
Your client lists every tool it has available via the server, along with the arguments each one takes. You do not need to know tool names to use them. Describe what you want and the assistant selects the tool.
Currently Available Tools
There are 36 tools are exposed by the Dialpad MCP Server today. This list will grow as more of the capabilities become available. The tools and capabilities available are grouped into areas, as defined below:
Calls
| Tool | Description |
|---|---|
add-call-participant | Adds another participant to a call, by phone number or by target |
assign-call | Assigns an operator to a call queued in a contact center |
get-call-info | Gets status and detailed information for a concluded call |
initiate-ivr-call | Initiates an outbound call to ring an IVR workflow |
list-call | Searches concluded calls by time range and target |
initiate-call | Initiates an outbound call to ring a user's devices |
transfer-call | Transfers a call to another recipient |
unassign-all-call-operator | Unassigns all operators from a call queued in a contact center |
unassign-call-operator | Unassigns a specific operator from a call queued in a contact center |
unpark-call | Unparks a call previously parked on an office mainline |
hangup-call | Hangs up a call |
set-call-label | Sets labels on a call, replacing existing ones |
Call Centers
| Tool | Description |
|---|---|
list-all-callcenters | Lists call centers |
get-callcenter | Gets a call center by ID |
get-callcenter-status | Gets live status information for a call center |
list-call-labels | Lists call labels for the company |
Coaching Teams
| Tool | Description |
|---|---|
get-coaching-team-members | Gets a list of members of a coaching team |
get-coaching-team | Gets details of a specified coaching team |
list-all-coaching-team | Lists coaching teams |
Contacts
| Tool | Description |
|---|---|
delete-contact | Deletes a contact by ID |
get-contact | Gets a contact by ID |
update-contact | Updates the provided fields for an existing contact |
list-contacts | Lists shared or personal contacts |
create-contact | Creates a new contact |
create-with-uid-contact | Creates a new shared contact with a specified unique ID |
Departments and Offices
| Tool | Description |
|---|---|
get-department | Gets a department by ID |
list-all-departments | Searches departments by name or office |
get-office | Gets an office by ID |
get-office-primary | Gets the primary office for the company |
list-offices | Gets all offices in the company |
Dispositions
| Tool | Description |
|---|---|
delete-disposition | Deletes a disposition by ID |
get-disposition | Gets a disposition by ID |
update-disposition | Updates a disposition by ID |
list-dispositions | Lists call dispositions by target group |
create-disposition | Creates a disposition for an office |
Users
| Tool | Description |
|---|---|
get-user | Gets user info by user's ID |
search-users | Searches for users in the company directory by name, email, or phone number |
Search and Transcripts
| Tool | Description |
|---|---|
search-messages | Searches SMS, MMS, and Dialpad native messages across a user's conversations |
search-call-transcripts | Searches Dialpad call transcripts |
fetch-call-transcripts | Fetches the full transcript for a Dialpad call |
search-meeting-transcripts | Searches Dialpad Meeting transcripts |
fetch-meeting-transcripts | Fetches the full transcript for a Dialpad Meeting |
Pagination
Tools that return lists are paginated the same way the Dialpad Public APIs are. A paginated response includes a cursor field. To retrieve the next page, call the tool again and pass that value as the cursor argument.
When the response contains no cursor, you have reached the last page.
Assistants do not always page through results on their own. If you need a complete set, ask for it explicitly.
Rate Limits
Tool calls consume the same rate limits as the underlying API requests. See Rate Limits for the company-wide limit, and the API Reference for per-endpoint limits.
Troubleshooting
403 Forbidden on every call - your company is not enrolled in the Early Access Program. Contact your Customer Success Manager to request access.
403 Forbidden on some calls - your request is trying to map to an endpoint your account is not permitted to use. Some endpoints require a "company administrator" role.
401 Unauthorized - your session has expired. Sessions last 24 hours; to reconnect, sign in again.
No tools appear in your client - confirm the URL matches your company's region and that your client supports the Streamable HTTP transport.
Getting Help
If you get stuck or have questions about the MCP server, write to us at [email protected].
Updated about 3 hours ago