---
title: "Nutshell CRM MCP server for AI agents - actionlake"
description: "Give Claude 113 Nutshell CRM actions through one MCP server: leads, accounts, contacts. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/nutshell-crm
updated: 2026-10-23
---

Connectors · CRM & sales

# Nutshell CRM MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Nutshell CRM and the rest of your systems. It gives your agent 113 Nutshell CRM actions (68 reads, 35 writes and 10 that wait for a confirmation) and holds the Nutshell CRM credential itself, so the agent never does. It paces Nutshell CRM's limits and records every call.

[Connect Nutshell CRM free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "nutshell.contacts.list",
  intent: "check which Nutshell CRM account is connected"
}
# Get a list of contacts · read · 1 upstream call
```

- 113 actions in one signed file
- 68 read look, never change
- 35 write create and update
- 10 wait for a yes destructive, confirmed first

Set up

## Connect Nutshell CRM in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Nutshell CRM.
   Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `email` Email address of the Nutshell user the API key belongs to
   - `api_key` Nutshell API key (Setup > API keys, https://app.nutshell.com/setup/api-key)
   ```
   account { op: "connections.requirements", service: "nutshell" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "nutshell.contacts.list" }
   # get a list of contacts · read · 1 upstream call
   check { action: "nutshell.contacts.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Nutshell CRM at a glance

**Sign-in**

Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`email` `api_key`

**Limits we pace to**

10 calls a second, per connection

**API covered**

Nutshell REST API 2.0.0 (https://app.nutshell.com/rest)`app.nutshell.com/rest`

**Built from**

Nutshell CRM's documentation, read 23 October 2026[developers.nutshell.com](https://developers.nutshell.com/llms.txt) [developers.nutshell.com](https://developers.nutshell.com/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

68 of 68 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

10, so ask can line Nutshell CRM up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Nutshell CRM.

113 actions in 37 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **68** read look, never change
- **35** write create and update
- **10** destructive wait for a confirmation

1. ### Leads
   15
   7 read · 7 write · 1 destructive
   Get a list of leads · Create a lead · Get a lead · Delete a lead
2. ### Accounts
   9
   5 read · 3 write · 1 destructive
   Get a list of accounts · Create an account · Get an account · Delete an account
3. ### Contacts
   9
   5 read · 3 write · 1 destructive
   Get a list of contacts · Create a contact · Get a contact · Delete a contact
4. ### Notes
   5
   2 read · 2 write · 1 destructive
   Create a note · Get a list of notes · Get a note · Undelete a note
5. ### Tasks
   5
   2 read · 2 write · 1 destructive
   Get a list of tasks · Create a new task · Get a task · Delete a task
6. ### Activities
   4
   2 read · 2 write · 0 destructive
   Get activities · Create an activity · Get an activity · Update an activity
7. ### Competitor maps
   4
   2 read · 1 write · 1 destructive
   Get a list of lead-competitor relationships · Get a lead-competitor relationship · Update a lead-competitor relationship · Delete a lead-competitor relationship
8. ### Product maps
   4
   2 read · 1 write · 1 destructive
   Get lead products · Get lead product · Update a lead's product information · Delete a product on a lead

**29 more areas · 58 actions**

- Products **4**
- Quotes **4**
- Sources **4**
- Tags **4**
- Invoices **3**
- Product categories **3**
- Account custom fields **2**
- Audiences **2**
- Competitors **2**
- Contact custom fields **2**
- Editions **2**
- Events **2**
- Forms **2**
- Industries **2**
- Lead custom fields **2**
- Lead installments **2**
- Markets **2**
- Outcomes **2**
- Users **2**
- Account types **1**
- Activity types **1**
- Dashboards **1**
- Emails **1**
- Form fields **1**
- Pipelines **1**
- Saved filters **1**
- Stages **1**
- Territories **1**
- Todos **1**

Top actions

## The Nutshell CRM API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 38 of Nutshell CRM's 40 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `nutshell.contacts.list` Get a list of contacts | Returns a number of contacts which is filterable based on their basic information. | read | `crm.contact.list` 177 connectors |
| `nutshell.accounts.list` Get a list of accounts | Get all accounts and associated data in your Nutshell instance. Accounts are companies or organizations that you do business with, and are referred to as… | read | `crm.company.list` 162 connectors |
| `nutshell.tags.list` Get a list of tags | Get a list of all tags in a Nutshell instance. | read | `crm.tag.list` 65 connectors |
| `nutshell.leads.list` Get a list of leads | Get a list of all leads and associated data in your Nutshell Instance. | read | `crm.deal.list` 43 connectors |
| `nutshell.users.list` Get a list of users | Get a list of users. | read | `identity.user.list` 474 connectors |
| `nutshell.products.list` List or search products | Without q, returns all active products and applies sort. With q, trims the value and performs a case-insensitive name or SKU search limited to 200 products;… | read | `commerce.product.list` 112 connectors |
| `nutshell.contacts.create` Create a contact | Create a new contact, also known as a person, in Nutshell. Only one contact may be created at a time. | write | `crm.contact.create` 161 connectors |
| `nutshell.accounts.create` Create an account | Create a new account. Accounts are companies or organizations that you do business with, and are referred to as 'Companies' in the Nutshell UI. | write | `crm.company.create` 142 connectors |
| `nutshell.activities.list` Get activities | Get activities. | read | `crm.activity.list` 21 connectors |
| `nutshell.territories.list` Get a list of territories | Get a list of territories. | read | `crm.territory.list` 10 connectors |
| `nutshell.tags.create` Create a tag | Create a tag. Tags are used to organize leads, contacts, and accounts into groups. | write | `crm.tag.create` 49 connectors |
| `nutshell.contacts.delete` Delete a contact | Deletes a contact from Nutshell. Can be recovered by posting to /contacts/{id}/undelete | destructive | `crm.contact.delete` 147 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Nutshell CRM actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Nutshell CRM deals are due to close this month, and what are they worth in total?
   calls `nutshell.leads.list`
2. Write write
   Create a contact in Nutshell CRM. Show me exactly what you will send before you save it.
   calls `nutshell.contacts.create`
3. Across systems read
   Which Nutshell CRM companies have invoices in ConnectWise PSA, and how many each?
   calls `nutshell.accounts.list` `connectwise_manage.invoices.list`

Across your systems

## Nutshell CRM, joined to the rest of your business.

One `ask` fetches from Nutshell CRM and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Nutshell CRM companies have invoices in ConnectWise PSA, and how many each?
  `nutshell.accounts.list` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- Which Nutshell CRM companies have invoices in NetSuite, and how many each?
  `nutshell.accounts.list` + `netsuite.views.invoices`, on `crm.company` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `crm.company` **227** `crm.contact` **192** `commerce.product` **109** `work.task` **105** `crm.tag` **47** `crm.deal` **43** `comm.audience` **27**

ask

```
ask {
  intent: "which Nutshell CRM companies have invoices in ConnectWise PSA, and how many each",
  steps: [
    { action: "nutshell.accounts.list", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Nutshell CRM

## Destructive actions wait for a yes.

10 Nutshell CRM actions are destructive. These are all of them:

- Delete a contact `nutshell.contacts.delete`
- Delete an account `nutshell.accounts.delete`
- Delete a tag `nutshell.tags.delete`
- Delete a lead `nutshell.leads.delete`
- Delete a product `nutshell.products.delete`
- Delete a task `nutshell.tasks.delete`
- Delete a note `nutshell.notes.delete`
- Delete a Source `nutshell.sources.delete`
- Delete a product on a lead `nutshell.product_maps.delete`
- Delete a lead-competitor relationship `nutshell.competitor_maps.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do nutshell.contacts.delete confirm_policy: **human**

Delete a contact?

**intent:** the user asked me to delete a contact

run suspended · waiting for a named person · key _nutshell-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "nutshell-agent",
  allowed_actions: ["nutshell.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "nutshell.contacts.delete", approver: "lead@example.com" },
    { match: "nutshell.accounts.delete", approver: "lead@example.com" },
    { match: "nutshell.tags.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Nutshell CRM only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Nutshell CRM costs on actionlake.

Every Nutshell CRM action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Nutshell CRM refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 113 Nutshell CRM actions
- 3 actions page each page of a long list is one call
- 68 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Nutshell CRM action.

113 actions by area: the id your agent calls, what it does, and its effect.

**Leads 15**

- `nutshell.leads.create` Create a lead write
- `nutshell.leads.custom_field_values` Get a lead's custom fields read
- `nutshell.leads.delete` Delete a lead destructive
- `nutshell.leads.fields` Get the fields for a lead read
- `nutshell.leads.get` Get a lead read
- `nutshell.leads.list` Get a list of leads read
- `nutshell.leads.list_items` Get list items for all leads read
- `nutshell.leads.reopen` Reopen a lead write
- `nutshell.leads.report` Get reports for a lead read
- `nutshell.leads.set_pipeline` Set the pipeline for a lead write
- `nutshell.leads.stages` Get all stages associated with lead read
- `nutshell.leads.undelete` Undelete a lead write
- `nutshell.leads.update` Update a lead write
- `nutshell.leads.update_status` Update the status of a lead write
- `nutshell.leads.watch` Watch a lead write

**Accounts 9**

- `nutshell.accounts.create` Create an account write
- `nutshell.accounts.custom_field_values` Get custom fields read
- `nutshell.accounts.delete` Delete an account destructive
- `nutshell.accounts.fields` Get the fields for an account read
- `nutshell.accounts.get` Get an account read
- `nutshell.accounts.list` Get a list of accounts read
- `nutshell.accounts.list_items` Get list items for all accounts read
- `nutshell.accounts.undelete` Undelete an account write
- `nutshell.accounts.update` Update an account write

**Contacts 9**

- `nutshell.contacts.create` Create a contact write
- `nutshell.contacts.custom_field_values` Get contact custom fields read
- `nutshell.contacts.delete` Delete a contact destructive
- `nutshell.contacts.fields` Get the fields for a contact read
- `nutshell.contacts.get` Get a contact read
- `nutshell.contacts.list` Get a list of contacts read
- `nutshell.contacts.list_items` Get list items for all contacts read
- `nutshell.contacts.undelete` Undelete a contact write
- `nutshell.contacts.update` Update a contact write

**Notes 5**

- `nutshell.notes.create` Create a note write
- `nutshell.notes.delete` Delete a note destructive
- `nutshell.notes.get` Get a note read
- `nutshell.notes.list` Get a list of notes read
- `nutshell.notes.undelete` Undelete a note write

**Tasks 5**

- `nutshell.tasks.create` Create a new task write
- `nutshell.tasks.delete` Delete a task destructive
- `nutshell.tasks.get` Get a task read
- `nutshell.tasks.list` Get a list of tasks read
- `nutshell.tasks.update` Update a task write

**Activities 4**

- `nutshell.activities.create` Create an activity write
- `nutshell.activities.get` Get an activity read
- `nutshell.activities.list` Get activities read
- `nutshell.activities.update` Update an activity write

**Competitor maps 4**

- `nutshell.competitor_maps.delete` Delete a lead-competitor relationship destructive
- `nutshell.competitor_maps.get` Get a lead-competitor relationship read
- `nutshell.competitor_maps.list` Get a list of lead-competitor relationships read
- `nutshell.competitor_maps.update` Update a lead-competitor relationship write

**Product maps 4**

- `nutshell.product_maps.delete` Delete a product on a lead destructive
- `nutshell.product_maps.get` Get lead product read
- `nutshell.product_maps.list` Get lead products read
- `nutshell.product_maps.update` Update a lead's product information write

**Products 4**

- `nutshell.products.delete` Delete a product destructive
- `nutshell.products.get` Get a product read
- `nutshell.products.list` List or search products read
- `nutshell.products.undelete` Undelete a product write

**Quotes 4**

- `nutshell.quotes.create_invoice` Create an invoice from a quote write
- `nutshell.quotes.get` Get a quote read
- `nutshell.quotes.list` Get a list of quotes read
- `nutshell.quotes.update_status` Update the status of a quote write

**Sources 4**

- `nutshell.sources.create` Create a new source write
- `nutshell.sources.delete` Delete a Source destructive
- `nutshell.sources.list` Get a list of sources read
- `nutshell.sources.undelete` Undelete a Source write

**Tags 4**

- `nutshell.tags.create` Create a tag write
- `nutshell.tags.delete` Delete a tag destructive
- `nutshell.tags.list` Get a list of tags read
- `nutshell.tags.undelete` Undelete a tag write

**Invoices 3**

- `nutshell.invoices.get` Get an invoice read
- `nutshell.invoices.list` Get a list of invoices read
- `nutshell.invoices.update_status` Update the status of an invoice write

**Product categories 3**

- `nutshell.product_categories.create` Create a product category write
- `nutshell.product_categories.get` Get a product category read
- `nutshell.product_categories.list` List all product categories read

**Account custom fields 2**

- `nutshell.account_custom_fields.create` Create a custom field write
- `nutshell.account_custom_fields.list` Get a list of custom fields read

**Audiences 2**

- `nutshell.audiences.create` Create an audience write
- `nutshell.audiences.list` Get a list of audiences read

**Competitors 2**

- `nutshell.competitors.get` Get a competitor read
- `nutshell.competitors.list` Get a list of competitors read

**Contact custom fields 2**

- `nutshell.contact_custom_fields.create` Create a custom field write
- `nutshell.contact_custom_fields.list` Get applicable custom fields read

**Editions 2**

- `nutshell.editions.get` Get a single edition by its ID read
- `nutshell.editions.list` Get a list of editions read

**Events 2**

- `nutshell.events.list` Get a list of events read
- `nutshell.events.list_deleted` Get deletion events read

**Forms 2**

- `nutshell.forms.get` Get a form read
- `nutshell.forms.list` Get all forms read

**Industries 2**

- `nutshell.industries.get` Get a single industry by its ID read
- `nutshell.industries.list` Get a list of industries read

**Lead custom fields 2**

- `nutshell.lead_custom_fields.create` Create a custom field write
- `nutshell.lead_custom_fields.list` Get applicable custom fields for leads read

**Lead installments 2**

- `nutshell.lead_installments.list` Get installments for a lead read
- `nutshell.lead_installments.replace` Update installments for a lead write

**Markets 2**

- `nutshell.markets.get` Get a market by the ID read
- `nutshell.markets.list` Get a list of markets read

**Outcomes 2**

- `nutshell.outcomes.get` Get a lead outcome by ID read
- `nutshell.outcomes.list` Get a list of lead outcomes read

**Users 2**

- `nutshell.users.get` Get a user read
- `nutshell.users.list` Get a list of users read

**Account types 1**

- `nutshell.account_types.list` Get a list of account types read

**Activity types 1**

- `nutshell.activity_types.list` Get activity types read

**Dashboards 1**

- `nutshell.dashboards.fields` Get dashboard field definitions read

**Emails 1**

- `nutshell.emails.get` Get an email read

**Form fields 1**

- `nutshell.form_fields.get` Get a form field read

**Pipelines 1**

- `nutshell.pipelines.list` Get a list of pipelines read

**Saved filters 1**

- `nutshell.saved_filters.list` Get saved filters read

**Stages 1**

- `nutshell.stages.list` Get a list of stages read

**Territories 1**

- `nutshell.territories.list` Get a list of territories read

**Todos 1**

- `nutshell.todos.list` Get tasks and sales process steps read

Questions

## The Nutshell CRM MCP server, answered.

**Is there a Nutshell CRM MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 113 Nutshell CRM actions across leads, accounts, contacts and notes, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Nutshell CRM.

**What do I need to connect Nutshell CRM?**

Email address of the Nutshell user the API key belongs to and Nutshell API key (Setup > API keys, https://app.nutshell.com/setup/api-key). The free call account { op: "connections.requirements", service: "nutshell" } lists exactly what to paste.

**Can an AI agent delete or change things in Nutshell CRM?**

Only if its key allows it, and only with an explicit confirmation. 10 Nutshell CRM actions are destructive, including delete a contact, delete an account and delete a tag. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Nutshell CRM API limit?**

actionlake paces every call to the limits in the Nutshell CRM service file: 10 calls a second per connection. Repeated reads are answered from cache (68 Nutshell CRM actions can be), which never reaches Nutshell CRM.

**What does a Nutshell CRM action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (3 Nutshell CRM actions page). Cache hits, searches, dry runs and calls Nutshell CRM refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Nutshell CRM API does it cover?**

The Nutshell REST API 2.0.0 (https://app.nutshell.com/rest) at app.nutshell.com/rest. It is built from Nutshell CRM's documentation as read on 23 October 2026. 113 actions in 37 areas, each one in the signed service file (version 1.0.0).

**Can I combine Nutshell CRM with my other systems?**

Yes. ask joins Nutshell CRM to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Nutshell CRM maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Nutshell CRM data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Nutshell CRM credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Nutshell CRM

Shares the most action names with

- [Freshsales 26](https://actionlake.com/connectors/freshsales)
- [Keap (Infusionsoft) 21](https://actionlake.com/connectors/keap-infusionsoft)
- [Crelate 20](https://actionlake.com/connectors/crelate)
- [Brevo 20](https://actionlake.com/connectors/brevo)
- [Streak CRM for Gmail 16](https://actionlake.com/connectors/streak-crm-for-gmail)
- [Kommo 16](https://actionlake.com/connectors/kommo)

Joins with, on shared entities

- [Odoo 7](https://actionlake.com/connectors/odoo)
- [ERPNext (Frappe) 7](https://actionlake.com/connectors/erpnext-frappe)
- [Accelo 7](https://actionlake.com/connectors/accelo)
- [ScalePad 7](https://actionlake.com/connectors/scalepad)
- [Zomentum 7](https://actionlake.com/connectors/zomentum)
- [HighLevel (LeadConnector) 6](https://actionlake.com/connectors/highlevel-leadconnector)

Browse

- [All CRM & sales connectors](https://actionlake.com/connectors/category/crm-and-sales)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Nutshell CRM; the name is the vendor's own. Counts are from the Nutshell CRM service file, version 1.0.0.

## Give your agent Nutshell CRM today.

[Connect Nutshell CRM free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/nutshell-crm
More: https://actionlake.com/llms.txt
