Nimble Crm
FreeNot checkedMCP server for the Nimble CRM API that enables managing contacts, deals, pipelines, notes, tasks, tags, fields metadata, and message drafts from any MCP client.
About
MCP server for the Nimble CRM API that enables managing contacts, deals, pipelines, notes, tasks, tags, fields metadata, and message drafts from any MCP client.
README
mcp-nimble-crm
MCP server for the Nimble CRM API — manage contacts, deals, deal pipelines, notes, tasks, tags, fields metadata, and message drafts from Claude, Cursor, Zed, or any MCP client.
This project began as a fork of cphoskins/nimble-crm-mcp (MIT licensed). It has since been rewritten against Nimble's official v1/v2 OpenAPI reference (readthedocs/Redocly spec) to correct and extend coverage: deals and deal pipelines now correctly target the v2 API (/api/v2/deals), with full pipeline/stage/field/group/choice management, deal tags, deal notes, and lead pipeline transitions — plus the full v1 contacts-fields-metadata CRUD surface (tabs, groups, fields, choices) that the upstream project didn't cover. See NIMBLE_API_REFERENCE.md for the endpoint-by-endpoint source notes.
Scope note: binary file upload/download endpoints (deal files, contact avatar uploads via Azure Blob SDK) are intentionally not implemented — they require a separate multipart/Azure Blob integration outside a JSON REST client's scope.
Note on naming: this is unrelated to
nimble-js-mcpon npm, which is for Nimbleway (a web-scraping/data API company) — a different "Nimble" entirely.
Installation
pip install mcp-nimble-crm
Or install from source:
git clone https://github.com/meshachjackson/mcp-nimble-crm.git
cd mcp-nimble-crm
pip install -e .
Configuration
Get your Nimble API Key
- Log in to Nimble
- Go to Settings > API Tokens (or visit the API Access guide)
- Generate an API key
Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json or project .claude/settings.json):
{
"mcpServers": {
"nimble-crm": {
"command": "mcp-nimble-crm",
"env": {
"NIMBLE_API_KEY": "your-api-key-here"
}
}
}
}
Generic MCP Client
{
"mcpServers": {
"nimble-crm": {
"command": "python",
"args": ["-m", "mcp_nimble_crm.server"],
"env": {
"NIMBLE_API_KEY": "your-api-key-here"
}
}
}
}
Available Tools
Contacts
- list_contacts — List contacts with optional keyword search and record type filter
- search_contacts — Advanced search with field-level operators (is, contains, range, etc.)
- get_contact — Get a single contact by ID with all fields and tags
- create_contact — Create a person or company contact with name, email, phone, tags
- update_contact — Update contact fields (merge or replace mode)
- delete_contacts — Delete one or more contacts by ID
Notes
- list_notes — List notes for a specific contact
- get_note — Get a single note by ID
- create_note — Create a note attached to one or more contacts
- update_note — Update an existing note
- delete_note — Delete a note
Tags
- replace_tags — Replace all tags on a contact (full replace, not additive)
Tasks
- create_task — Create a task with subject, notes, due date, and related contacts
Contacts Fields Metadata
- list_contact_fields — List all contact field metadata (tabs, groups, fields, types)
- create_contact_field / update_contact_field / delete_contact_field — Manage custom contact fields
- create_contact_field_group — Create a fields group
- create_contact_field_tab — Create a fields tab
Contact Pipelines (Leads)
- list_contact_pipelines — List lead/contact pipelines visible to the user
- move_lead_to_stage — Move a lead into a pipeline stage
- exit_lead_successful / exit_lead_unsuccessful — Exit a lead as won/lost
- undo_lead_transition — Undo a recent won/lost transition
Activities & Tasks
- list_activities — List pending or past activities, filterable by contact/deal
- create_task — Create a task with subject, notes, due date, related contacts/deals, and tags
Deals (v2)
- list_deals — List the current user's deals
- get_deal — Get a single deal by ID
- create_deal — Create a deal (pipeline, stage, fields_values, owner, currency, tags)
- update_deal — Update deal fields, pipeline, stage, owner, or tags
- delete_deal — Delete a deal
- get_won_deals_last_month — Sum/count of deals won in the last month
Deal Tags & Notes
- list_deal_tags / add_tags_to_deals / rename_deal_tag / delete_deal_tag
- create_deal_note / update_deal_note / delete_deal_note
- list_deal_overdue_activities — Overdue activities for a deal
Deal Fields
- list_deal_fields — Standard + per-pipeline deal fields
- list_deal_column_catalogue — Deal column/column-group catalogue
Deal Pipelines (v2)
- list_deal_pipelines / get_deal_pipeline / create_deal_pipeline / update_deal_pipeline / delete_deal_pipeline
- list_pipeline_deals_by_stage / list_pipeline_deals_by_owner
- archive_deal_pipeline / unarchive_deal_pipeline / add_pipeline_lost_reason
- create_pipeline_stage / update_pipeline_stage / archive_pipeline_stage
Messages
- list_message_drafts — List draft messages
- create_message_draft — Create a draft message linked to recipients
Account
- get_myself — Get current authenticated user info
Development
# Clone and install
git clone https://github.com/meshachjackson/mcp-nimble-crm.git
cd mcp-nimble-crm
pip install -e .
# Run tests (no credentials needed — all mocked)
pytest tests/ -v
# Run integration tests against a live account (creates + cleans up real records)
NIMBLE_API_KEY=your-key pytest tests/test_integration.py -v
# Run the server locally
NIMBLE_API_KEY=your-key mcp-nimble-crm
Releasing
./release.sh <version>
This bumps the version in pyproject.toml, mcp_nimble_crm/__init__.py, and server.json, commits, tags, and pushes. Publishing a GitHub Release for that tag triggers the PyPI publish workflow (.github/workflows/publish.yml).
License
MIT — see LICENSE. Includes portions originally from cphoskins/nimble-crm-mcp, also MIT licensed.
Installing Nimble Crm
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/meshachjackson/mcp-nimble-crmFAQ
Is Nimble Crm MCP free?
Yes, Nimble Crm MCP is free — one-click install via Unyly at no cost.
Does Nimble Crm need an API key?
No, Nimble Crm runs without API keys or environment variables.
Is Nimble Crm hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Nimble Crm in Claude Desktop, Claude Code or Cursor?
Open Nimble Crm on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Nimble Crm with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
