Skip to main content
Glama
meshachjackson

mcp-nimble-crm

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NIMBLE_API_KEYYesYour Nimble API key. Generate from Nimble Settings > API Tokens.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_myselfA

Get current authenticated Nimble user info and account details.

list_contactsA

List contacts with optional keyword search.

Args: record_type: Filter by 'person', 'company', or 'all'. keyword: Simple search across indexed fields (name, email, etc). per_page: Results per page (default 30). page: Page number (starts at 1).

search_contactsA

Search contacts with an advanced NSE query.

Args: query_json: JSON string with search criteria. Format: {"and": [{"field name": {"operator": "value"}}]} Operators: is, is_not, contain, not_contain, starts_with, is_empty, in, range, gt, gte, lt, lte, in_the_last, not_in_the_last, day_month_range. Example: {"and": [{"first name": {"is": "Jack"}}, {"company name": {"contain": "Acme"}}]} per_page: Results per page (default 30). page: Page number (starts at 1).

list_contact_idsA

List contact IDs only (faster than a full contact listing).

Args: record_type: Filter by 'person', 'company', or 'all'. keyword: Simple search across indexed fields. per_page: Results per page (default 30). page: Page number (starts at 1).

get_contacts_by_idsA

Return standard contact listings for up to 30 explicit IDs.

Args: contact_ids: Comma-separated contact IDs (max 30).

get_contactA

Get a single contact by ID with all fields and tags.

Args: contact_id: The Nimble contact ID.

create_contactA

Create a new contact (person or company).

Args: record_type: 'person' or 'company'. first_name: First name (for person records). last_name: Last name (for person records). company_name: Company name (required for company records). email: Email address. email_modifier: Email type: 'work', 'personal', or 'other'. phone: Phone number. phone_modifier: Phone type: 'work', 'home', 'mobile', 'main', 'other'. tags: Comma-separated tags (max 5 on creation).

update_contactA

Update an existing contact's fields.

Args: contact_id: The Nimble contact ID. fields_json: JSON string of fields to update. Format: {"field name": [{"value": "val", "modifier": "mod"}]} Example: {"email": [{"value": "new@example.com", "modifier": "work"}]} Set a field to an empty list to remove all values for it. replace: If true, replaces all values for each field type. If false, merges with existing values.

delete_contactA

Delete a single contact by ID.

Args: contact_id: The Nimble contact ID. deletion_method: 'regular' (errors if relations block deletion) or 'force' (delete despite relations). cleanup_email_lists: If true, also remove matching email list entries.

delete_contactsA

Delete one or more contacts by ID.

Args: contact_ids: Comma-separated contact IDs to delete.

delete_contacts_by_queryA

Bulk-delete contacts matching an advanced query or keyword list.

Requires bulk delete permission for the authenticated user.

Args: query_json: JSON-encoded advanced search query. If provided, record_type is ignored by Nimble. keyword: Comma-separated list of keywords; contacts whose fields contain any of these values will be deleted. record_type: 'person', 'company', or 'all'. preflight_checks: If true, verify contacts are editable first.

list_notesA

List notes for a specific contact.

Args: contact_id: The Nimble contact ID. per_page: Results per page (default 5). page: Page number (starts at 1).

get_noteA

Get a single note by ID.

Args: note_id: The Nimble note ID.

create_noteA

Create a note attached to one or more contacts.

Args: contact_ids: Comma-separated contact IDs (1-10). note: Full note text (can contain HTML). note_preview: Short plain-text preview. If empty, first 100 chars of note are used.

create_contact_noteA

Create a note attached to a single contact.

Args: contact_id: The Nimble contact ID. note: Full note text. note_preview: Short preview. Defaults to the full note if omitted.

update_noteA

Update an existing note.

Args: note_id: The Nimble note ID. contact_ids: Comma-separated contact IDs (1-10). note: Updated full note text. note_preview: Updated short preview. If empty, first 100 chars of note are used.

delete_noteB

Delete a note by ID.

Args: note_id: The Nimble note ID.

replace_tagsA

Replace all tags on a contact.

WARNING: This is a full replace — tags not in the list will be REMOVED. To add a tag, first get current tags with get_contact, then include all existing tags plus the new one.

Args: contact_id: The Nimble contact ID. tags: Comma-separated list of tags to set.

list_contact_fieldsA

List all contact field metadata — tabs, groups, and fields.

Returns the complete schema of available contact fields including custom fields, their types, and valid modifiers.

create_contact_fieldA

Create a new custom contact field.

Args: name: Field name (1-50 chars). field_kind: One of 'string', 'long_string', 'choice', 'number', 'datetime', 'boolean', 'address', 'user'. tab_id: ID of the tab this field belongs to. presentation_json: JSON string describing presentation (required for number/datetime fields, e.g. {"number_type": "integer"}). group_id: Optional group ID to nest the field under. insert_after: Optional field/group ID to insert after. multiples: Whether this field can hold multiple values.

update_contact_fieldA

Update an existing custom contact field.

Args: field_id: The field ID. name: New field name. presentation_json: JSON string for new presentation settings. group_id: New group ID to move the field into. tab_id: New tab ID. insert_after: Field/group ID to move this field after.

delete_contact_fieldA

Delete a custom contact field.

Args: field_id: The field ID. preflight_checks: If true, errors if the field is in use by any contacts instead of deleting it.

create_contact_field_groupA

Create a new contact fields group.

Args: name: Group name (1-50 chars). tab_id: ID of the tab this group belongs to. logo_id: Optional logo ID to display. insert_after: Optional field/group ID to insert after.

create_contact_field_tabB

Create a new contact fields tab.

Args: tab_name: Tab name (1-50 chars). contact_types: Comma-separated types: 'person', 'company'. insert_after: Optional tab ID to insert after.

list_contact_pipelinesA

List contact/lead pipelines visible to the requesting user.

move_lead_to_stageC

Move a lead (contact) into a pipeline stage.

Args: lead_id: The contact/lead ID. pipeline_id: The pipeline ID. stage_id: The target stage ID.

exit_lead_successfulA

Exit a lead from a pipeline as won.

Args: lead_id: The contact/lead ID. pipeline_id: The pipeline ID. notes: Optional notes about the transition.

exit_lead_unsuccessfulB

Exit a lead from a pipeline as lost.

Args: lead_id: The contact/lead ID. pipeline_id: The pipeline ID. notes: Optional notes about the transition. lost_reason: Optional lost reason.

undo_lead_transitionC

Undo a recent won/lost transition for a lead.

Args: lead_id: The contact/lead ID. pipeline_id: The pipeline ID.

list_activitiesA

List activities (pending or past) matching filters.

Args: direction: 'pending' (future) or 'past' (old) activities. limit: Max activities to return. contact_ids: Comma-separated contact IDs to filter by. deal_ids: Comma-separated deal IDs to filter by. completed: True for only completed, False for uncompleted.

create_taskB

Create a task in Nimble CRM.

Args: subject: Task title. notes: Additional task notes. related_contacts: Comma-separated contact IDs to associate. related_deals: Comma-separated deal IDs to associate. due_date: Due date, e.g. YYYY-MM-DDTHH:MM:SS. tags: Comma-separated tags to apply.

list_dealsA

List all of the current user's deals.

Args: sort: Sort spec as ":", e.g. "name:asc". limit: Max deals to return.

get_dealA

Get a single deal by ID.

Args: deal_id: The Nimble deal ID.

create_dealA

Create a new deal in Nimble CRM (deals_v2).

Args: pipeline_id: Pipeline to place the deal in. stage_id: Stage within that pipeline. fields_values_json: JSON string keyed by field id, each a list of {"value": ...} dicts. Must include the deal name field; probability is required unless the stage has a default. Example: {"63760e653af0e748fe48366a": [{"value": "Big Deal"}]} owner_id: User ID who owns the deal. currency: ISO-4217 3-letter currency code. tags: Comma-separated tags to apply.

update_dealA

Update an existing deal.

Args: deal_id: The Nimble deal ID. fields_values_json: JSON string keyed by field id, each a list of {"value": ...} dicts. Send an empty list to clear a field. pipeline_id: Move the deal to a different pipeline. stage_id: Move the deal to a different stage. owner_id: Reassign the deal owner. tags: Comma-separated new tag list (replaces existing tags).

delete_dealB

Delete a deal by ID.

Args: deal_id: The Nimble deal ID.

get_won_deals_last_monthA

Get the sum and count of deal amounts won in the last month.

list_deal_tagsA

List deal tags, optionally filtered by prefix.

Args: starts_with: Only return tags starting with this string. limit: Max tags to return.

add_tags_to_dealsA

Assign tags to all deals matching an advanced search query.

Args: query_json: JSON-encoded advanced search query for deals. tags: Comma-separated tags to assign.

rename_deal_tagA

Rename a deal tag.

Args: tag_name: Current tag name. new_tag: New tag name.

delete_deal_tagC

Delete/unlink a deal tag from all deals.

Args: tag_name: Tag name to delete.

create_deal_noteA

Create a note attached to a deal.

Args: deal_id: The Nimble deal ID. title: Note title (1-256 chars). body: Note body text.

update_deal_noteB

Update a deal note.

Args: deal_id: The Nimble deal ID. note_id: The note ID. title: New title. body: New body text.

delete_deal_noteC

Delete a note from a deal.

Args: deal_id: The Nimble deal ID. note_id: The note ID.

list_deal_overdue_activitiesA

List a deal's overdue activities, most-overdue first.

Args: deal_id: The Nimble deal ID. limit: Max activities to return.

list_deal_fieldsB

List deal standard fields and per-pipeline fields.

list_deal_column_catalogueB

List the deal column/column-group catalogue for the user.

list_deal_pipelinesA

List all deal pipelines and their stages in Nimble CRM.

get_deal_pipelineA

Get a single deal pipeline by ID.

Args: pipeline_id: The Nimble pipeline ID.

create_deal_pipelineB

Create a new deal pipeline in Nimble CRM.

Args: name: Pipeline name (1-200 chars). description: Pipeline description. color: Pipeline color. default_currency: ISO-4217 3-letter currency code.

update_deal_pipelineA

Update an existing deal pipeline's name, description, or color.

Args: pipeline_id: The Nimble pipeline ID. name: New pipeline name. description: New pipeline description. color: New pipeline color.

delete_deal_pipelineA

Delete a deal pipeline by ID. All deals in it will also be deleted!

Args: pipeline_id: The Nimble pipeline ID.

list_pipeline_deals_by_stageA

List a pipeline's deals grouped by stage.

Args: pipeline_id: The Nimble pipeline ID. sort: Sort spec as ":". limit: Max deals per stage.

list_pipeline_deals_by_ownerA

List a pipeline's deals grouped by owner.

Args: pipeline_id: The Nimble pipeline ID. sort: Sort spec as ":". limit: Max deals per owner.

archive_deal_pipelineC

Archive a deal pipeline.

Args: pipeline_id: The Nimble pipeline ID.

unarchive_deal_pipelineB

Un-archive a deal pipeline.

Args: pipeline_id: The Nimble pipeline ID.

add_pipeline_lost_reasonA

Add a new lost-reason option to a pipeline.

Args: pipeline_id: The Nimble pipeline ID. reason: Reason description.

create_pipeline_stageB

Create a new stage within a deal pipeline.

Args: pipeline_id: The Nimble pipeline ID. name: Stage name. description: Stage description. expected_days: Expected number of days a deal spends in this stage. default_probability: Default win probability (0-100) for deals entering this stage.

update_pipeline_stageA

Update an existing pipeline stage.

Args: pipeline_id: The Nimble pipeline ID. stage_id: The stage ID to update. name: New stage name. description: New stage description. expected_days: New expected days (pass -1 to leave unchanged). default_probability: New default probability 0-100 (pass -1 to leave unchanged).

archive_pipeline_stageB

Archive a pipeline stage.

Args: pipeline_id: The Nimble pipeline ID. stage_id: The stage ID to archive.

list_message_draftsA

List draft messages in Nimble CRM.

Args: recipients: Comma-separated recipient filter. page: Page number (starts at 0). per_page: Results per page.

create_message_draftA

Create a draft message in Nimble CRM.

Args: subject: Message subject. body: Message body text. to: Comma-separated recipient email addresses.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/meshachjackson/mcp-nimble-crm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server