CallRail MCP

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

People connecting data & analytics tools to Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

VERIFIED ACTIVE

LAST COMMIT 2026-08-01 · ★ 2 · #41 OF 75 MAINTAINED DATA & ANALYTICS · VERIFIED 2026-08-25

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, list tracking phone numbers + 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; List tracking phone numbers + their source mapping. Optional status="active" filter

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

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 AI provisioning; Update mutable settings: name, destination, whisper…

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 (/calls/summary.json) - grouped totals by source / keywords / campaign / referrer / landing_page / company…

call_summary · call_stats · call_timeseries · call_eligibility_check

Form

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

list_form_submissions · update_form_submission · get_form_submission · form_stats

Calls

2 tools - e.g. Paginated call list - filter by company / date / source / answered; Find calls by phone number across a window

list_calls · search_calls_by_number

Text

2 tools - e.g. SMS conversations; Single SMS conversation detail 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 your tracker first, then bridges to recipient). Requires confirm_dialing=True as a safety guard - actually dials a real p

create_outbound_call

Latest releases

v1.1.3 · 2026-07-03

[1.1.3] - 2026-07-03 · Fixed - deep-audit round 4: mutation testing + shipped-artifact audit · Round 4 turned the audit on the TEST SUITE and the PACKAGING - layers · no code-reading or fuzzing round can reach. A…

v1.1.2 · 2026-07-03

[1.1.2] - 2026-07-03 · Fixed - deep-audit round 3: response-shape fuzz + property-based testing · Round 2 fuzzed tool INPUTS; round 3 fuzzed what CallRail sends BACK · (2,891 calls with…

v1.1.1 · 2026-07-03

[1.1.1] - 2026-07-03 · Fixed - deep-audit round 2: all-tool adversarial fuzz · A mechanical fuzz pass (every tool × every parameter × 17 garbage · values ≈ 5,000 calls) found 1,051 violations of the project's core…

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 #41 of 75 actively-maintained data & analytics servers as of 2026-08-25.
release cadence
4 releases in the last 90 days (latest 2026-07-03)
registry
io.github.pghdma/callrail-mcp (active, first published 2026-04-24 · 6 versions)
packages
pypi:callrail-mcp

06 · CallRail MCP FAQ

Is CallRail MCP still maintained?

Yes - as of 2026-08-25, its last commit was 2026-08-01 and it shipped 4 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, list tracking phone numbers + 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 · Datto RMM MCP · HaloPSA MCP

More Python MCP servers · Palinode · Anneal Memory · Bolor Brain MCP · Zotero MCP Local · Sayou · see all