MCP Tools Reference
Complete reference for all 18 SmartAlex MCP tools, organized by domain. Each tool includes its description, parameters, and example usage.Contacts
list_contacts
List and search contacts with filters. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Search by name, email, or phone number |
tags | string[] | No | Filter by one or more tags |
created_after | string | No | ISO 8601 date — only contacts created after this date |
created_before | string | No | ISO 8601 date — only contacts created before this date |
limit | number | No | Maximum results to return (default: 50, max: 200) |
offset | number | No | Pagination offset (default: 0) |
get_contact
Get a specific contact by ID with full details. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
contact_id | string | Yes | The contact ID |
create_contact
Create a new contact. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | Yes | Contact’s first name |
last_name | string | Yes | Contact’s last name |
email | string | No | Email address |
phone | string | No | Phone number in E.164 format (e.g., +15551234567) |
company | string | No | Company name |
job_title | string | No | Job title |
tags | string[] | No | Tags to assign |
custom_fields | object | No | Key-value pairs for custom fields |
notes | string | No | Free-text notes |
update_contact
Update contact details. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
contact_id | string | Yes | The contact ID to update |
first_name | string | No | Updated first name |
last_name | string | No | Updated last name |
email | string | No | Updated email address |
phone | string | No | Updated phone number in E.164 format |
company | string | No | Updated company name |
job_title | string | No | Updated job title |
tags | string[] | No | Replace all tags (use add_tags/remove_tags for incremental) |
add_tags | string[] | No | Tags to add without replacing existing |
remove_tags | string[] | No | Tags to remove |
custom_fields | object | No | Custom fields to update (merged with existing) |
notes | string | No | Updated notes (replaces existing) |
Agents
list_agents
List all voice agents with status and configuration summary. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: active, inactive, draft |
limit | number | No | Maximum results (default: 50) |
get_agent
Get full agent details including prompt, voice settings, and tools. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
agent_id | string | Yes | The agent ID |
Campaigns
list_campaigns
List campaigns with status filters. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: active, paused, completed, draft |
created_after | string | No | ISO 8601 date filter |
limit | number | No | Maximum results (default: 50) |
offset | number | No | Pagination offset |
get_campaign
Get campaign details and analytics. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_id | string | Yes | The campaign ID |
Calls
list_calls
List recent calls with filters. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
agent_id | string | No | Filter by agent |
campaign_id | string | No | Filter by campaign |
direction | string | No | Filter by direction: inbound, outbound |
status | string | No | Filter by status: completed, missed, voicemail, failed |
date_from | string | No | ISO 8601 start date |
date_to | string | No | ISO 8601 end date |
limit | number | No | Maximum results (default: 50, max: 200) |
offset | number | No | Pagination offset |
get_call
Get full call details including transcript, recording, and analysis. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
call_id | string | Yes | The call ID |
Deals
list_deals
List deals in pipeline with filters. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
stage | string | No | Filter by stage: lead, qualified, proposal, negotiation, closed_won, closed_lost |
min_value | number | No | Minimum deal value |
max_value | number | No | Maximum deal value |
owner_id | string | No | Filter by deal owner |
created_after | string | No | ISO 8601 date filter |
limit | number | No | Maximum results (default: 50) |
offset | number | No | Pagination offset |
get_deal
Get deal details including history and activities. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
deal_id | string | Yes | The deal ID |
create_deal
Create a new deal in the pipeline. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Deal name |
value | number | Yes | Deal value |
currency | string | No | Currency code (default: USD) |
stage | string | No | Pipeline stage (default: lead) |
contact_id | string | No | Associated contact ID |
company | string | No | Company name |
expected_close_date | string | No | Expected close date (YYYY-MM-DD) |
probability | number | No | Win probability 0.0 to 1.0 |
notes | string | No | Deal notes |
update_deal
Update deal status, stage, value, or details. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
deal_id | string | Yes | The deal ID to update |
name | string | No | Updated deal name |
value | number | No | Updated deal value |
currency | string | No | Updated currency |
stage | string | No | Updated stage |
probability | number | No | Updated win probability |
expected_close_date | string | No | Updated expected close date |
contact_id | string | No | Updated associated contact |
notes | string | No | Updated notes |
Webhooks
list_webhooks
List all configured webhook endpoints. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: active, inactive |
create_webhook
Create a new webhook endpoint for specific events. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The webhook endpoint URL (must be HTTPS) |
events | string[] | Yes | Event types to subscribe to |
secret | string | No | Signing secret for payload verification |
description | string | No | Human-readable description |
| Event | Description |
|---|---|
call.started | A call has started |
call.completed | A call has ended |
call.failed | A call failed to connect |
contact.created | A new contact was created |
contact.updated | A contact was updated |
deal.created | A new deal was created |
deal.stage_changed | A deal moved to a new stage |
deal.closed | A deal was closed (won or lost) |
campaign.started | A campaign was activated |
campaign.completed | A campaign finished all contacts |
agent.status_changed | An agent’s status changed |
delete_webhook
Remove a webhook endpoint. Parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
webhook_id | string | Yes | The webhook ID to delete |
Platform
get_platform_status
Get platform health, usage statistics, and account summary. Parameters: None required. Example usage:Error Responses
All tools return consistent error responses:| Code | Status | Description |
|---|---|---|
bad_request | 400 | Invalid parameters |
unauthorized | 401 | Missing or invalid API key |
forbidden | 403 | Insufficient permissions |
not_found | 404 | Resource not found |
rate_limited | 429 | Too many requests — check Retry-After header |
internal_error | 500 | Server error — retry or contact support |
Related Pages
- MCP Overview — Architecture, resources, prompts, and workflows
- Getting Started — Connect SmartAlex to your AI assistant in 2 minutes

