
CallRail MCP
A comprehensive wrapper around CallRail's REST API v3 that exposes 49 tools covering calls, trackers, form submissions, SMS, and account management. You get full CRUD for calls, tags, companies, and users, plus agency-focused tools like per-client cost attribution and Google Ads conversion eligibility checks. The tracker provisioning tools can spin up new phone numbers but require explicit billing confirmation flags to prevent accidental spend. Built by an agency founder who needed to debug conversion tracking and allocate CallRail costs across clients. Requires an Account Admin API key and works over stdio transport with Claude Desktop, Cursor, or any MCP-compatible client.
- GitHub stars
- 2
- tools
- 57
- auth
- Secret needed
- transport
- STDIO
- env var
- 1
- last updated
- Nov 10, 2026
Tools
57 toolsPublic tool metadata for what this MCP can expose to an agent.
list_accountsList accessible CallRail accounts. fields="numeric_id" adds the number shown in CallRail URLs
List accessible CallRail accounts. fields="numeric_id" adds the number shown in CallRail URLs
No parameter schema in public metadata yet.
list_companiesList companies (clients) under an account. Optional status="active", search, fields (for example verified_caller_ids) and page
List companies (clients) under an account. Optional status="active", search, fields (for example verified_caller_ids) and page
No parameter schema in public metadata yet.
list_trackersList tracking phone numbers and their source mapping. Optional status="active", type, search and fields
List tracking phone numbers and their source mapping. Optional status="active", type, search and fields
No parameter schema in public metadata yet.
get_trackerFull detail for one tracker
Full detail for one tracker
No parameter schema in public metadata yet.
list_callsPaginated call list. Filter by company, date window, answer_status, direction, device, call_type, lead_status, tracker_id, tags and free-text search, with sort/order and an IANA time_zone
Paginated call list. Filter by company, date window, answer_status, direction, device, call_type, lead_status, tracker_id, tags and free-text search, with sort/order and an IANA time_zone
No parameter schema in public metadata yet.
get_callFull detail for a specific call
Full detail for a specific call
No parameter schema in public metadata yet.
call_summaryAggregate stats (total, answered by a person, voicemail, missed, by source, duration) for a window
Aggregate stats (total, answered by a person, voicemail, missed, by source, duration) for a window
No parameter schema in public metadata yet.
list_form_submissionsCallRail Form Tracking submissions. Filter by lead_status, tags and person_lead; sort by submitted_at or form_url
CallRail Form Tracking submissions. Filter by lead_status, tags and person_lead; sort by submitted_at or form_url
No parameter schema in public metadata yet.
list_text_messagesSMS conversations
SMS conversations
No parameter schema in public metadata yet.
list_usersAccount users, paginated. Filter by company_id, search names and emails, sort by email or created_at
Account users, paginated. Filter by company_id, search names and emails, sort by email or created_at
No parameter schema in public metadata yet.
get_call_recordingRecording URL (if recording enabled). CallRail documents the link as good for at least 24 hours; HIPAA accounts get a temporary URL that expires in about 24 hours
Recording URL (if recording enabled). CallRail documents the link as good for at least 24 hours; HIPAA accounts get a temporary URL that expires in about 24 hours
No parameter schema in public metadata yet.
get_call_transcriptTranscript plus conversational_transcript, call_summary, call_highlights, keywords_spotted, sentiment and speaker_percent via field selection (Premium Conversation Intelligence required since 2026-05-21)
Transcript plus conversational_transcript, call_summary, call_highlights, keywords_spotted, sentiment and speaker_percent via field selection (Premium Conversation Intelligence required since 2026-05-21)
No parameter schema in public metadata yet.
search_calls_by_numberFind calls by phone number across a window (narrowed server-side with search, then matched exactly)
Find calls by phone number across a window (narrowed server-side with search, then matched exactly)
No parameter schema in public metadata yet.
list_tagsList tags in an account or filtered to one company. Filter by status and tag_level
List tags in an account or filtered to one company. Filter by status and tag_level
No parameter schema in public metadata yet.
update_callUpdate note, tags, spam flag, customer name, lead status
Update note, tags, spam flag, customer name, lead status
No parameter schema in public metadata yet.
add_call_tagsAdditive tag changes (preserves existing)
Additive tag changes (preserves existing)
No parameter schema in public metadata yet.
remove_call_tagsSubtractive tag changes
Subtractive tag changes
No parameter schema in public metadata yet.
update_form_submissionNote, tags (replace, or add with append_tags=True), value (sent as the currency string CallRail documents) and lead status. Form submissions have no spam flag
Note, tags (replace, or add with append_tags=True), value (sent as the currency string CallRail documents) and lead status. Form submissions have no spam flag
No parameter schema in public metadata yet.
create_tagCreate company-level and account-level (tag_level="account") tags
Create company-level and account-level (tag_level="account") tags
No parameter schema in public metadata yet.
update_tagUpdate a tag, can also disable or re-enable it
Update a tag, can also disable or re-enable it
No parameter schema in public metadata yet.
delete_tagDelete a tag
Delete a tag
No parameter schema in public metadata yet.
create_trackerProvision a new tracking number. Requires confirm_billing=True as a safety guard against accidental provisioning. Supports source trackers and session (DNI) pools of 4 to 50 numbers
Provision a new tracking number. Requires confirm_billing=True as a safety guard against accidental provisioning. Supports source trackers and session (DNI) pools of 4 to 50 numbers
No parameter schema in public metadata yet.
update_trackerUpdate mutable settings: name, destination, whisper, greeting, recording flag, SMS, swap targets, campaign name. Refuses to overwrite an advanced (IVR) flow
Update mutable settings: name, destination, whisper, greeting, recording flag, SMS, swap targets, campaign name. Refuses to overwrite an advanced (IVR) flow
No parameter schema in public metadata yet.
delete_trackerSoft-delete a tracker (releases the phone number, preserves history)
Soft-delete a tracker (releases the phone number, preserves history)
No parameter schema in public metadata yet.
get_companyFull company (client) detail
Full company (client) detail
No parameter schema in public metadata yet.
create_companyCreate a company (client). Free, since CallRail bills per number rather than per company
Create a company (client). Free, since CallRail bills per number rather than per company
No parameter schema in public metadata yet.
update_companyUpdate a company's settings. Soft-delete semantics
Update a company's settings. Soft-delete semantics
No parameter schema in public metadata yet.
delete_companySoft-delete a company
Soft-delete a company
No parameter schema in public metadata yet.
get_userSingle user detail
Single user detail
No parameter schema in public metadata yet.
create_userInvite a user by email; roles: admin, manager, reporting
Invite a user by email; roles: admin, manager, reporting
No parameter schema in public metadata yet.
update_userChange a user's names and company access only
Change a user's names and company access only
No parameter schema in public metadata yet.
delete_userDelete a user
Delete a user
No parameter schema in public metadata yet.
get_tagSingle tag detail
Single tag detail
No parameter schema in public metadata yet.
get_form_submissionSingle form-submission detail
Single form-submission detail
No parameter schema in public metadata yet.
get_text_messageSingle SMS conversation with all messages
Single SMS conversation with all messages
No parameter schema in public metadata yet.
create_form_submissionManually create a form submission (backfill walk-in, paper-form, or offline leads). Requires form_url and form_data
Manually create a form submission (backfill walk-in, paper-form, or offline leads). Requires form_url and form_data
No parameter schema in public metadata yet.
list_notificationsList per-user alert rules
List per-user alert rules
No parameter schema in public metadata yet.
create_notificationCreate a per-user alert rule
Create a per-user alert rule
No parameter schema in public metadata yet.
update_notificationUpdate a per-user alert rule
Update a per-user alert rule
No parameter schema in public metadata yet.
delete_notificationDelete a per-user alert rule
Delete a per-user alert rule
No parameter schema in public metadata yet.
list_integrationsDiscover GMB, Google Ads, Facebook, Slack, and Webhook integrations attached to a company
Discover GMB, Google Ads, Facebook, Slack, and Webhook integrations attached to a company
No parameter schema in public metadata yet.
get_integrationSingle integration detail, including webhooks
Single integration detail, including webhooks
No parameter schema in public metadata yet.
create_outbound_callPlace an outbound call. Requires confirm_dialing=True as a safety guard. US and Canada only
Place an outbound call. Requires confirm_dialing=True as a safety guard. US and Canada only
No parameter schema in public metadata yet.
list_leadsCallRail's deduplicated person records, sortable by created_at, name or email
CallRail's deduplicated person records, sortable by created_at, name or email
No parameter schema in public metadata yet.
get_lead_timelineFull cross-channel history (calls, forms, texts) per lead with first and last touch attribution
Full cross-channel history (calls, forms, texts) per lead with first and last touch attribution
No parameter schema in public metadata yet.
list_sms_threadsList SMS threads, windowed by date and searchable by number, name or tag
List SMS threads, windowed by date and searchable by number, name or tag
No parameter schema in public metadata yet.
get_sms_threadSingle SMS thread detail
Single SMS thread detail
No parameter schema in public metadata yet.
update_sms_threadTag, note, and qualify texting leads
Tag, note, and qualify texting leads
No parameter schema in public metadata yet.
call_statsServer-side call aggregation via /calls/summary.json, grouped by company, source, keywords, campaign, referrer, landing_page, or last_requested_page
Server-side call aggregation via /calls/summary.json, grouped by company, source, keywords, campaign, referrer, landing_page, or last_requested_page
No parameter schema in public metadata yet.
call_timeseriesCall-volume trend line with interval (hour, day, week, month, year) and filters
Call-volume trend line with interval (hour, day, week, month, year) and filters
No parameter schema in public metadata yet.
form_statsServer-side form-submission totals with group_by, fields, lead_status and tags
Server-side form-submission totals with group_by, fields, lead_status and tags
No parameter schema in public metadata yet.
get_call_page_viewsThe visitor's page-view journey behind a call
The visitor's page-view journey behind a call
No parameter schema in public metadata yet.
usage_summaryPer-company cost-attribution breakdown for the cycle: minutes used, active numbers, estimated cost share
Per-company cost-attribution breakdown for the cycle: minutes used, active numbers, estimated cost share
No parameter schema in public metadata yet.
call_eligibility_checkAudit whether a specific call qualifies as a Google Ads conversion
Audit whether a specific call qualifies as a Google Ads conversion
No parameter schema in public metadata yet.
compare_periodsCompare the current N-day window against the previous one with per-company deltas
Compare the current N-day window against the previous one with per-company deltas
No parameter schema in public metadata yet.
bulk_update_callsApply one update to every call matching a filter. dry_run=True by default and capped at 500 calls
Apply one update to every call matching a filter. dry_run=True by default and capped at 500 calls
No parameter schema in public metadata yet.
spam_detectorHeuristically flag likely-spam calls, with optional auto_tag=True adding an auto_detected_spam tag
Heuristically flag likely-spam calls, with optional auto_tag=True adding an auto_detected_spam tag
No parameter schema in public metadata yet.
Sponsors
Configuration
CALLRAIL_API_KEY*secretCallRail API key. Get one at Settings > API Keys in your CallRail account (requires Account Admin). Alternatively set CALLRAIL_API_KEY_FILE to a file path containing the key.
Readme
callrail-mcp
A Model Context Protocol server for the CallRail REST API v3. Point Claude Code, Claude Desktop, Cursor, or any other MCP client at it and ask about your call tracking in plain English.
Details
- Repository
- github.com/pghdma/callrail-mcp
- Category
- Data & Analytics
- Package
callrail-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active