Close MCP Tools
The Close MCP Server provides tools organized by scope. Each higher scope includes all tools from the lower scopes.
Read-only Tools – mcp.read
Read-only tools for searching, fetching, and exploring your Close data.
Activity Search – activity_search
Search for activities. Results are returned ordered by date descending. Examples:
- To list activities on a lead, use the lead_ids filter.
- To list conversations, filter for calls and meetings.
Aggregate Objects – aggregation
Perform an aggregation to answer questions like:
- How many emails were sent this week?
- Calls by user this week (Who made the most?) You MUST first fetch the list of available leads of fields using the
get_fieldstool.
Close Product Knowledge Search – close_product_knowledge_search
Search Close product documentation and knowledge base for relevant information. Use this tool when users ask about:
- How to use specific Close features
- Close API documentation and integration
- Workflow automation and best practices
- Product capabilities and limitations
- Setup and configuration guidance Example queries:
- “How do I set up automated lead assignment?”
- “What are Close’s API rate limits?”
- “How to create custom fields in Close?”
- “Best practices for email templates in Close”
Fetch Object – fetch
Retrieve the contents of an arbitrary object by its ID. Currently supported are leads and contacts.
Fetch Comment – fetch_comment
Fetch a single comment by ID. Returns the comment’s rich-text (HTML) body, the thread and lead it belongs to, its @-mentions, and the resolved author and last-editor names.
Fetch Contact – fetch_contact
Fetch an existing contact by ID. Returns the contact’s details including name, title, email addresses, phone numbers, and URLs.
Fetch Custom Activity Instance – fetch_custom_activity_instance
Fetch an existing custom activity instance by ID. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Returns the full instance, including its custom field values and the resolved lead, contact, and user names.
Fetch Custom Object Type – fetch_custom_object_type
Fetch a custom object type by ID. A custom object type defines the shape of a category of custom objects, including the custom fields its instances hold. Returns the type with its custom fields.
Fetch Email Template – fetch_email_template
Fetch an email template by ID. Returns the complete email template with all its details.
Fetch Lead – fetch_lead
Fetch an existing lead (company) by ID.
Fetch Lead Smart View – fetch_lead_smart_view
Fetch a lead smart view (saved search) by ID.
Fetch Lead Status – fetch_lead_status
Fetch a lead status by ID.
Fetch Note – fetch_note
Fetch an existing note by ID. Returns the full note details including title, text, and metadata.
Fetch Opportunity – fetch_opportunity
Fetch a specific opportunity by ID. Returns the complete opportunity with all its details.
Fetch Opportunity Status – fetch_opportunity_status
Fetch an opportunity status by ID.
Fetch Pipeline – fetch_pipeline_and_opportunity_statuses
Fetch an opportunity pipeline, including its opportunity statuses, by ID.
Fetch SMS Template – fetch_sms_template
Fetch an SMS template by ID. Returns the complete SMS template with all its details.
Fetch Task – fetch_task
Fetch an existing task by ID. Returns the task’s details including the associated lead, contact, assignee, due date, priority, and completion status.
Find Call Outcomes – find_call_outcomes
List all outcomes applicable to calls available in the organization.
List Contact Custom Fields – find_contact_custom_fields
List all contact custom fields defined for the organization. Includes both contact-specific fields and shared fields associated with contacts. Returns each field’s ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with contacts.
Find Custom Activity Types – find_custom_activities
List all active (non-archived) Custom Activity Types in the organization, along with the custom fields defined on each type. Call this before creating a workflow with a “custom-activity-event” trigger so you can look up the correct Custom Activity Type ID.
Find Custom Activity Instances – find_custom_activity_instances
Find a lead’s custom activity instances based on various filters. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Always scoped to a single lead; optionally filter by attributed user, one or more custom activity types, or activity date. Results are sorted by most recent activity first and are cursor-paginated.
Find Custom Object Types – find_custom_object_types
List all custom object types in the organization, along with the custom fields defined on each type.
Find Email Templates – find_email_templates
List or find email templates
Find Web Forms – find_forms
List all web forms in the organization. Call this before creating a workflow with a “form-submission-event” trigger so you can look up the correct Form ID.
Find Groups – find_groups
List all groups in the organization.
List Lead Custom Fields – find_lead_custom_fields
List all lead custom fields defined for the organization. Returns each field’s ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with leads.
Find Lead Smart Views – find_lead_smart_views
List lead smart views (saved searches).
Find Lead Statuses – find_lead_statuses
List or find lead statuses for the organization
Find Meeting Outcomes – find_meeting_outcomes
List all outcomes applicable to meetings available in the organization.
Find Notes – find_notes
Find notes based on various filters.
Find Opportunities – find_opportunities
Find opportunities by status (active/won/lost), owner, lead, or close-date range, optionally only those needing attention, sorted by soonest close, largest value, or highest confidence. Returns each opportunity with resolved lead, contact, owner, and status names; cursor-paginated.
List Opportunity Custom Fields – find_opportunity_custom_fields
List all opportunity custom fields defined for the organization. Includes both opportunity-specific fields and shared fields associated with opportunities. Returns each field’s ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with opportunities.
Find Pipelines – find_pipelines_and_opportunity_statuses
List all opportunity pipelines and their opportunity statuses in the organization.
Find Scheduling Links – find_scheduling_links
List available scheduling links for the user and org. User-owned personal links come with a URL. Shared links come with a special template tag. Each can be inserted into generated templates.
Find SMS Templates – find_sms_templates
List or find SMS templates
Find Tasks – find_tasks
Find tasks based on various filters. You can filter by lead, assignee, completion state, and due/created/ updated dates.
Find Voice Agents – find_voice_agents
List all voice agents configured for the organization. Voice agents are AI callers that place outbound calls to leads’ contacts on the user’s behalf. Returns each voice agent’s ID and name. Use this to find the right voice agent ID when scheduling a call or assigning a call step in a workflow. Users may refer to voice agents as “voice agents”, “Chloe”, or by their configured name. When more than one agent exists, pick the most appropriate one based on the name.
Find Workflows – find_workflows
List or find workflows
Get Fields – get_fields
Use this field ONLY to get a list of fields for the aggregation tool.
Get Voice Agent Overview Report – get_voice_agent_overview_report
Cross-agent rollup for the Voice Agents list page. Returns one row per active agent — agents with completed calls in
date_rangeor queued upcoming calls. Cumulative funnel counts (answered,engaged,objective_met) plustotal_calls.upcoming_callsis the agent’s queued (not yet completed) calls and is not bound bydate_range— open tasks are open regardless of when scheduled (so an agent with only upcoming calls still appears). Use this to compare agents; for one agent’s outcomes, sentiment, or time saved useget_voice_agent_performance_report. For an inventory of all configured voice agents regardless of activity, usefind_agent_configs. The Voice Agents list (Agents tab) shows all-time stats, so leavedate_rangeat its default (all_time) unless the user asks for a specific window. (The Upcoming and Recent tabs are call lists, not this rollup — search Calls for those.) Rows are sorted server-side per thesortfield (defaultmost_calls); pass a different mode rather than re-sorting in your reply. Setreverse=Trueto invert (e.g.sort=most_calls, reverse=Truefor least active first) — necessary to surface the bottom of the ordering, sincerowsare capped before they reach you.truncatedandtotal_agent_countflag in-scope active agents;dormant_agent_countreports in-scope agents with neither completed calls in the date range nor queued upcoming calls (not included inrows).
Get Voice Agent Performance Report – get_voice_agent_performance_report
Performance metrics for one voice agent. Returns the numbers shown on the Performance tab of a Voice Agent detail page. Passing multiple
agent_config_idspools metrics into a single aggregate (not a per-agent breakdown — for that, useget_voice_agent_overview_report). For per-call drill-down, search Calls filtered byagent_config_id. When the user is on a Voice Agent page, pulldate_rangefrompage_context.date_rangeso the numbers match the UI. Percentages:*_pctis overtotal_calls;engaged_over_answered_pctandobjective_met_over_answered_pctare overanswered(tier-to-tier conversion). For any other denominator, compute from*_count.funnel_previous_period_deltasis null when the date range has no defined previous period (e.g.all_time).
Get Voice Agents – get_voice_agents
Return detailed configuration for one or more voice agents. Includes each agent’s objective, user instructions, and which skills are enabled. Use this as the follow-up to
find_voice_agentsonce one or more agent IDs have been selected.
Lead Search – lead_search
Perform a simple lead search and return the initial set of results. Use this to retrieve all leads, most recent leads, search leads by keyword, or filter by lead status and smart view. For more complex searches use the
searchtool instead. Leads will be returned by last updated first.
Org Info – org_info
Return general information about the organization and the user.
Org Users – org_users
Return active users (memberships) which are part of the current org.
Paginate Search Results – paginate_search
Paginate a search to retrieve more results. Provide exactly one of:
search_id: ashare_*id from a previous search or shared entry, orsmart_view_id: asave_*Smart View (saved search) id the user is viewing.
Propose Voice Agent Update – propose_voice_agent_update
Propose a voice agent configuration update from natural-language feedback. This tool does not apply changes to the voice agent. It returns a short behavioral summary and proposal ID when the requested edit is clear. If the feedback is ambiguous, it returns clarification questions instead of making a proposal. Use apply_voice_agent_update with the proposal ID only after the user approves the proposal.
Search Objects – search
Perform a natural language search for leads or contacts. If a more specific search tool (like lead_search or activity_search) satisfies the request, use that tool instead. You can reference related objects like activities (such as calls, emails, meetings, notes, custom activities, etc.), opportunities, tasks as long as they are part of a lead query. Example queries:
- leads not contacted in the past week
- leads assigned to me with uncompleted tasks
- leads with an active opportunity over $500
- contacts with CTO title Each returned result will contain a title label, preview text, object ID, and URL. The initial set of results, total count of all results, and a URL to open the results in Close is returned. To retrieve more results, use the returned cursor and call the paginate_search tool using the cursor and search ID returned in this response.
Write (Safe) Tools – mcp.write_safe
Includes all mcp.read scoped tools, plus these tools for creating and updating data:
Create Address – create_address
Add a new address to an existing lead (company).
Create Call Task – create_call_task
Schedule a call task on a lead, assigned to either a user or a voice agent (Chloe). A call task represents a scheduled outbound call that will be made to the specified contact at the given time. The task can be assigned to a specific user or dispatched to a voice agent.
Create Comment – create_comment
Add a comment to a commentable object (note, call, opportunity, task, custom object, etc.). If the object already has a comment thread, the new comment is appended to it. Otherwise a new thread is started for the object. Use this tool for both starting a conversation and replying to an existing one — the object_id alone determines which. Comments support @-mentions of users and groups. The body is HTML.
Create Contact – create_contact
Create a new contact for a lead. A contact represents a person associated with a lead (company).
Create Custom Activity Instance – create_custom_activity_instance
Create a new custom activity instance on a lead. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Use the find_custom_activities tool to look up the available custom activity types. If in an interactive session, ask the user for the relevant field values (including custom fields) before creating, even if they are not required.
Create Email Template – create_email_template
Create a new email template. Handling of attachments and unsubscribe links via this tool is currently unsupported. Email template body should be HTML formatted. Use template tags as placeholders, for example:
{{ organization.name }}to refer to the sender’s organization name.{{ user.first_name }}{{ user.last_name }}{{ user.email }}{{ user.phone }}to refer to the user sending the email.{{ lead.display_name }}to refer to the lead name (recipient’s name/company).{{ contact.first_name }}{{ contact.last_name }}to refer to the recipient.
Create Lead – create_lead
Create a new lead (company). After creating a lead, you should usually add an address or contact (including phone or email) to the lead.
Create Lead Status – create_lead_status
Create a new lead status.
Create Note – create_note
Create a new note on a lead. A note is a text-based activity attached to a lead. At least one of note (plaintext) or note_html (rich text) must be provided.
Create Opportunity – create_opportunity
Create a new opportunity. Requires a lead ID and status ID. Other fields are optional. The value should be specified in cents (e.g., $100.00 = 10000).
Create Opportunity Status – create_opportunity_status_tool
Create a new opportunity status.
Create Pipeline – create_pipeline
Create a new opportunity pipeline. Use the create_opportunity_status tool to add statuses to the pipeline.
Create SMS Template – create_sms_template
Create a new SMS template. Handling of attachments via this tool is currently unsupported. Use template tags as placeholders, for example:
{{ organization.name }}to refer to the sender’s organization name.{{ user.first_name }}{{ user.last_name }}{{ user.email }}{{ user.phone }}to refer to the user sending the message.{{ lead.display_name }}to refer to the lead name (recipient’s name/company).{{ contact.first_name }}{{ contact.last_name }}to refer to the recipient.
Create Task – create_task
Create a new task for a lead. A task represents a to-do item that can be assigned to a user and optionally associated with a contact.
Create Workflow – create_workflow
Create a new workflow (a.k.a. sequence) with Draft status.
Schedule Voice Agent Call – schedule_voice_agent_call
Schedule a voice agent to call a lead’s contact. Creates a call task assigned to the voice agent. The voice agent will place the call automatically at the scheduled time, or as soon as the queue picks it up when no time is given. Use
find_voice_agentsfirst to discover which voice agents are available in this organization.
Write (Destructive) Tools – mcp.write_destructive
Includes all mcp.read and mcp.write_safe scoped tools, plus these tools for updating and deleting data:
Apply Voice Agent Update – apply_voice_agent_update
Apply a previously proposed voice agent update. This tool persists the server-stored proposal identified by proposal_id. It does not rerun the feedback processor, and it fails if the proposal has expired or the voice agent changed after the proposal was created.
Delete Address – delete_address
Delete an address from an existing lead (company) if there is an exact match.
Delete Contact – delete_contact
Permanently delete an existing contact. This will remove the contact from its lead including its email addresses, phone numbers, and URLs will be removed. Activities on the lead are not affected. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the contact.
Delete Custom Activity Instance – delete_custom_activity_instance
Permanently delete an existing custom activity instance. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the custom activity instance.
Delete Email Template – delete_email_template
Permanently delete an email template. If the template is used in any workflows (sequences), it cannot be deleted.
Delete Lead – delete_lead
Permanently delete an existing lead (company) by ID including all of its addresses, contacts, opportunities, tasks, and activities. ONLY call this if the user specifically instructed you to delete the lead, and you confirmed what the deletion will entail and that it cannot be reversed.
Delete Lead Smart View – delete_lead_smart_view
Permanently delete a lead smart view (saved search).
Delete Lead Status – delete_lead_status
Permanently delete a lead status. Cannot delete if it’s the last lead status in the organization or there are leads currently using this status.
Delete Note – delete_note
Permanently delete an existing note. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the note.
Delete Opportunity – delete_opportunity
Permanently delete an opportunity. This action cannot be undone. All data associated with the opportunity will be removed.
Delete Opportunity Status – delete_opportunity_status_tool
Permanently delete an opportunity status. Cannot delete if it’s the last opportunity status in the organization or there are opportunities currently using this status.
Delete Pipeline – delete_pipeline
Permanently delete an opportunity pipeline. A pipeline can only be deleted if it has no statuses. The last pipeline cannot be deleted.
Delete SMS Template – delete_sms_template
Permanently delete an SMS template. If the template is used in any workflows (sequences), it cannot be deleted.
Delete Task – delete_task
Permanently delete an existing task by ID. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the task.
Update Contact – update_contact
Update an existing contact. You can update a contact’s name, title, email addresses, phone numbers, and URLs. Only fields that are provided will be updated.
Update Custom Activity Instance – update_custom_activity_instance
Update an existing custom activity instance. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Only fields that are provided will be updated. For custom fields, only the custom fields included are modified; pass null to clear one. Pass ‘clear’ for contact_id to detach the contact.
Update Email Template – update_email_template
Update an existing email template. Only fields that are provided and not None will be updated. Handling of attachments and unsubscribe links via this tool is currently unsupported. Email template body should be HTML formatted. Use template tags as placeholders, for example:
{{ organization.name }}to refer to the sender’s organization name.{{ user.first_name }}{{ user.last_name }}{{ user.email }}{{ user.phone }}to refer to the user sending the email.{{ lead.display_name }}to refer to the lead name (recipient’s name/company).{{ contact.first_name }}{{ contact.last_name }}to refer to the recipient.
Update Lead – update_lead
Update an existing lead (company). Only fields that are provided and not None will be updated.
Update Lead Smart View – update_lead_smart_view
Update a lead smart view (saved search). Only fields that are provided and not None will be updated.
Update Lead Status – update_lead_status
Update the label of an existing lead status.
Update Note – update_note
Update an existing note. Only fields that are provided will be updated. Note content is provided as rich text (HTML) via note_html; the plaintext note is automatically derived.
Update Opportunity – update_opportunity
Update an existing opportunity. Only fields that are provided will be updated. The value should be specified in cents (e.g., $100.00 = 10000).
Update Opportunity Status – update_opportunity_status_tool
Update the label of an existing opportunity status.
Update Pipeline – update_pipeline
Update an existing opportunity pipeline. Only fields that are provided will be updated.
Update SMS Template – update_sms_template
Update an existing SMS template. Only fields that are provided will be updated. Fields that are not provided will remain unchanged. Handling of attachments via this tool is currently unsupported. Use template tags as placeholders, for example:
{{ organization.name }}to refer to the sender’s organization name.{{ user.first_name }}{{ user.last_name }}{{ user.email }}{{ user.phone }}to refer to the user sending the message.{{ lead.display_name }}to refer to the lead name (recipient’s name/company).{{ contact.first_name }}{{ contact.last_name }}to refer to the recipient.
Update Task – update_task
Update an existing task. Only fields that are provided will be updated. Pass ‘clear’ for contact_id or due_date to clear those values.