Quick Start
Get your API key
Go to your OpenCX Dashboard and navigate to Settings > API Keys > Create API Key. Copy the generated key.
Start using it
Ask your AI assistant something like:
- “List my recent chat sessions”
- “Create a new contact with email hello@example.com”
- “Show me customer insights from this week”
- “Search my knowledge base for refund policy”
- “Create a training scenario for password reset questions”
- “Show me the handoff analytics for the last 7 days”
Available Tools
The MCP server exposes the following tools organized by domain:Contacts
| Tool | Description |
|---|---|
list_contacts | List contacts with cursor pagination |
create_contact | Create a new contact (email, phone, name, custom data) |
update_contact | Update contact fields |
delete_contact | Delete a contact by ID |
Chat Sessions
| Tool | Description |
|---|---|
list_sessions | List sessions with filters (status, channel, date range) |
get_session | Get session details by ID |
create_session | Create a new chat session for a contact |
update_session | Update session status (resolve, close, reopen) |
send_message | Send a message in a session (as contact or agent) |
get_session_history | Get message history for a session |
AI Training
| Tool | Description |
|---|---|
list_training_scenarios | List all custom training scenarios |
get_training_scenario | Get a single scenario by ID |
create_training_scenario | Create a scenario (supports type, draft, channels, segments) |
update_training_scenario | Update an existing scenario |
delete_training_scenario | Delete a scenario |
toggle_training_draft | Publish or unpublish a scenario |
move_training_to_directory | Move a scenario into a directory |
search_training_knowledge | Semantic search across training and knowledge base |
Training Directories
| Tool | Description |
|---|---|
list_training_directories | List all directories |
get_training_directory_tree | Get full directory tree with items |
create_training_directory | Create a new directory |
update_training_directory | Rename a directory |
delete_training_directory | Delete a directory and its contents |
AI Actions
| Tool | Description |
|---|---|
list_actions | List all actions the AI agent can call |
get_action | Get an action with its full OpenAPI payload spec |
create_action | Create a new action with typed parameters and request body |
update_action | Update an existing action |
delete_action | Delete a single action |
list_action_tags | List all unique tags across actions |
Website Crawling
| Tool | Description |
|---|---|
list_datasources | List website datasources |
create_datasource | Create a new website datasource to crawl |
get_datasource | Get datasource details |
start_crawl | Trigger a crawl for a datasource |
get_crawl_status | Get status of a crawl job |
list_crawled_pages | List pages from a crawl |
Customer Insights
| Tool | Description |
|---|---|
list_insights | List customer insights with pagination |
get_insight | Get a specific insight |
resolve_insight | Mark an insight as resolved |
assign_insight | Assign an insight to a team |
list_insight_categories | List insight categories |
Teams
| Tool | Description |
|---|---|
list_teams | List all teams |
get_team | Get team details |
create_team | Create a new team |
update_team | Update a team |
delete_team | Delete a team |
list_team_members | List users in a team |
add_team_member | Add a user to a team |
remove_team_member | Remove a user from a team |
| Tool | Description |
|---|---|
send_email | Send AI-generated emails to contacts |
list_email_domains | List configured email domains |
add_email_domain | Add a custom sending domain |
verify_email_domain | Verify a domain’s DNS records |
AI Phone Agents
| Tool | Description |
|---|---|
list_voices | List available voices (ID, name, accent, gender, preview) |
list_phone_agents | List all phone agents with full details |
get_phone_agent | Get a phone agent’s complete configuration |
create_phone_agent | Create an agent (LiveKit default, voice selection, instructions) |
update_phone_agent | Update agent voice, language, instructions, etc. |
delete_phone_agent | Delete a phone agent and release its number |
make_outbound_call | Call a contact or phone number via an AI agent |
Outbound Sequences
| Tool | Description |
|---|---|
create_sequence | Create an outbound sequence |
get_sequence | Get sequence details |
update_sequence | Update a sequence |
start_sequence | Start a sequence |
cancel_sequence | Cancel a running sequence |
add_contacts_to_sequence | Enroll contacts in a sequence |
Tags
| Tool | Description |
|---|---|
list_tags | List all tags in your organization |
list_tags_in_use | List tags actually applied to sessions |
upsert_tag | Create or update a tag |
delete_tag | Remove a tag |
get_auto_tagging_status | Check if AI auto-tagging is enabled |
set_auto_tagging | Enable or disable AI auto-tagging |
Office Hours
| Tool | Description |
|---|---|
list_office_hours | List all office hours schedules |
get_office_hours | Get a schedule with all its shifts |
create_office_hours | Create a schedule with timezone and shifts |
update_office_hours | Update a schedule (replaces all shifts) |
delete_office_hours | Delete a schedule and its shifts |
Organization
| Tool | Description |
|---|---|
get_organization | Get organization info |
update_organization | Update organization name |
CSAT
| Tool | Description |
|---|---|
list_csat_scores | List customer satisfaction scores |
get_csat_score | Get a specific CSAT score |
get_session_csat | Get CSAT score for a session |
Handoff Analytics
| Tool | Description |
|---|---|
get_handoff_analytics | Get AI-to-human handoff analytics (reasons, sentiment, trends) |
| Tool | Description |
|---|---|
send_whatsapp_template | Send a WhatsApp template message |
Configuration
| Environment Variable | Required | Default | Description |
|---|---|---|---|
OPENCX_API_KEY | Yes | — | Your OpenCX API key |
OPENCX_BASE_URL | No | https://api.open.cx | API base URL (for self-hosted instances) |
Requirements
- Node.js 18 or later
- An OpenCX account with an API key