# Nimble MCP connector

The Nimble connector brings your Nimble contacts, notes, tags and custom fields to Claude, ChatGPT, Cursor and any MCP client, so your team can find, update and annotate contacts in plain language under their own Nimble access.

Source: https://elaichi.ai/connectors/nimble/

## Facts

| | |
| --- | --- |
| Application | Nimble |
| Category | CRM |
| AI tools | 85 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 85 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Nimble is connected

- Which Nimble contacts have no notes this quarter?
- Add a note to the Nimble contact for Acme.
- Tag every Nimble contact I met last week.

## Connect Nimble in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Nimble.
2. Optionally set Share with, then press Connect.
3. Paste a Nimble API key. One person generates a token in Nimble and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Nimble tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Nimble to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Nimble to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Nimble to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Nimble to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Nimble tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Nimble through Elaichi

### Catch a contact up after a call

Sales. Tell the agent what was discussed and it writes the note against the right Nimble contact and updates the fields that changed, before the next meeting starts.

### Find the contacts worth calling this week

Sales. Ask for contacts with a given tag, company or custom field value and get a short list pulled from Nimble, ready to work through.

### Tag a batch of new leads at once

Marketing. After an event, hand over the list of names and companies and have them created in Nimble and tagged for the follow-up campaign in one pass.

### Log what a customer told you

Support. Add a note to a customer's Nimble contact while the conversation is still fresh, so sales and account managers see the history without asking.

### Keep custom fields tidy and consistent

Operations. Add, rename or retire a contact field in Nimble and set which value counts as primary, without clicking through every record by hand.

### Get a quick read on the contact base

Leadership. Ask how many contacts carry a certain tag or came in this month and get an answer from live Nimble records instead of waiting for an export.

## Frequently asked questions

### How do I connect Nimble to Claude?

Connect Nimble in Elaichi first, which asks for your Nimble API key and nothing else, so there is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in with your Elaichi account and Nimble is available in Claude.

### Does Nimble work with ChatGPT and Cursor as well as Claude?

Yes. Once Nimble is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Nimble once and every client sees it.

### What can an AI agent actually do with my Nimble data?

It can look up a Nimble contact, create new contacts, update details, assign tags, add and edit notes on a contact, and manage the custom fields your team uses. In practice that means asking for a contact's history before a call, or dictating a note afterwards and having it filed against the right person. Because Nimble exposes many actions, short concrete asks such as add a note to Jane Park at Acme work better than long paragraphs.

### Does connecting Nimble give the AI access to everything in my account?

No. The agent works inside the access of the Nimble account whose API key was used, so it can see and change exactly what that person can in Nimble, and nothing more. Elaichi can narrow that further, for example to reading contacts but not deleting them, and it never widens what Nimble itself allows.

### Can my team share one Nimble connection?

Yes. One person connects Nimble in Elaichi and shares the connection with a team, and nobody else ever handles the Nimble API key. Each teammate still signs in to Elaichi as themselves, so the audit log records which person created a contact or added a note, even though the work runs through a shared Nimble connection.

### Can I stop an agent from deleting or changing things in Nimble?

Yes. In Elaichi you restrict Nimble actions one by one, so you can allow reading and creating contacts while blocking deletion of contacts, notes or fields. A blocked action is never shown to Claude, ChatGPT or any other client at all, so no prompt, however worded, can reach it.

### What happens to a Nimble connection when someone leaves the company?

When you offboard a person in Elaichi, their access to Nimble through every client ends at once. If they had shared a Nimble connection with a team, it keeps working for everyone else until you decide otherwise. Disconnecting Nimble in Elaichi removes it from Claude, ChatGPT, Cursor and every other client in a single step.

## All 85 Nimble tools

Every tool below is callable through https://api.elaichi.ai/mcp once Nimble is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Nimble me** (List). Get current user info in Nimble. Returns company_id, company_size, email, name, and user_id in the response.
- **List all Nimble contacts** (List). List contacts in Nimble. Returns important fields such as id, avatar_url, employers_info, tags, last_contacted, company_last_contacted, reminder, and record_type. These fields provide identification, company data, tags, interaction history, reminders, and type.
- **Create a Nimble contact** (Create). Create a new contact in Nimble. Requires fields for contact data with at least a first or last name for persons or a company name for companies. Returns id, avatar_url, owner_id, privacy, tags, record_type, type, fields, created, updated, and additional details of the created contact.
- **Delete a Nimble contact by ID** (Delete). Delete a contact in Nimble. Requires id. Returns a message field indicating the operation result.
- **Update a Nimble contact by ID** (Update). Update a contact in Nimble by id. Requires id. Returns fields such as id, avatar_url, fields, is_important, last_contacted, record_type, owner_id, tags, stages_info, reminder, notice, and contexts for the contact.
- **Nimble contacts contact IDS** (Action). List contact ids in Nimble. Returns an array of ids for matching contacts. Response includes resources (array of contact ids) and meta (pagination details).
- **Nimble contacts standard** (Action). List contacts in Nimble using required id parameter (comma-separated up to 30). Returns key fields including id, avatar_url, employers_info, company_last_contacted, created, updated, tags, record_type, stages_info, and contexts.
- **Nimble contacts bulk** (Action). Delete a list of contacts in Nimble using advanced search query or record_type. Returns data.ids of deleted contacts, push_data with action and notification info, and status.
- **Get single Nimble contact by ID** (Get). Get a specific contact in Nimble by id. Returns avatar_url, employers_info, company_last_contacted, fields, created, updated, tags, reminder, privacy settings, stages_info, notice details, and contexts data.
- **Nimble contacts proceedings** (Action). List proceedings for a specific contact in Nimble. Requires contact_id, direction, and limit. Returns proceeding_id, name, description, feed_tstamp, and proceeding_type with type_id and type_name.
- **Nimble contacts proceeding providers** (Action). List contacts proceeding providers in Nimble. Returns providers with name, provider_id, and available types including type_id and type_name.
- **Nimble contacts assign tags** (Assign). Assign tags to a specific contact in Nimble. Requires id. Returns contact details including id, tags, avatar_url, employers_info, created, updated, fields, record_type, stages_info, and related metadata.
- **List all Nimble contact notes** (List). List contact-notes for a specific contact in Nimble. Requires contact_id. Returns id, note, note_preview, author_name, created, updated, owner details, and related contacts including their name, email, phones, and employment.
- **Create a Nimble contact note** (Create). Create a note on one or more contacts in Nimble. Requires contact_ids, note, and note_preview. Returns id, note, note_preview, author_name, created, updated, owner details, and associated contacts with their information.
- **Update a Nimble contact note by ID** (Update). Update a contact note in Nimble by id. Requires id, contact_ids, note, and note_preview. Returns note content, note_preview, author_name, contacts details (id, name, email, employment, phones), owner details, created, updated, and owner_id.
- **Delete a Nimble contact note by ID** (Delete). Delete a specific contact note in Nimble using id. Returns id of the deleted note.
- **Get single Nimble contact note by ID** (Get). Get a specific contact note in Nimble using id. Returns author_name, id, note, note_preview, created, updated, owner, and related contacts details.
- **Nimble contact notes create with ID** (Create). Create a contact note in Nimble with id. Requires id, contact_ids (1-10), note, and note_preview. Returns id, note, note_preview, author_name, contacts with details (id, name, email, phones, employment), owner info, created, and updated.
- **List all Nimble contact fields** (List). List all available metadata for company contact fields in Nimble. Returns tabs with tab_id, tab_name, contact_types, members, and fields including field_id, name, type, field_kind, validation_rule, read_only, multiples, and available_actions.
- **Create a Nimble contact field** (Create). Create a new contact field in Nimble. Requires field_type, group_id, insert_after, name, presentation, tab_id, and multiples. Returns the created field including field_type, group_id, insert_after, name, presentation, tab_id, and multiples.
- **Update a Nimble contact field by ID** (Update). Update a specific contact field in Nimble by id. Requires id. Returns the updated field details including group_id, insert_after, name, presentation with number_type, and tab_id.
- **Delete a Nimble contact field by ID** (Delete). Delete a contact field in Nimble by id. Requires id and preflight_checks. Returns object_id and object_type to confirm the deleted field.
- **Nimble contact fields unset primary** (Action). Delete is_primary mark from a specific contact field in Nimble. Requires contact_id, field_id, and position. Returns object_id and object_type in the response.
- **Nimble contact fields set primary** (Set). Update contact field in Nimble by marking it with is_primary flag. Requires contact_id, field_id, and position. Returns updated field details including is_primary status.
- **Create a Nimble contact fields group** (Create). Create a new contacts fields group in Nimble. Requires insert_after, logo_id, name, and tab_id. Returns tab_id, tab_name, contact_types, is_standard, members with their fields, and available_actions.
- **Update a Nimble contact fields group by ID** (Update). Update a contacts fields group in Nimble by id. Requires id. Response includes tab_id, tab_name, contact_types, is_standard, members with fields details, and available_actions.
- **Delete a Nimble contact fields group by ID** (Delete). Delete contact-fields-groups by id in Nimble. Requires id. Returns object_id for deleted resource and object_type indicating the resource type.
- **Create a Nimble contact field tab** (Create). Create a new contact-field-tab in Nimble. Requires contact_types, insert_after, and tab_name. Returns the created tab details including its id and name.
- **Update a Nimble contact field tab by ID** (Update). Update contact-field-tab in Nimble using id. Requires id. Response returns updated tab details including contact_types, insert_after, and tab_name.
- **Delete a Nimble contact field tab by ID** (Delete). Delete a contact-field-tab in Nimble by id. Requires id. Returns confirmation of deletion.
- **Create a Nimble contact field choice** (Create). Create a choice for a contact field in Nimble. Requires field_id. Returns tab_id, tab_name, contact_types, is_standard, members with group and field details, and available_actions.
- **Update a Nimble contact field choice by ID** (Update). Update a contact-field-choice in Nimble. Requires field_id and id. Returns tabs with tab_id, tab_name, contact_types, is_standard, members with groups and fields including field_id, name, type, field_type, and available_actions.
- **Delete a Nimble contact field choice by ID** (Delete). Delete a specific contact-field-choice in Nimble by providing field_id and id. The response confirms successful deletion.
- **List all Nimble contact pipelines** (List). List contacts pipelines in Nimble. Returns pipelines with fields such as pipeline_id, name, description, created, updated, creator details, stages with stage_id and name, and lost_reasons with id and text.
- **List all Nimble contacts search** (List). Search contacts in Nimble using advanced query. Requires query parameter. Returns resources containing fields like id, first name, last name, company, and email.
- **Create a Nimble deal** (Create). Create a new deal in Nimble. Requires owner_id, fields_values (with at least deal_name), pipeline_id, and stage_id. Returns deal details including id, owner_id, pipeline_id, stage_id, fields_values like name, probability, description, amount, expected_close_date, plus related_contacts, related_external_contacts, tags, privacy settings, and currency.
- **Get single Nimble deal by ID** (Get). Get deal in Nimble by id. Returns deal_id, deal_number, creator details, related_contacts, owner, custom field values, stage_transitions, files, tags, final_probability, and age_in_days.
- **Delete a Nimble deal by ID** (Delete). Delete a deal in Nimble by id. Requires id. Returns a message confirming deletion or access restrictions.
- **Update a Nimble deal by ID** (Update). Update a deal in Nimble by id. Requires id. Returns updated deal fields including name, probability, description, amount, stage_id, currency, related_contacts, external_contacts, and tags.
- **Nimble deals won deals last month** (Action). Get sum of all deals won last month in Nimble. Returns last_month_won_amount as the total amount and last_month_won_count as the total number of deals.
- **Nimble deals overdue** (Action). List overdue activities for a specific deal in Nimble. Requires id. Returns activities with fields including activity_id, activity_type details, assigned_to, comments, created, description, priority, related_contacts, and related_deals.
- **List all Nimble deals tags** (List). List deals tags in Nimble. Returns tag name and created date for each tag.
- **Create a Nimble deals tag** (Create). Add tags to deals in Nimble using a query to match deals. Returns is_completed, operation_id, processed, started_at, total, and errors with details on failed operations.
- **Update a Nimble deals tag by ID** (Update). Update a deals tag by name in Nimble. Requires id as tag_name in path and new_tag in body. Returns updated tag information.
- **Delete a Nimble deals tag by ID** (Delete). Delete a deals tag by name in Nimble. Requires id (tag name). Returns errors with message, nse_query, total, and type if deletion fails due to restrictions.
- **List all Nimble deal column catalogue** (List). List column catalogue in Nimble. Returns columns and column groups including id, human_readable_name, json_path, value_json_path, presentation details, and whether columns are read_only, is_standard, or sortable.
- **List all Nimble deals pipelines** (List). List all deals pipelines in Nimble. Returns available pipelines including their details such as stages and structure.
- **Get single Nimble deals pipeline by ID** (Get). Get deals pipeline by id in Nimble. Requires id. Returns details about the pipeline including name, stages, and configuration.
- **Create a Nimble deals pipeline** (Create). Create a new deals pipeline in Nimble. Requires name, description, color, lost_reasons, stages, fields_tab_members, and default_currency. Returns pipeline details including id, name, description, color, lost_reasons, stages with probabilities and expected_days, fields_tab_members, and default_currency.
- **Update a Nimble deals pipeline by ID** (Update). Update a deals pipeline in Nimble by id. Requires id. Returns updated fields including name (pipeline name), description (pipeline description), and color (pipeline color).
- **Delete a Nimble deals pipeline by ID** (Delete). Delete a deals pipeline in Nimble by id. Requires id. All deals in this pipeline will also be deleted. Response confirms successful deletion.
- **Nimble deals pipelines archive** (Archive). Archive a specific deals pipeline in Nimble using id. Returns confirmation of successful archival.
- **Nimble deals pipelines unarchive** (Action). Un-archive a deals pipeline in Nimble. Requires id. Returns pipeline details including id, name, and status to confirm it is unarchived.
- **Nimble deals pipelines add pipeline lost reason** (Add). Add a new lost reason to a deals pipeline in Nimble. Requires pipeline_id and reason. Returns the created lost reason with its id and details.
- **List all Nimble message drafts** (List). List message drafts in Nimble. Returns draft_id, specification (including subject, body, sender, recipients), creator, recipients, cc, bcc, sender, and updated fields.
- **Create a Nimble message draft** (Create). Create a draft message in Nimble. Returns draft details including subject, body, sender, recipients, attachments, tracking_configuration, expiration settings, and sender_credential_id.
- **Create a Nimble pipeline transition** (Create). Exit lead from pipeline successfully in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, owner_id, stages_info, record_type, company_last_contacted, reminder, notice, and tags.
- **Update a Nimble pipeline transition by ID** (Update). Update the successful exit pipeline-transition in Nimble for a lead. Requires lead_id and pipeline_id. Returns fields including id, avatar_url, company_last_contacted, fields, owner_id, tags, stages_info, and updated.
- **Delete a Nimble pipeline transition by ID** (Delete). Clear all pipeline-transition for a lead in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, record_type, object_type, stages_info with pipeline_id, pipeline_name, and stage_name, along with tags, created, updated, and owner_id.
- **Nimble pipeline transition exit lead unsuccessfully** (Action). Exit lead from a pipeline unsuccessfully in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, name, avatar_url, tags, employers_info, stages_info, and contact metadata.
- **Nimble pipeline transition unsuccessful exit** (Action). Update the unsuccessful exit pipeline-transition in Nimble. Requires lead_id and pipeline_id. Returns updated transition details including actual_exit_date, notes, and lost_reason.
- **Nimble pipeline transition move lead stage** (Move). Move lead to a specific pipeline stage in Nimble. Requires lead_id, pipeline_id, and stage_id. Returns lead details including id, owner_id, fields, tags, reminder, stages_info, and contact metadata.
- **Nimble pipeline transition undo lead** (Action). Undo a recent lead transition to won or lost stage in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, avatar_url, record_type, owner_id, stages_info, reminder, tags, and notice information.
- **Create a Nimble deal file** (Create). Store a new deal file in Nimble for a specific deal using id. Supports external sources or uploaded files via Azure SDK. Returns metadata including data_id and source.
- **Update a Nimble deal file by ID** (Update). Update a deal file in Nimble using deal_id and id. Allows renaming the file by providing new_file_name. Only files uploaded using Azure SDK can be renamed. Response returns updated file details.
- **Delete a Nimble deal file by ID** (Delete). Delete a specific deal file in Nimble. Requires deal_id and id. Returns confirmation of deletion.
- **Nimble deal file download** (Download). Get download URL for a specific deal file in Nimble. Requires deal_id and id. Returns the download link of the requested file in the response.
- **Create a Nimble deal note** (Create). Create note in Nimble for a deal. Requires deal_id and title. Returns note details including title and body.
- **Update a Nimble deal note by ID** (Update). Update a specific deal note in Nimble. Requires deal_id and id. Returns the updated note including title and body fields.
- **Delete a Nimble deal note by ID** (Delete). Delete a specific deal note in Nimble. Requires deal_id and id. The response confirms successful deletion of the note.
- **List all Nimble deal fields** (List). List deal fields in Nimble. Returns standard_fields with field_id, field_type, and field_name, and pipelines_tabs with tab_id, tab_name, pipeline_id, members, and related field details.
- **Create a Nimble pipeline stage** (Create). Create a new pipeline-stage in Nimble. Requires pipeline_id. Returns fields including id (stage identifier), name (stage name), description (stage description), expected_days (time before stage completion), and default_probability (default deal probability in this stage).
- **Update a Nimble pipeline stage by ID** (Update). Update a pipeline stage in Nimble. Requires pipeline_id and id. Returns stage details including name, description, expected_days, and default_probability.
- **Delete a Nimble pipeline stage by ID** (Delete). Archive pipeline-stage in Nimble. Requires pipeline_id and id. Response confirms stage archived.
- **List all Nimble pipeline deals by stages** (List). List pipeline deals by stages in Nimble. Requires pipeline_id. Returns deals with fields such as deal_id, deal_number, creator, owner, related_contacts, stage details, tags, files, final_probability, and meta information including totals.
- **List all Nimble pipeline deals by owner** (List). List pipeline deals by owner in Nimble. Requires pipeline_id and sort. Returns groups containing deals with deal_id, deal_number, creator, owner, related contacts, stage transitions, files, tags, and meta with total_amount.
- **Create a Nimble deal pipeline field** (Create). Create a new custom field in a deals pipeline in Nimble. Requires pipeline_id. Returns field id, name, field_type, validation_rule, presentation, and placement details.
- **Update a Nimble deal pipeline field by ID** (Update). Update a custom field in a specific deals pipeline in Nimble using pipeline_id and id. Returns pipelines_tabs with tab_id, tab_name, pipeline_id, members details, and standard_fields with field_id, field_type, and field_name.
- **Delete a Nimble deal pipeline field by ID** (Delete). Delete a custom field from a deals pipeline in Nimble. Requires pipeline_id and id. Returns success if deleted, 404 if field not found, and 403 if access is forbidden.
- **Create a Nimble deal pipeline choice** (Create). Create a new choice in a deals pipeline field in Nimble. Requires pipeline_id and field_id. Returns choice id and value fields in the response.
- **Update a Nimble deal pipeline choice by ID** (Update). Update a choice in a custom deals pipeline field in Nimble. Requires pipeline_id, field_id, and id. Returns updated choice details including value and order within the field.
- **Delete a Nimble deal pipeline choice by ID** (Delete). Delete a specific deal pipeline custom field choice in Nimble. Requires pipeline_id, field_id, and id. If preflight_checks is true and deals use this choice, an error is returned; otherwise, the choice and its values are removed.
- **Create a Nimble deal pipeline fields group** (Create). Create a deal pipeline fields group in Nimble. Requires pipeline_id. Returns the created group details including group_name, logo_id, insert_after, and associated fields with their types and presentation.
- **Update a Nimble deal pipeline fields group by ID** (Update). Update a specific deal pipeline fields group in Nimble. Requires pipeline_id and id. Returns updated group details such as group_name, logo_id, and position (insert_after).
- **Delete a Nimble deal pipeline fields group by ID** (Delete). Delete a specific deal pipeline fields group in Nimble. Requires pipeline_id and id. Returns confirmation of deletion.
