CallHub
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CallHubshow me the active agents in my sales team"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CallHub MCP Server
An MCP server that exposes the CallHub API as tools for any MCP-compatible AI assistant — manage contacts and contact lists, tags and custom fields, agents and teams, campaigns (call center, voice broadcast, text broadcast, P2P, relational organizing), DNC and suppression lists, phone numbers, webhooks, media, and reporting, all through natural language.
It runs locally over stdio and authenticates to CallHub with an API key. It
works with any MCP client — Claude Desktop, Cursor, Windsurf, Cline, Continue,
OpenAI Codex, Gemini CLI, and others — and ships as a one-click .mcpb bundle
for Claude Desktop.
CallHub is a calling and texting platform for advocacies, unions, political orgs, nonprofits, and organizing teams — voice broadcasts, call center / phone banking, P2P and bulk texting, and contact management. This server wraps the CallHub REST API as MCP tools — mostly public endpoints, plus some internal/extended ones (each is flagged in the tool reference).
Links
callhub.io — product home
developer.callhub.io — official CallHub REST API reference
docs/API_REFERENCE.md— this server's tools mapped to their endpoints
Contents
Related MCP server: GoHighLevel MCP Server
Install — Claude Desktop
Download the bundle for your platform from
dist/(or the latest release):macOS (Apple Silicon):
callhub-macos-arm64.mcpbmacOS (Intel):
callhub-macos-x64.mcpbWindows (x64):
callhub-win-x64.mcpbLinux (x64):
callhub-linux-x64.mcpb
Open Claude Desktop → Settings → Extensions and drag the file in (or double-click it).
Enter your extension settings (see Configuration).
Enable the extension. The CallHub tools are now available.
Requirements: Python 3.10–3.14 available on the system. Each bundle vendors its dependencies for every Python version in that range, so any of them works.
Install — other MCP clients
Any MCP client that launches a local command can run this server. Clone and
install the dependencies, then point the client at src/server.py:
git clone https://github.com/callhub/callhub-mcp.git
cd callhub-mcp
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtThen register the server with your client. Most clients use an mcpServers
JSON block — pass credentials as environment variables:
{
"mcpServers": {
"callhub": {
"command": "python3",
"args": ["/absolute/path/to/callhub-mcp/src/server.py"],
"env": {
"CALLHUB_API_KEY": "your-api-key",
"CALLHUB_BASE_URL": "https://api-na1.callhub.io"
}
}
}
}Client-specific quick commands:
Gemini CLI:
gemini mcp add callhub python3 /absolute/path/to/callhub-mcp/src/server.py(then set theCALLHUB_*env vars).OpenAI Codex: add an
[mcp_servers.callhub]block to~/.codex/config.tomlwithcommand = "python3"andargs = ["/absolute/path/.../src/server.py"].Cursor / Windsurf / Cline / Continue: add the
mcpServersblock above to the client's MCP config file.
Use the venv's Python (
.venv/bin/python3) as thecommandif the server's dependencies aren't on your system Python.
Configuration
You need two values, both from your CallHub dashboard under Settings → Account → API Key:
API Key — the key shown there.
API Domain — the base URL shown there, which is region-specific (e.g.
https://api-na1.callhub.io).
In Claude Desktop these are the extension settings. For other clients, set them
as the CALLHUB_API_KEY and CALLHUB_BASE_URL environment variables.
Media uploads (optional): uploadMediaFile is disabled unless you point it
at an approved folder — the Media upload directory setting, or the
CALLHUB_MEDIA_DIR environment variable. The tool can then read files only
from inside that folder (in addition to a media-extension check), so it can
never read arbitrary files on the host.
Multiple accounts
The key you configure is your default account. To use more accounts, ask
the assistant to configure one by name (the configureAccount tool), then refer
to it by name in requests — for example, "list the teams in my personal
account." Requests that don't name an account use default.
Credentials for additional accounts are stored in a local .env file using the
pattern CALLHUB_<ACCOUNT>_API_KEY / _BASE_URL / _USERNAME.
Tool reference
The server registers ~135 tools across all CallHub resources. See
docs/API_REFERENCE.md for the full tool-to-endpoint
mapping, and the CallHub API reference for the
underlying API. By area:
Contacts — create/get/update/delete,
listContacts,searchContacts,bulkCreateContacts,addContactNotes, custom fields, tags.Contact lists (a.k.a. phonebooks) — create/get/update/delete/list, add/remove contacts, counts.
Agents & teams — create/get/list agents, live agents, team CRUD and membership, activation-URL export.
Campaigns — Call Center, Voice Broadcast, Text Broadcast, P2P, and Relational: create, get, list, update status, duplicate, delete, assign agents.
DNC & suppression — DNC lists and contacts,
addToDnc/removeFromDnc,addToSuppressionList.Numbers — rent, auto-rent SMS numbers, list rented/validated, revalidation.
Media, webhooks, reporting — media list/upload, webhook CRUD, campaign stats, credit usage, export-job polling, shortened-URL stats,
shareCredits.
Tool names follow CallHub's product vocabulary (createContactList,
createVoiceBroadcastCampaign, createTextBroadcast, addTagsToContact).
Older names from earlier versions (createPhonebook, createVbCampaign,
createSmsBroadcast, …) still work as hidden aliases, so existing saved
flows keep functioning; new work should use the canonical names.
Rate limits
The CallHub API enforces rate limits; the server surfaces 429 responses rather
than masking them. Notably, searchContacts is limited to roughly one request
per second — prefer a single searchContacts call over rapidly paging
listContacts. For bulk work, use the bulk endpoints (bulkCreateContacts)
instead of many single calls.
Agent activation
Newly created agents start in a pending state and must verify their email
before they appear in listAgents. Manage them through the activation-export
workflow:
exportAgentActivationUrls(orgetAgentActivationExportUrl) to obtain the export.Download the activation CSV from the CallHub UI.
processAgentActivationCsv(orprocessUploadedActivationCsv) to read it.
Earlier versions bundled a Selenium/Chrome flow that set agent passwords automatically. It was removed to keep the server lightweight and reliable — distribute the activation URLs to agents, or activate them in the CallHub UI.
Build from source
Building produces a callhub.mcpb for the platform you build on (some
dependencies ship compiled wheels, so the bundle is OS/architecture-specific).
./build.sh # single bundle for the current platform (vendors deps into src/lib, packs callhub.mcpb)
./build-all.sh # all four platform bundles into dist/ (multi-Python: 3.10-3.14)build-all.sh cross-downloads platform wheels (no execution needed) and packs
one bundle per platform, each containing the compiled dependencies for every
supported Python version side by side.
Requirements: python3 (3.10+) and the mcpb
CLI (invoked via npx @anthropic-ai/mcpb, so Node.js is needed at build time).
Project layout
manifest.json— MCPB extension manifest (server entry,user_config).src/server.py— registers every tool and starts the MCP server (stdio).src/callhub/— API client, auth, and one module per resource.docs/API_REFERENCE.md— tool-to-endpoint reference.build.sh— reproducible bundle build.
Security
Your API key is provided via extension settings (Claude Desktop) or an environment variable, and is not committed to this repo.
Use an API key scoped to the least privilege you need.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Build and manage AI-native customer support agents from Claude or any MCP client.
LeadConnector / GoHighLevel MCP Pack — wraps the GoHighLevel CRM for AI agents.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Related MCP Servers
- AlicenseAqualityAmaintenanceMailchimp MCP Server - Access Mailchimp data from Claude via MCP.10024MIT
- AlicenseNot gradedqualityCmaintenanceIntegrates Claude Desktop with GoHighLevel CRM, providing 269+ tools for contact management, messaging, sales, marketing, and more via MCP.11ISC
- AlicenseNot gradedqualityDmaintenanceEnables Claude to manage GoHighLevel CRM contacts, pipelines, and workflows through natural language commands.21MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Code with GoHighLevel CRM to manage contacts, pipelines, calendars, conversations, workflows, funnels, and forms via natural language.MIT