MCP (Model Context Protocol) server for CallZero AI phone call automation. This package allows MCP clients like Claude Desktop, ChatGPT, and other AI assistants to make phone calls through the CallZero service.
- 10 Comprehensive Tools: Core calling, management, and memory capabilities
- HTTP Transport: Calls CallZero production APIs securely
- Standard MCP Protocol: Works with any MCP client
- Simple Setup: Just requires an API key
- Memory System: Store and retrieve context about contacts and preferences
- Call Management: List, cancel, and share calls easily
# Install globally
npm install -g @callzero/mcp-server
# Or use with npx (no installation needed)
npx @callzero/mcp-serverVisit callzero.ai to generate an API key from your account settings.
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"callzero": {
"command": "callzero-mcp",
"env": {
"CALLZERO_API_KEY": "callzero_your_api_key_here"
}
}
}
}Or with npx:
{
"mcpServers": {
"callzero": {
"command": "npx",
"args": ["@callzero/mcp-server"],
"env": {
"CALLZERO_API_KEY": "callzero_your_api_key_here"
}
}
}
}Make an AI-powered phone call (immediate or scheduled).
Parameters:
recipientPhone(required): Phone number in E.164 format (e.g., "+15551234567")taskDetails(required): What the AI should accomplish on the callyourInfo(optional): Additional context about the callerscheduledFor(optional): ISO datetime for scheduling (e.g., "2024-01-15T14:30:00Z")
Get the current status and basic information about a call.
Parameters:
callId(required): ID of the call to check
Returns:
- Call status (pending, in_progress, completed, failed)
- Start/end times, duration, recipient phone, summary
Get the full transcript and detailed information about a completed call.
Parameters:
callId(required): ID of the call to get transcript for
Returns:
- Complete conversation transcript with timestamps
- Call metadata and summary
Cancel a scheduled call before it starts.
Parameters:
callId(required): ID of the scheduled call to cancel
List all calls with optional filters for status, date range, and pagination.
Parameters:
status(optional): Filter by status (pending, in_progress, completed, failed, all)limit(optional): Number of results (1-100, default: 20)offset(optional): Pagination offset (default: 0)startDate(optional): Filter calls after this date (ISO format)endDate(optional): Filter calls before this date (ISO format)
Get the current credit balance in minutes for making AI phone calls.
Returns:
creditMinutes: Remaining minutesplanType: Current subscription plannextRefillDate: When credits will refresh
Generate a shareable link for a call transcript.
Parameters:
callId(required): ID of the call to shareexpiresInDays(optional): Days before link expires (1-30, default: 7)
Returns:
shareUrl: Public URL to view transcriptexpiresAt: When the link expires
Search for public form templates that match your query. Returns templates with pre-filled task details and may include phone numbers for known companies.
Parameters:
query(required): Search query to find matching templates (e.g., "xfinity bill", "cancel att")limit(optional): Maximum number of results (1-20, default: 5)
Returns:
templates: Array of matching templates with:id: Template identifiertitle: Template namedescription: Brief descriptiontaskDetails: Pre-filled task scriptrecipientPhone: Phone number (if extracted)similarityScore: Match relevance (0-1)usageCount: How many times used
total: Total number of matches foundquery: The search query used
Example Use Case:
When a user says "I want to call Xfinity to lower my bill", search for templates first. If found, use the template's taskDetails and recipientPhone to make the call immediately.
Store information about contacts, preferences, or tasks that the AI should remember.
Parameters:
content(required): Memory content to storecategory(optional): Type of memory (contact, task, preference, general)relatedPhone(optional): Associated phone numbertags(optional): Array of tags for categorizationsensitivity(optional): Security level (low, medium, high)
Search stored memories by query, category, or phone number.
Parameters:
query(required): Search querycategory(optional): Filter by categoryrelatedPhone(optional): Filter by phone numberlimit(optional): Max results (1-50, default: 10)
Get all memories related to a specific phone number.
Parameters:
phoneNumber(required): Phone number in E.164 formatlimit(optional): Max results (1-100, default: 20)
Returns:
- All memories for the contact
- AI-generated summary of the relationship
CALLZERO_API_KEY(required): Your CallZero API keyCALLZERO_API_URL(optional): Override API base URL for development
For local development or testing against a local instance:
export CALLZERO_API_KEY="callzero_your_key"
export CALLZERO_API_URL="http://localhost:3000"
callzero-mcpThis MCP server acts as a transport layer between MCP clients and CallZero HTTP APIs:
MCP Client (Claude, ChatGPT, etc.)
↓ MCP Protocol
@callzero/mcp-server (this package)
↓ HTTPS Requests
callzero.ai/api/tools/*
↓ Business Logic
CallZero Backend → AI Phone Calls
- Rate Limiting: 50 requests per minute to prevent abuse
- URL Validation: HTTPS required for production, HTTP only for localhost
- API Key Format: Must start with
callzero_prefix - No Sensitive Data: Error messages don't expose internal details
- Domain Warnings: Alerts when using non-standard API domains
The official MCP Inspector tool can be used to test all CallZero tools interactively:
# Install MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Run Inspector with CallZero
npx @modelcontextprotocol/inspector \
node dist/index.js \
--env CALLZERO_API_KEY=callzero_your_api_keyThen open http://localhost:5173 in your browser to test all tools with a visual UI.
See MCP_INSPECTOR_GUIDE.md for detailed testing instructions.
The server provides clear error messages for common issues:
- Invalid API Key: "Invalid API key format. Must start with 'callzero_'"
- Missing API Key: "CALLZERO_API_KEY environment variable is required"
- Rate Limit: "Rate limit exceeded. Please wait before making more requests"
- Insecure URL: "Insecure HTTP is only allowed for localhost"
- HTTP Errors: Detailed error messages from the CallZero API
- Validation Errors: Clear field-level validation messages
Set your API key in the environment:
export CALLZERO_API_KEY="callzero_your_api_key_here"Ensure your API key starts with callzero_. Get a valid key from callzero.ai.
Your API key may be invalid or inactive. Generate a new key from your CallZero account.
You've hit the rate limit (50 calls per 24 hours). Wait or upgrade your plan.
- MCP API: 50 calls per 24 hours per API key
- Credit System: Calls deduct from your CallZero credit balance
- Phone Number Format: US numbers only (E.164 format)
- API keys are transmitted securely via HTTPS
- No sensitive data is stored locally
- All calls are logged for audit purposes
- Access control enforced by CallZero backend
This package is part of the CallZero project. For issues or contributions:
- Issues: GitHub Issues
- Documentation: callzero.ai/docs
- Support: Contact support through the CallZero website
MIT License - see LICENSE file for details.
- Added 7 new tools for comprehensive call management
- Management Tools:
cancel_call,list_calls,get_credit_balance,share_call - Memory System:
create_memory,search_memories,get_contact_memories - Improved error handling with actionable messages
- Enhanced API key validation with prefix checking
- Initial release
- Support for
make_call,get_call_status,get_call_transcripttools - HTTP transport to CallZero production APIs
- Standard MCP protocol implementation