Conduyt MCP Server
# Conduyt MCP Server
The official [Model Context Protocol](https://modelcontextprotocol.io/) server for [Conduyt CRM](https://conduyt.com/mcp/). It lets Claude, ChatGPT and any MCP-compatible AI agent work with your Conduyt account: contacts, deals, pipelines, tasks, automations, messaging, bookings and reports.
- Product page: https://conduyt.com/mcp/
- npm package: https://www.npmjs.com/package/conduyt-mcp
- API docs: https://conduyt.app/docs
This repository mirrors the published npm package `conduyt-mcp` (version 4.71.0), which is the source of truth. It contains the compiled server in `dist/`.
## Quick start
You need a Conduyt account and an API key. Create the key in Conduyt under **Settings > API Keys**. Keys start with `cdy_`.
Add Conduyt to your MCP client config (Claude Desktop: `claude_desktop_config.json`; Claude Code: `.mcp.json`):
```json
{
"mcpServers": {
"conduyt": {
"command": "npx",
"args": ["-y", "conduyt-mcp"],
"env": {
"CONDUYT_API_URL": "https://conduyt.app",
"CONDUYT_API_KEY": "cdy_your_key_here"
}
}
}
}
```
Requires Node.js 18 or later. The server runs locally over stdio.
## Authentication
Every tool call uses your API key. Keys support three tiers:
- **read**: GET requests only
- **write**: GET, POST and PATCH
- **admin**: full access, including DELETE
Scopes can be restricted to specific modules (contacts, deals, tasks and so on). The agent can only do what the key allows; `conduyt_check_permissions` shows the current key's access.
## Environment variables
| Variable | Required | Description |
|---|---|---|
| `CONDUYT_API_URL` | Yes | Base URL, `https://conduyt.app` |
| `CONDUYT_API_KEY` | Yes | API key starting with `cdy_` |
| `CONDUYT_TIMEOUT_MS` | No | Request timeout in milliseconds |
| `CONDUYT_MAX_RESPONSE_BYTES` | No | Cap on the size of a tool result |
## Tools
292 tools, grouped by module. Each tool's description and parameter schema are served to your agent by the MCP `tools/list` call. Use `conduyt_api_catalog` to discover the underlying REST endpoints.
- **Account exports**: `conduyt_scheduled_export_get_settings`, `conduyt_scheduled_export_update_settings`, `conduyt_account_exports_list`
- **Activities**: `conduyt_list_activities`, `conduyt_create_activity`
- **Ai**: `conduyt_ai_insights`
- **Ai extended**: `conduyt_ai_compose_email`, `conduyt_ai_enrich_contact`, `conduyt_ai_summarize_contact`, `conduyt_ai_chat`, `conduyt_ai_improve_email`, `conduyt_ai_deal_insights`, `conduyt_ai_conversation_intelligence`, `conduyt_ai_call_disposition`, `conduyt_ai_agenda`, `conduyt_ai_plan_actions`, `conduyt_ai_execute_actions`, `conduyt_reply_suggestion`, `conduyt_reply_suggestion_decide`, `conduyt_ai_daily_brief`, `conduyt_ai_next_actions`, `conduyt_ai_feed`, `conduyt_ai_usage`, `conduyt_ai_task_import_and_enroll`, `conduyt_ai_task_segment_and_act`, `conduyt_ai_task_pipeline_cleanup`
- **Automations**: `conduyt_list_automations`, `conduyt_get_automation`, `conduyt_create_automation`, `conduyt_update_automation`, `conduyt_publish_automation`, `conduyt_resolve_names`
- **Batch operations**: `conduyt_create_batch_operation`, `conduyt_list_batch_operations`, `conduyt_get_batch_operation`, `conduyt_cancel_batch_operation`
- **Booking pages**: `conduyt_list_booking_pages`, `conduyt_get_booking_page`, `conduyt_create_booking_page`, `conduyt_update_booking_page`
- **Bulk**: `conduyt_ai_import_contacts`, `conduyt_export_contacts`, `conduyt_export_deals`, `conduyt_bulk_tag_contacts`, `conduyt_bulk_untag_contacts`, `conduyt_bulk_edit_contacts`, `conduyt_bulk_update_contacts`, `conduyt_bulk_delete_contacts`, `conduyt_bulk_delete_contacts_matching`, `conduyt_bulk_dnc_contacts`, `conduyt_bulk_edit_deals`, `conduyt_bulk_update_deals`, `conduyt_import_preflight`
- **Calendar**: `conduyt_list_calendars`, `conduyt_list_appointments`, `conduyt_get_appointment`, `conduyt_create_appointment`, `conduyt_update_appointment`, `conduyt_appointment_outcome`, `conduyt_appointment_outcome_undo`
- **Call flows**: `conduyt_list_call_flows`, `conduyt_get_call_flow`, `conduyt_create_call_flow`, `conduyt_update_call_flow`, `conduyt_delete_call_flow`, `conduyt_validate_call_flow`, `conduyt_publish_call_flow`, `conduyt_unpublish_call_flow`, `conduyt_simulate_call_flow`, `conduyt_call_flow_roster`, `conduyt_list_ring_groups`, `conduyt_get_ring_group`, `conduyt_create_ring_group`, `conduyt_update_ring_group`, `conduyt_delete_ring_group`, `conduyt_release_ring_group_number`, `conduyt_list_call_flow_numbers`, `conduyt_get_call_flow_wiring`, `conduyt_wire_call_flow_number`, `conduyt_release_call_flow_tombstone`, `conduyt_upload_call_flow_audio`, `conduyt_list_call_flow_functions`, `conduyt_create_call_flow_function`, `conduyt_update_call_flow_function`, `conduyt_delete_call_flow_function`, `conduyt_test_call_flow_function`
- **Calls**: `conduyt_list_calls`, `conduyt_get_call`, `conduyt_get_post_call_insight`, `conduyt_sync_local_presence`
- **Companies**: `conduyt_list_companies`, `conduyt_get_company`, `conduyt_create_company`, `conduyt_update_company`
- **Contacts**: `conduyt_list_contacts`, `conduyt_get_contact`, `conduyt_create_contact`, `conduyt_update_contact`, `conduyt_delete_contact`, `conduyt_add_tags`, `conduyt_link_contact_to_deal`, `conduyt_verify_line_type`
- **Custom fields**: `conduyt_list_custom_fields`, `conduyt_create_custom_field`, `conduyt_update_custom_field`, `conduyt_delete_custom_field`, `conduyt_get_contact_table_defaults`, `conduyt_set_contact_table_defaults`
- **Dashboard**: `conduyt_dashboard`
- **Dashboards**: `conduyt_list_dashboards`, `conduyt_create_dashboard`, `conduyt_get_dashboard`, `conduyt_update_dashboard`, `conduyt_delete_dashboard`, `conduyt_add_dashboard_tile`, `conduyt_update_dashboard_tile`, `conduyt_remove_dashboard_tile`, `conduyt_run_dashboard`
- **Deals**: `conduyt_list_deals`, `conduyt_get_deal`, `conduyt_create_deal`, `conduyt_update_deal`, `conduyt_delete_deal`, `conduyt_import_deals`, `conduyt_add_deal_tags`, `conduyt_list_deal_views`
- **Dialer settings**: `conduyt_get_dialer_settings`, `conduyt_update_dialer_settings`, `conduyt_get_call_recording_settings`, `conduyt_update_call_recording_settings`
- **Discovery**: `conduyt_api_catalog`, `conduyt_check_permissions`, `conduyt_search`, `conduyt_mcp_coverage`
- **Dnc**: `conduyt_list_dnc`, `conduyt_add_dnc`, `conduyt_remove_dnc`
- **Drip campaigns**: `conduyt_list_drip_campaigns`, `conduyt_get_drip_campaign`, `conduyt_create_drip_campaign`, `conduyt_update_drip_campaign`, `conduyt_list_drip_enrollments`, `conduyt_batch_pause_enrollments`, `conduyt_batch_resume_enrollments`, `conduyt_batch_stop_enrollments`, `conduyt_cancel_drip_enrollment_barrier`
- **Forms**: `conduyt_list_forms`, `conduyt_get_form`, `conduyt_create_form`, `conduyt_list_form_submissions`
- **Fromk**: `conduyt_fromk_status`, `conduyt_fromk_lines`, `conduyt_fromk_connect`, `conduyt_fromk_webhook_secret`
- **Invoices**: `conduyt_list_invoices`, `conduyt_get_invoice`, `conduyt_create_invoice`, `conduyt_update_invoice`, `conduyt_send_invoice`
- **Lead pool**: `conduyt_list_pool_filter_sets`, `conduyt_create_pool_filter_set`, `conduyt_update_pool_filter_set`, `conduyt_delete_pool_filter_set`, `conduyt_get_lead_pool_settings`, `conduyt_update_lead_pool_settings`, `conduyt_list_up_for_grabs`
- **Lifecycle**: `conduyt_get_lifecycle_settings`, `conduyt_update_intake_deals`, `conduyt_update_deal_working_mode`, `conduyt_update_lost_propagation`, `conduyt_update_disposition_status_map`, `conduyt_get_agent_statuses`, `conduyt_update_agent_statuses`, `conduyt_update_master_statuses`
- **Messaging**: `conduyt_sms_transports`, `conduyt_whatsapp_templates`, `conduyt_voice_drop`, `conduyt_send_sms`, `conduyt_send_email`, `conduyt_get_conversation`, `conduyt_list_messages`, `conduyt_sms_delivery_report`, `conduyt_sms_drip_conversion_report`, `conduyt_speed_to_lead_report`, `conduyt_attribution_report`, `conduyt_agent_performance_report`, `conduyt_list_targets`, `conduyt_set_targets`, `conduyt_call_performance_report`, `conduyt_appointment_report`, `conduyt_funnel_report`
- **Notifications**: `conduyt_list_notifications`, `conduyt_create_notification`
- **Pipelines**: `conduyt_list_pipelines`, `conduyt_create_pipeline`, `conduyt_update_pipeline`, `conduyt_delete_pipeline`, `conduyt_create_stage`, `conduyt_update_stage`, `conduyt_delete_stage`
- **Privacy**: `conduyt_export_contact_data`, `conduyt_forget_contact`
- **Products**: `conduyt_list_products`, `conduyt_get_product`, `conduyt_create_product`, `conduyt_update_product`
- **Project blue**: `conduyt_project_blue_status`, `conduyt_project_blue_lines`, `conduyt_project_blue_assign_line`, `conduyt_project_blue_voice_status`, `conduyt_project_blue_voice_connect`
- **Reply capture**: `conduyt_reply_capture_get`, `conduyt_reply_capture_setup`, `conduyt_reply_capture_verify`, `conduyt_reply_capture_remove`
- **Reports**: `conduyt_report_fields`, `conduyt_list_reports`, `conduyt_create_report`, `conduyt_run_report`, `conduyt_preview_report`, `conduyt_update_report`, `conduyt_export_report`, `conduyt_list_report_schedules`, `conduyt_create_report_schedule`, `conduyt_update_report_schedule`, `conduyt_delete_report_schedule`, `conduyt_send_report_schedule_now`, `conduyt_report_schedule_deliveries`
- **Saved filters**: `conduyt_list_saved_filters`, `conduyt_create_saved_filter`, `conduyt_update_saved_filter`, `conduyt_delete_saved_filter`
- **Scoring**: `conduyt_list_scoring_rules`, `conduyt_create_scoring_rule`, `conduyt_update_scoring_rule`, `conduyt_delete_scoring_rule`, `conduyt_recalculate_scores`
- **Sequences**: `conduyt_list_sequences`, `conduyt_get_sequence`, `conduyt_create_sequence`, `conduyt_enroll_in_sequence`, `conduyt_unenroll_from_sequence`
- **Smart lists**: `conduyt_list_smart_lists`, `conduyt_get_smart_list`, `conduyt_create_smart_list`, `conduyt_update_smart_list`, `conduyt_add_contacts_to_smart_list`, `conduyt_get_smart_list_contacts`
- **Smart views**: `conduyt_list_smart_views`, `conduyt_update_smart_view_dialing`, `conduyt_get_smart_dialing_order`, `conduyt_set_smart_dialing_order`, `conduyt_set_smart_view_audience`, `conduyt_reorder_smart_views`, `conduyt_move_smart_view`
- **Tags**: `conduyt_list_tags`, `conduyt_create_tag`, `conduyt_update_tag`, `conduyt_delete_tag`, `conduyt_merge_tags`
- **Tasks**: `conduyt_list_tasks`, `conduyt_create_task`, `conduyt_get_task`, `conduyt_update_task`, `conduyt_complete_task`, `conduyt_delete_task`
- **Templates**: `conduyt_list_templates`, `conduyt_get_template`, `conduyt_create_template`, `conduyt_update_template`
- **Users**: `conduyt_list_users`, `conduyt_get_user`, `conduyt_create_user`, `conduyt_update_user`, `conduyt_get_user_stats`, `conduyt_invite_user`, `conduyt_deactivate_user`, `conduyt_reactivate_user`
- **Webhooks**: `conduyt_list_webhooks`, `conduyt_create_webhook`, `conduyt_update_webhook`, `conduyt_delete_webhook`, `conduyt_cancel_webhook_log`
- **Whatsapp**: `conduyt_whatsapp_status`, `conduyt_whatsapp_senders`, `conduyt_whatsapp_connect`
- **Workflow sandbox**: `conduyt_workflow_validate`, `conduyt_workflow_simulate`, `conduyt_workflow_promote`
- **Zoom**: `conduyt_zoom_status`, `conduyt_zoom_connect`, `conduyt_zoom_test`
## Questions?
Ask in [GitHub Discussions](https://github.com/ptaramona/conduyt-mcp-server/discussions/categories/q-a). Setup questions, tool requests and ideas are all welcome there, and answers stay searchable for the next person.
For account or billing help, contact Conduyt at https://conduyt.com/contact/
## License
MIT
TDQS
Scored across 292 tools
The set has many overlapping clusters: AI insight tools (ai_insights, ai_summarize_contact, ai_daily_brief, ai_agenda, ai_next_actions, ai_feed, ai_chat), dashboard/report tools, sequence vs drip-campaign tools, and bulk edit vs bulk update variants. Detailed descriptions help, but with 292 tools an agent will often struggle to select the right one without first reading several similar candidates.
All names share the conduyt_ prefix and snake_case, which is helpful, but the verb_noun pattern is not consistent: many tools are noun phrases or configuration endpoints (conduyt_api_catalog, conduyt_mcp_coverage, conduyt_dashboard, conduyt_sms_transports, conduyt_voice_drop, conduyt_whatsapp_templates, conduyt_call_flow_roster). The conventions are readable but mixed enough to fall short of a predictable pattern.
292 tools is an extreme surface for a single MCP server and far beyond what an agent can reliably scan or choose from. Even though the CRM domain is broad, the count creates substantial cognitive and selection overhead, with many niche settings and reporting tools crowding out core actions.
Coverage is extensive across contacts, deals, tasks, pipelines, reporting, automations, calls, messaging, billing, settings, and integrations, with many lifecycle operations present. Some gaps remain, such as missing delete/update operations for a few core entities (appointments, activities, products, templates, invoices, sequences), but most workflows have workarounds.