Skip to content
Scalekit Docs

Clarify MCP

Vendor MCP38 toolsOAuth 2.1/DCRCRM & SalesProductivityAnalytics

Connect to Clarify MCP to manage CRM records, leads, campaigns, lists, and analytics directly from your AI workflows.

Clarify MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'clarifymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Clarify MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'clarifymcp_get_agents',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Manage CRM records — create, update, delete, and query records across any custom object type
  • Manage campaigns — create, update, delete, and list outreach campaigns with multi-step email sequences
  • Find and import leads — search for leads by criteria and import them into campaigns or lists
  • Manage lists and segments — create, update, delete, and list audience lists for targeting
  • Extend the data model — create, update, and delete custom objects and fields to match your schema
  • Analyze and query data — run analytics queries and retrieve structured data with custom filters

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

clarifymcp_add_comment#Add a Markdown comment to a supported Clarify entity (deal, person, company, etc.).3 params

Add a Markdown comment to a supported Clarify entity (deal, person, company, etc.).

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
idstringrequiredThe unique ID of the record (e.g. per_01ABCDE for a person, cmp_01ABCDE for a company).
messagestringrequiredThe comment text in Markdown format. Supports **bold**, *italic*, and bullet lists.
clarifymcp_create_campaign#Create a new email campaign (sequence) in draft mode, with subject/body/timing steps.5 params

Create a new email campaign (sequence) in draft mode, with subject/body/timing steps.

NameTypeRequiredDescription
campaign_namestringrequiredCampaign name.
email_stepsarrayrequiredEmail steps with subject, body, and delay_after_days, in send order.
descriptionstringoptionalCampaign description.
from_emailstringoptionalEmail address of the connected account to send this campaign from. Defaults to the primary account when omitted.
list_idstringoptionalTarget list ID. Get from get_lists. Optional for drafts.
clarifymcp_create_email_draft#Create an email draft in the user's connected Gmail or Outlook account for them to review and send themselves. Nothing is sent.9 params

Create an email draft in the user's connected Gmail or Outlook account for them to review and send themselves. Nothing is sent.

NameTypeRequiredDescription
bodystringrequiredEmail body content as plain text (converted to rich text; supports bullet/numbered lists, bold section labels, blank-line paragraph breaks, and markdown links).
subjectstringrequiredEmail subject line.
toarrayrequiredEmail addresses to send to.
bccarrayoptionalEmail addresses to BCC.
ccarrayoptionalEmail addresses to CC.
confirmedNewRecipientsarrayoptionalRecipient addresses that match no CRM person record but that the user supplied or confirmed verbatim.
fromstringoptionalAddress to draft from. Only set this when the user explicitly asks to draft from a specific alias; otherwise omit to use the connected account's primary address.
replacesDraftIdstringoptionalNylas draft ID of a previous draft in this conversation that this call is revising. When set, the existing draft is updated in place instead of creating a duplicate.
replyToMessageIdstringoptionalShort Nylas message_id of the inbound email being replied to. Set this when drafting a reply on an existing thread. Do not pass a Clarify record _id or a Nylas draft id here.
clarifymcp_create_or_update_agent#Create or update an autonomous agent: its triggers, instructions, model tier, allowed tools, and MCP connectors.11 params

Create or update an autonomous agent: its triggers, instructions, model tier, allowed tools, and MCP connectors.

NameTypeRequiredDescription
agentIdstringoptionalThe ID of an existing agent to update. Omit to create a new agent.
descriptionstringoptionalShort description of the agent (up to 300 characters). Required when creating a new agent.
enabledbooleanoptionalWhether the agent is enabled. Only applicable when updating an existing agent. New agents are created enabled.
instructionsstringoptionalThe instructions that define how the agent behaves. Markdown up to 30,000 characters. Required when creating a new agent.
mcp_serversobjectoptionalMCP connector configuration keyed by server ID. Each server maps tool names to permissions. This is a full replacement; omit to keep existing servers unchanged.
modelstringoptionalModel tier the agent runs on. "fast" is cheaper and faster for simple, deterministic work. "smart" (default) is for multi-step reasoning and judgment.
namestringoptionalAgent name (1-64 characters). Required when creating a new agent.
throttlestringoptionalCaps how many times this agent may run per hour. Throttles are hourly only. Omit to leave unchanged; pass null to reset to the default of 100 runs/hour.
toolsobjectoptionalMap of tool name to permission. Only listed tools are available to the agent. This is a full replacement; omit to keep existing tools unchanged.
triggersarrayoptionalTriggers that activate the agent. Each trigger specifies an event the agent responds to. An agent can have multiple triggers.
visibilitystringoptionalControls agent run visibility. "public" lets anyone in the workspace see the agent's runs. "private" restricts runs to the creator only. Defaults to "private".
clarifymcp_create_or_update_calendar_event#Create a new calendar event, or update an existing one by event_id.9 params

Create a new calendar event, or update an existing one by event_id.

NameTypeRequiredDescription
descriptionstringoptionalEvent description. Maximum 8000 characters.
event_idstringoptionalExisting Nylas event ID (from get_calendar_events) to update. Omit to create a new event.
locationstringoptionalEvent location, maximum 255 characters. Omit to leave unchanged on update; passing an empty string clears the field.
notify_participantsbooleanoptionalWhether to send invite/update emails. Defaults to true on create, false on update.
participantsarrayoptionalEmail addresses to invite or update.
participants_modestringoptionalHow to apply participants on update. 'add' (default) merges the listed emails into the existing attendee list. 'replace' substitutes the entire attendee list.
recurrencearrayoptionalOptional RRULE strings (RFC 5545) to make the event recurring. Update and delete operations apply to the whole series.
titlestringoptionalRequired when creating; optional when updating. Maximum 1024 characters.
whenstringoptionalRequired when creating. When updating, provide only if rescheduling.
clarifymcp_create_or_update_campaign#Create a new email campaign or update an existing one by its ID.4 params

Create a new email campaign or update an existing one by its ID.

NameTypeRequiredDescription
campaign_namestringrequiredName of the campaign. Required when creating a new campaign.
email_stepsarrayrequiredArray of email step definitions for the campaign sequence.
campaign_idstringoptionalID of an existing campaign to update. Omit to create a new campaign.
statusstringoptionalCampaign status — draft (default) or active.
clarifymcp_create_or_update_custom_object#Create a new custom object type or update an existing one in the Clarify workspace.4 params

Create a new custom object type or update an existing one in the Clarify workspace.

NameTypeRequiredDescription
descriptionstringoptionalAI context description for this object type — helps the AI understand when to use it.
entitystringoptionalThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
namestringoptionalDisplay name for the custom object type. Will be normalized to a slug for the entity identifier.
pluralstringoptionalPlural label for the custom object type (e.g. Partnerships for a singular Partnership).
clarifymcp_create_or_update_fields#Create new custom fields or update existing fields on any Clarify entity (person, company, deal, or custom object).2 params

Create new custom fields or update existing fields on any Clarify entity (person, company, deal, or custom object).

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
fieldsarrayrequiredArray of field definitions to create or update on the entity.
clarifymcp_create_or_update_list#Create or update a dynamic list — a saved view whose membership is defined by a SQL query.6 params

Create or update a dynamic list — a saved view whose membership is defined by a SQL query.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
descriptionstringoptionalAI context description for this object type — helps the AI understand when to use it.
emojistringoptionalA single emoji to display alongside the list name.
list_idstringoptionalThe ID of an existing list (saved view). Use get_lists to find available list IDs.
sqlstringoptionalSQL query to execute. For query_data use PostgreSQL syntax; for query_analytics use ClickHouse SQL.
titlestringoptionalThe display name of the list.
clarifymcp_create_or_update_records#Create new records or update existing ones in Clarify. Supports bulk operations of up to 25 records per call.2 params

Create new records or update existing ones in Clarify. Supports bulk operations of up to 25 records per call.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
recordsarrayrequiredArray of records to create or update. Each item contains an attributes object with field values.
clarifymcp_delete_agent#Permanently delete an agent by its ID. Only the creator of an agent can delete it.1 param

Permanently delete an agent by its ID. Only the creator of an agent can delete it.

NameTypeRequiredDescription
agentIdstringrequiredThe ID of the agent to delete.
clarifymcp_delete_calendar_event#Cancel a calendar event the user owns or has edit access to.2 params

Cancel a calendar event the user owns or has edit access to.

NameTypeRequiredDescription
event_idstringrequiredThe Nylas event ID (from get_calendar_events) to cancel.
notify_participantsbooleanoptionalSend cancellation notices to attendees. Default: true.
clarifymcp_delete_campaign#Permanently delete an email campaign by its ID.1 param

Permanently delete an email campaign by its ID.

NameTypeRequiredDescription
campaign_idstringrequiredThe ID of the campaign. Use get_campaigns to list available campaigns and their IDs.
clarifymcp_delete_custom_object#Permanently delete a custom object type from the Clarify workspace by its entity identifier.1 param

Permanently delete a custom object type from the Clarify workspace by its entity identifier.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
clarifymcp_delete_fields#Permanently delete one or more custom fields from a Clarify entity by their field slugs.2 params

Permanently delete one or more custom fields from a Clarify entity by their field slugs.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
fieldNamesarrayrequiredArray of field slugs (snake_case) to delete from the entity.
clarifymcp_delete_list#Permanently delete a saved list (dynamic view) by its ID.2 params

Permanently delete a saved list (dynamic view) by its ID.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
list_idstringrequiredThe ID of an existing list (saved view). Use get_lists to find available list IDs.
clarifymcp_delete_records#Permanently delete one or more records by their IDs. Supports bulk deletion of up to 25 records per call.2 params

Permanently delete one or more records by their IDs. Supports bulk deletion of up to 25 records per call.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
record_idsarrayrequiredArray of record IDs to delete. All must belong to the same entity type.
clarifymcp_find_leads#Search Clarify's built-in prospect database of 28M+ companies and 175M+ people to find new leads.4 params

Search Clarify's built-in prospect database of 28M+ companies and 175M+ people to find new leads.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
search_labelstringrequiredA descriptive label for this lead search (e.g. SF SaaS Companies 50+ employees).
sqlstringrequiredSQL query to execute. For query_data use PostgreSQL syntax; for query_analytics use ClickHouse SQL.
search_identifiersstringoptionalOptional: provide a prior searchId and versionId to operate on an existing search.
clarifymcp_get_agent_runs#List an agent's past runs, or fetch one run with its full message transcript.4 params

List an agent's past runs, or fetch one run with its full message transcript.

NameTypeRequiredDescription
agent_idstringrequiredThe ID of the agent whose runs to list or fetch.
limitintegeroptionalMaximum number of runs to return when listing.
offsetintegeroptionalOffset for pagination when listing.
run_idstringoptionalOptional ID of a specific run to fetch in full, including transcript. Omit to list recent runs.
clarifymcp_get_agents#List agents visible to the current user, or fetch a single agent by ID.1 param

List agents visible to the current user, or fetch a single agent by ID.

NameTypeRequiredDescription
agentIdstringoptionalThe ID of a specific agent to fetch. Omit to list all visible agents.
clarifymcp_get_calendar_events#List the current user's calendar events in a time range.4 params

List the current user's calendar events in a time range.

NameTypeRequiredDescription
endstringrequiredISO 8601 end of the time range (exclusive).
startstringrequiredISO 8601 start of the time range (inclusive).
limitintegeroptionalMaximum events to return.
querystringoptionalOptional substring match against event title or description.
clarifymcp_get_campaign_recipients#List the people enrolled in a campaign along with their per-recipient engagement (opens, clicks, replies).6 params

List the people enrolled in a campaign along with their per-recipient engagement (opens, clicks, replies).

NameTypeRequiredDescription
campaign_idstringrequiredThe ID of the campaign to list recipients for. Get it from get_campaigns.
eventarrayoptionalReturn only recipients who did at least one of these event types.
limitnumberoptionalMaximum number of recipients to return.
offsetnumberoptionalUse with limit for pagination.
searchstringoptionalCase-insensitive substring match against recipient name or email address.
statusstringoptionalReturn only recipients in this delivery state.
clarifymcp_get_campaigns#List email campaigns in the workspace, or fetch a single campaign by ID with full details.5 params

List email campaigns in the workspace, or fetch a single campaign by ID with full details.

NameTypeRequiredDescription
campaign_idstringoptionalThe ID of the campaign. Use get_campaigns to list available campaigns and their IDs.
limitnumberoptionalMaximum number of records to return per page.
offsetnumberoptionalNumber of records to skip for pagination (use with limit).
searchstringoptionalCase-insensitive substring search to filter results by name or title.
statusstringoptionalFilter by campaign status — draft (unpublished) or active (live campaigns).
clarifymcp_get_current_user#Retrieve information about the currently authenticated Clarify user, including timezone and workspace details.1 param

Retrieve information about the currently authenticated Clarify user, including timezone and workspace details.

NameTypeRequiredDescription
mcp_client_timezonestringoptionalYour IANA timezone string (e.g. America/New_York). Helps Clarify show times in your local timezone.
clarifymcp_get_lists#List saved views (dynamic lists) for an entity type, or fetch a single list by ID.5 params

List saved views (dynamic lists) for an entity type, or fetch a single list by ID.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
limitnumberoptionalMaximum number of records to return per page.
list_idstringoptionalThe ID of an existing list (saved view). Use get_lists to find available list IDs.
offsetnumberoptionalNumber of records to skip for pagination (use with limit).
searchstringoptionalCase-insensitive substring search to filter results by name or title.
clarifymcp_get_records#Retrieve full details for one or more Clarify records by their IDs.2 params

Retrieve full details for one or more Clarify records by their IDs.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
idsarrayrequiredArray of record IDs to retrieve. Use query_data to find IDs first.
clarifymcp_get_schema#Retrieve the schema for Clarify entities, including field definitions and relationship metadata.2 params

Retrieve the schema for Clarify entities, including field definitions and relationship metadata.

NameTypeRequiredDescription
entitiesarrayoptionalList of entity types to get schema for. Omit to return the schema for all entities.
formatstringoptionalSchema format — use read for querying data or write for creating/updating records.
clarifymcp_import_leads#Import leads from a find_leads search result into your Clarify workspace.7 params

Import leads from a find_leads search result into your Clarify workspace.

NameTypeRequiredDescription
searchEmojistringrequiredA single emoji representing the theme of the search.
searchIdstringrequiredThe ID of the lead search returned by find_leads.
searchTitlestringrequiredA descriptive title for the search based on its filters.
sourceEntitystringrequiredThe lead entity type to import from — tam_company or tam_person.
countintegeroptionalNumber of leads to import. Omit to import all leads in the search.
extraFieldsarrayoptionalAdditional TAM field names to import beyond the default fields.
versionIdstringoptionalThe version ID of the search. Use the versionId from a prior find_leads result when available.
clarifymcp_import_meeting_transcript#Import a meeting transcript from an external source (Granola, Notion, or Circleback) and attach it to a Clarify meeting.3 params

Import a meeting transcript from an external source (Granola, Notion, or Circleback) and attach it to a Clarify meeting.

NameTypeRequiredDescription
meeting_idstringrequiredThe Clarify meeting ID to attach the transcript to.
sourcestringrequiredThe transcript source provider.
source_idstringrequiredThe ID of the transcript in the source system. For Granola: meeting UUID. For Notion: page URL or UUID. For Circleback: numeric meeting ID, not the URL slug.
clarifymcp_manage_access#Grant, update, revoke, or read access grants on a list, meeting, or message, or reassign its owner.7 params

Grant, update, revoke, or read access grants on a list, meeting, or message, or reassign its owner.

NameTypeRequiredDescription
actionstringrequiredThe access operation to perform: grant, update, revoke, read, or reassign.
targetstringrequiredThe object (or set of objects) to manage access for. Use mode:"direct" for a single list, meeting, or message by id, or mode:"related" to bulk-manage every message on an anchor record.
accessLevelstringoptionalThe access level to grant or update to. Required for grant and update.
allbooleanoptionalRevoke only: when true, revoke every grant on the object. Mutually exclusive with grantees.
granteesarrayoptionalThe grantees to act on. Required for grant and update. For revoke, provide either grantees or all=true.
newOwnerIdstringoptionalReassign only: the user record id to make the new owner of the object.
objectIdsarrayoptionalReassign only: to reassign several objects of the same entity to newOwnerId at once, list the other object ids here (up to 50). target.objectId is always included.
clarifymcp_merge_records#Merge two or more duplicate records into a single primary record, combining all data.3 params

Merge two or more duplicate records into a single primary record, combining all data.

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
primaryRecordIdstringrequiredThe ID of the record to keep after the merge — all data is merged into this record.
sourceRecordIdsarrayrequiredIDs of records to merge into the primary record. These records are deleted after merging.
clarifymcp_query_analytics#Execute a read-only ClickHouse SQL query against the Clarify analytics event log.2 params

Execute a read-only ClickHouse SQL query against the Clarify analytics event log.

NameTypeRequiredDescription
sqlstringrequiredSQL query to execute. For query_data use PostgreSQL syntax; for query_analytics use ClickHouse SQL.
limitnumberoptionalMaximum number of records to return per page.
clarifymcp_query_data#Execute a read-only PostgreSQL query against Clarify CRM data (contacts, companies, deals, etc.).4 params

Execute a read-only PostgreSQL query against Clarify CRM data (contacts, companies, deals, etc.).

NameTypeRequiredDescription
entitystringrequiredThe entity type to operate on (e.g. person, company, deal, or a custom object identifier like c_my_object).
sqlstringrequiredSQL query to execute. For query_data use PostgreSQL syntax; for query_analytics use ClickHouse SQL.
limitnumberoptionalMaximum number of records to return per page.
offsetnumberoptionalNumber of records to skip for pagination (use with limit).
clarifymcp_read_context#Read Clarify product documentation and best-practice guides for fields, calendar, campaigns, and artifacts.1 param

Read Clarify product documentation and best-practice guides for fields, calendar, campaigns, and artifacts.

NameTypeRequiredDescription
contextstringrequiredThe name of the context documentation to read.
clarifymcp_respond_to_calendar_event#RSVP (accept, decline, or tentatively accept) to a calendar event invite.2 params

RSVP (accept, decline, or tentatively accept) to a calendar event invite.

NameTypeRequiredDescription
event_idstringrequiredThe Nylas event ID (from get_calendar_events) to respond to.
statusstringrequiredRSVP status: yes (accept), no (decline), or maybe (tentative).
clarifymcp_send_email#Send an email immediately through the user's connected email account.8 params

Send an email immediately through the user's connected email account.

NameTypeRequiredDescription
bodystringrequiredEmail body as plain text (converted to rich text; supports bullet/numbered lists, bold section labels, blank-line paragraph breaks, and markdown links).
subjectstringrequiredEmail subject line.
toarrayrequiredEmail addresses to send to.
bccarrayoptionalEmail addresses to BCC.
ccarrayoptionalEmail addresses to CC.
confirmedNewRecipientsarrayoptionalRecipient addresses that match no CRM person record but that the user supplied or confirmed verbatim.
fromstringoptionalAddress to send from. Only set this when the user explicitly asks to send from a specific alias; otherwise omit to use the connected account's primary address.
replyToMessageIdstringoptionalShort Nylas message_id of the inbound email being replied to. Set this when sending a reply on an existing thread. Do not pass a Clarify record _id or a Nylas draft id here.
clarifymcp_submit_feedback#Submit a feature request or bug report about Clarify MCP tools.2 params

Submit a feature request or bug report about Clarify MCP tools.

NameTypeRequiredDescription
feedbackstringrequiredThe feature request or feedback message describing what is missing or broken.
categorystringoptionalCategory for your feedback. Accepted values: missing_tool, bug, improvement, other.
clarifymcp_update_campaign#Update an existing email campaign: rename it, change its target list, sender, email steps, or send time windows.6 params

Update an existing email campaign: rename it, change its target list, sender, email steps, or send time windows.

NameTypeRequiredDescription
campaign_idstringrequiredCampaign ID to update. Get from get_campaigns tool.
email_stepsarrayoptionalEmail step operations (insert, remove, update). Each step must specify an operation.
from_namestringoptionalUpdate sender display name for all emails in the campaign.
list_idstringoptionalTarget list ID. Get from get_lists tool.
new_namestringoptionalNew campaign name.
send_windowsstringoptionalSend time windows for the campaign. Pass null to disable windows or a { windows: { <day>: { start, end } | null } } object to configure them. Days are lowercase (sunday-saturday); start/end are "HH:mm" 24-hour strings. Omit to leave existing windows unchanged.