# Close CRM MCP MCP

> Close CRM (Inside Sales CRM & Automation API) gives your AI agent full control over your sales pipeline. You can manage leads, update contacts, and track opportunities directly through natural conversation. Stop switching tabs; automate lead tracking and activity logging with this MCP.

## Overview
- **Category:** sales-automation
- **Price:** Free
- **Tags:** crm, sales-pipeline, lead-tracking, inside-sales, opportunity-management

## Description

This connector lets you treat your Close CRM account like an extension of your own workflow. Instead of manually navigating menus to clean up data or log call notes, your AI agent handles the work for you. You can list companies that need attention, create new contacts from meeting transcripts, and adjust deal values when a conversation changes things. The system lets your agent perform complex actions—like updating multiple leads or generating an activity report—all without you needing to write API calls. It’s all exposed through Vinkius, making it accessible from any MCP-compatible client, so you just talk to your AI and watch the data move.

## Tools

### activity_report
Generates a summary report covering various sales activities for review.

### bulk_email
Sends the same email message to a defined group of leads at once.

### create_contact
Adds a new individual contact record into the CRM system.

### create_lead
Creates an entirely new company lead account in your database.

### create_opportunity
Records a potential deal with specific value and confidence metrics.

### create_task
Schedules a follow-up action item for the sales team to complete later.

### create_webhook
Sets up an automated notification whenever specific data changes occur in the CRM.

### delete_lead
Permanently removes a lead account from your database if it's obsolete.

### get_custom_field_schema
Retrieves the structure and types of custom fields used on any object type.

### list_calls
Fetches a list of recorded phone calls associated with your accounts.

### list_contacts
Retrieves a directory listing of all individual contacts in the CRM.

### list_emails
Lists records of sent and received emails for any given account.

### list_events
Retrieves a log of major platform events that occurred within the last 30 days.

### list_form_submissions
Gathers data from web forms that were submitted to your company's site.

### list_forms
Lists all the web forms used on your website and their field definitions.

### list_leads
Retrieves a paginated list of company leads, supporting specific field filtering.

### list_meetings
Lists records and details from scheduled or completed meetings.

### list_notes
Retrieves a chronological list of notes taken on various accounts.

### list_opportunities
Lists all existing sales opportunities and their current stage in the pipeline.

### list_sequences
Retrieves details about automated outreach workflows (Sequences).

### list_sms
Lists records of text message communications sent or received.

### list_tasks
Retrieves a list of all outstanding follow-up tasks assigned to the team.

### search_data
Performs advanced searches across leads or contacts using specific criteria.

### update_contact
Modifies a single existing contact's information, such as their email address.

### update_lead
Makes changes to an existing company lead account using specific data updates.

### update_opportunity
Adjusts the stage, value, or confidence level of a current sales opportunity.

## Prompt Examples

**Prompt:** 
```
List the first 5 leads in my Close CRM and show their names and IDs.
```

**Response:** 
```
I've retrieved your first 5 leads: 1. TechFlow (ID: lead_1), 2. GreenEnergy (ID: lead_2), 3. BlueSky (ID: lead_3), 4. AlphaCorp (ID: lead_4), and 5. Zenith (ID: lead_5).
```

**Prompt:** 
```
Create a new lead named 'Vurb Marketplace' with a contact 'Alice Smith' and email 'alice@vurb.com'.
```

**Response:** 
```
The lead 'Vurb Marketplace' has been successfully created with Alice Smith as the primary contact. The Lead ID is lead_vurb_99.
```

**Prompt:** 
```
Add a new opportunity for lead lead_123 with a value of $1000 and 80% confidence.
```

**Response:** 
```
I've added the opportunity to lead_123. It is recorded with a value of 100,000 cents ($1,000.00) and an 80% confidence level.
```

## Capabilities

### Manage Leads
Create, update, list, or delete entire company leads in your CRM.

### Handle Contacts and Details
Add new contacts to existing companies or retrieve lists of current contacts for communication purposes.

### Track Deals and Opportunities
Create, update, and list sales opportunities, including their value and confidence level.

### Log Activities and Records
Retrieve records of past calls, emails, meetings, and form submissions for historical context.

### Automate Data Updates
Update fields on leads, contacts, or opportunities with a single command from your AI agent.

## Use Cases

### The AE needs to adjust deal value after a demo.
An Account Executive just finished a detailed product demo. Instead of logging into Close CRM and manually changing fields, they tell their agent: 'Update the opportunity for TechFlow; increase the value by $5k and set confidence to 90%.' The agent uses `update_opportunity` instantly.

### Sales Ops needs to clean up old database entries.
The Sales Operations team notices a segment of leads that haven't had activity in months. They ask the agent to run a search using `search_data`, identify these cold accounts, and then use `delete_lead` on those marked for cleanup.

### A rep needs full context before calling a prospect.
Before a call with GreenEnergy, the rep asks their agent to gather all recent activity. The agent pulls records from `list_calls`, `list_emails`, and `list_meetings` into one summary for the rep's review.

### A founder needs an immediate view of pipeline health.
The executive asks, 'Give me a count of all open opportunities in the finance sector.' The agent uses `list_opportunities` and filters the results to provide the necessary high-level overview without opening any complex dashboards.

## Benefits

- Stop manually logging notes. You can tell your agent to update a lead's status or add call details using the `update_lead` tool, instantly keeping the CRM current.
- Never lose context before a meeting again. Your agent pulls together all communication history—using tools like `list_calls`, `list_emails`, and `list_meetings`—so you know exactly where to start.
- Automate data cleaning for Sales Ops. You can use the `search_data` tool combined with bulk actions to find stale records or update fields across hundreds of leads quickly.
- Improve forecasting accuracy. Instead of manual entries, your agent helps track deals by creating new opportunities using `create_opportunity`, recording specific values and confidence levels automatically.
- Streamline outreach workflows. You can manage entire sequences of communication by listing automated workflows with `list_sequences` or sending a mass update via the `bulk_email` tool.

## How It Works

The bottom line is, you talk to your AI client using plain English, and it executes the necessary data changes inside Close CRM.

1. Subscribe to this MCP and provide the required Close API Key.
2. Connect your preferred AI client (like Cursor or Claude) to the Vinkius catalog.
3. Ask your agent to perform an action, for example: 'Find all leads in California that haven't had a call logged in 30 days.'

## Frequently Asked Questions

**How do I update an opportunity using the update_opportunity tool?**
You simply tell your agent, 'Increase the value of the XYZ Opportunity by $10k.' The agent handles finding the correct record and executing the `update_opportunity` action for you.

**What if I need to search data on leads? Does search_data work?**
Yes, `search_data` allows advanced filtering across your lead or contact records. You can ask it to find all companies matching specific criteria like industry and last activity date.

**Can I use create_webhook for notifications?**
Yes, using `create_webhook`, you can tell the system what event—like a lead status change or opportunity creation—should trigger an automated alert to another service.

**What is the difference between list_leads and search_data?**
The `list_leads` tool fetches paginated results using standard filters. Use `search_data` when you need complex, highly specific criteria that go beyond simple filtering.

**Before I use an update function, how do I check what fields are available with `get_custom_field_schema`?**
It provides a full JSON schema of the object type you specify. This lets your agent know exactly which field names and data types you can write to for accurate updates.

**If I run a massive outreach campaign using `bulk_email`, does this MCP handle API rate limits?**
The underlying Close API manages standard rate limiting. If your AI client hits these limits, the system will return an explicit error code that your agent can catch and retry later.

**When I use `delete_lead`, does it automatically remove all associated contacts or opportunities?**
No. Deleting a lead only removes the main company record. Associated contacts or open opportunities remain intact, allowing you to manage them separately.

**How do I verify that my automated actions are working correctly using `list_calls` and other activity tools?**
All list activities store historical records with timestamps and user IDs. Your agent can filter this data to confirm when specific changes, like status updates or calls, occurred.

**Can I permanently remove a lead from my CRM using this server?**
Yes, you can use the `delete_lead` tool by providing the specific Lead ID. Please note that this action is permanent and cannot be undone.

**How do I track the financial value and confidence of a potential deal?**
Use the `create_opportunity` or `update_opportunity` tools. You can specify the `value` (in cents), the `value_period` (monthly, annual, or one_time), and a `confidence` percentage from 0 to 100.

**Can I filter or limit the number of leads returned when listing them?**
Yes! The `list_leads` tool supports `_limit` for result counts, `_skip` for pagination, and `_fields` to specify exactly which data points (like name or status) you want to retrieve.