@kanopi/callrail-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CALLRAIL_API_KEY | Yes | Your CallRail API v3 key. | |
| CALLRAIL_BASE_URL | No | Override the API base URL. | https://api.callrail.com/v3 |
| CALLRAIL_ACCOUNT_ID | No | Default account id. When set, tools may omit account_id. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List all CallRail accounts accessible to the API key. Use this to discover account ids. |
| get_accountA | Retrieve details for a single CallRail account. |
| list_companiesB | List companies in an account. Companies contain trackers and calls. |
| get_companyA | Retrieve a single company by id. |
| create_companyB | WRITE: Create a new company in an account. Requires a name; other fields optional. |
| update_companyC | WRITE: Update fields on an existing company. |
| delete_companyA | WRITE/DESTRUCTIVE: Permanently delete a company. This cannot be undone. |
| list_callsB | List calls in an account with filtering, sorting, search and field selection. |
| get_callA | Retrieve a single call by id, optionally with extra fields (transcription, keywords, sentiment, etc — some require Premium Conversation Intelligence). |
| create_outbound_callC | WRITE: Place an outbound call that connects an agent number to a customer number. |
| update_callB | WRITE: Update a call's notes, tags, lead status, customer name, value, or spam flag. |
| get_calls_summaryB | Summarize call data grouped by a dimension (source, keywords, campaign, referrer, landing_page, or company). |
| get_calls_timeseriesA | Retrieve call analytics grouped by a time interval. |
| list_trackersC | List tracking numbers (trackers) in an account. |
| get_trackerA | Retrieve a single tracker by id. |
| create_trackerB | WRITE: Create a tracking number. |
| update_trackerC | WRITE: Update fields on an existing tracker. |
| delete_trackerA | WRITE/DESTRUCTIVE: Permanently delete a tracker. This cannot be undone. |
| list_conversationsB | List SMS/MMS text-message conversations in an account. |
| get_conversationA | Retrieve a single text conversation, including its messages. |
| send_text_messageA | WRITE: Send an SMS/MMS reply in a conversation. Outbound texts must include opt-out instructions per compliance rules. Provide media_url for MMS. |
| list_form_submissionsB | List form submissions captured in an account. |
| get_form_submissionA | Retrieve a single form submission by id. |
| update_form_submissionB | WRITE: Update a form submission's notes, tags, lead status, value, or spam flag. |
| list_usersB | List users in an account, with their company associations. |
| get_userA | Retrieve a single user by id. |
| list_tagsA | List tags defined in an account. |
| create_tagC | WRITE: Create a new tag in an account. |
| update_tagA | WRITE: Update an existing tag's name or color. |
| delete_tagB | WRITE/DESTRUCTIVE: Permanently delete a tag. This cannot be undone. |
| list_integrationsB | List third-party integrations configured for a company in an account. |
| list_notificationsC | List notification settings configured for the account's users. |
| list_outbound_caller_idsA | List verified phone numbers usable as outbound caller IDs. |
| create_outbound_caller_idA | WRITE: Register a phone number as an outbound caller ID. CallRail sends a verification call/code to the number before it can be used. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Each tool targets a distinct resource and operation (e.g., company, call, tag, tracker). Even with 34 tools, there is no ambiguity; every tool has a clear, separate purpose.
All tools follow a consistent 'verb_noun' pattern (e.g., create_company, list_calls, delete_tracker). Plural for list operations is consistent. No mixing of styles.
34 tools is excessive; it exceeds the 25+ threshold for 'too many' and feels overwhelming. While the domain is broad, many tools could be consolidated or are unnecessary for an agent.
The toolset covers full CRUD for core resources (companies, tags, trackers) and provides list/get/create/update for relevant entities (calls, conversations, form submissions). Missing delete for calls and some minor operations, but overall the surface is comprehensive.