CallRail MCP

A Model Context Protocol server that exposes the CallRail REST API v3 to any MCP-compatible client (Claude Code, Claude Desktop, Cursor, and others). Its 33 documented tools cover form, tracker, calls, submission. It runs locally over stdio via the published package.

People who work with form, tracker and calls and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

VERIFIED ACTIVE

LAST COMMIT 2026-09-07 · ★ 2 · #39 OF 81 MAINTAINED DATA & ANALYTICS · VERIFIED 2026-09-18

MIT · Python servers · how we verify → /methodology

01 · Install CallRail MCP

before you install - you'll need

CALLRAIL_API_KEY

Environment variables documented in the project's README - it lists which are required and which have defaults.

Claude Code

claude mcp add pghdma-callrail-mcp -- uvx callrail-mcp

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "pghdma-callrail-mcp": {
      "command": "uvx",
      "args": [
        "callrail-mcp"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

license MIT - declared in the repository

pypi package callrail-mcp - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.pghdma is GitHub-verified and matches the repo owner

03 · What CallRail MCP can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can list accessible CallRail accounts, list companies (clients) under an account. Optional status="active" filter and page, list tracking phone numbers and their source mapping. Optional status="active" filter, and find calls by phone number across a window.

Capability map

Tools grouped from the project's README - what CallRail MCP lets an agent do.

read & search

10 tools - e.g. List accessible CallRail accounts; List companies (clients) under an account. Optional status="active" filter and page; List tracking phone numbers and their source mapping. Optional status="active"…

list_accounts · list_companies · list_trackers · get_call · list_users · get_call_recording…

Form

5 tools - e.g. CallRail Form Tracking submissions; Same field surface as update_call, plus value (numeric, supported on form submissions but not on calls, where CallRail returns 500); Single form-submission detail

list_form_submissions · update_form_submission · get_form_submission · create_form_submission · form_stats

Tracker

4 tools - e.g. Full detail for one tracker; Provision a new tracking number. Requires confirm_billing=True as a safety guard against accidental provisioning. Supports source trackers and session (DNI) poo; Update…

get_tracker · create_tracker · update_tracker · delete_tracker

run & execute

4 tools - e.g. Aggregate stats (total, answered, by source, duration) for a window; Server-side call aggregation via /calls/summary.json. Group by company, company_id, source, keywords, campaign, referrer, landing_page…

call_summary · call_stats · call_timeseries · call_eligibility_check

Calls

3 tools - e.g. Paginated call list. Filter by company, date, and answer_status; Find calls by phone number across a window; Apply one update (tag, note, lead_status, spam) to every call matching a filter. dry_run=True…

list_calls · search_calls_by_number · bulk_update_calls

Text

2 tools - e.g. SMS conversations; Single SMS conversation with all messages

list_text_messages · get_text_message

update

1 tool - e.g. Update note, tags, spam flag, customer name, lead status

update_call

create & write

1 tool - e.g. Place an outbound call. CallRail dials business_phone_number first, then bridges to customer_phone_number, showing caller_id. Requires confirm_dialing=True as a

create_outbound_call

Latest releases

v1.2.2 · 2026-09-07

Maintenance release. The only change to the package is its version · string; the code on PyPI is functionally identical to 1.2.1. This release · exists to exercise the automated registry publishing path end to end.…

v1.2.1 · 2026-09-07

Presentation and maintenance release. No behavior changes: all 408 tests, · mypy --strict, ruff, and bandit pass unchanged, and the tool surface · is still 57 tools on both MCP SDK majors. · house style applied to…

v1.2.0 · 2026-09-07

Audit release. Every item below was confirmed by executing a reproduction · or by probing the live CallRail API, not by reading code alone. · Fixed (CRITICAL): package was uninstallable · pip install callrail-mcp had…

04 · Who maintains CallRail MCP

CallRail MCP is maintained by pghdma. It's the only MCP server we track from this author; the repo dates to Apr 2026.

05 · Facts

category
data & analytics - ranked #39 of 81 actively-maintained data & analytics servers as of 2026-09-18.
release cadence
7 releases in the last 90 days (latest 2026-09-07)
registry
io.github.pghdma/callrail-mcp (active, first published 2026-04-24 · 9 versions)
packages
pypi:callrail-mcp

06 · CallRail MCP FAQ

Is CallRail MCP still maintained?

Yes - as of 2026-09-18, its last commit was 2026-09-07 and it shipped 7 releases in the last 90 days. We re-verify nightly.

What can CallRail MCP do?

With this server connected, an agent can list accessible CallRail accounts, list companies (clients) under an account. Optional status="active" filter and page, list tracking phone numbers and their source mapping. Optional status="active" filter, and find calls by phone number across a window.

How do I install CallRail MCP?

Run `uvx callrail-mcp`. The README documents one environment variable (CALLRAIL_API_KEY) to set first. You can also paste the ready-made client config above.

Does CallRail MCP run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to CallRail MCP

More data & analytics MCP servers · Rolliinc MCP Server · Overte MCP · Google Search Console · Search Console MCP

More Python MCP servers · Palinode · Fabricator Panel MCP · Anneal Memory · Bolor Brain MCP · Codeintel · see all