NextCRM MCP Server Skill
Use the NextCRM MCP server to read and write CRM data. This skill documents all available tools and how to use them.
Connection Setup
The server supports two MCP transports. Pick one — most modern clients (Claude Code, Cursor) work with either.
Option A — Streamable HTTP (recommended)
Single POST endpoint. Simpler, the current MCP spec default.
{
"mcpServers": {
"nextcrm": {
"type": "http",
"url": "https://YOUR_NEXTCRM_URL/api/mcp/mcp",
"headers": { "Authorization": "Bearer YOUR_API_TOKEN" }
}
}
}
Option B — SSE (legacy, for older clients)
Two endpoints: a GET SSE stream and a POST message channel. The client opens /api/mcp/sse, the server announces the matching /api/mcp/message?sessionId=… endpoint over the stream, and the client POSTs JSON-RPC there.
{
"mcpServers": {
"nextcrm": {
"type": "sse",
"url": "https://YOUR_NEXTCRM_URL/api/mcp/sse",
"headers": { "Authorization": "Bearer YOUR_API_TOKEN" }
}
}
}
You only configure the /sse URL — the client discovers the message endpoint automatically.
Notes
- Replace
YOUR_NEXTCRM_URL with your NextCRM instance URL (e.g. http://localhost:3000 for local dev)
- Replace
YOUR_API_TOKEN with a token generated from Profile > Developer > API Tokens
- Token prefix:
nxtc__
- Some clients omit the
type field and infer the transport from the URL — both forms above include it explicitly for clarity
Authentication
All tools require a valid Bearer token. Tokens are generated from the Developer tab in your profile settings. Each token is SHA-256 hashed — the raw value is shown only once at creation.
Available Tools
Accounts (6 tools)
- crm_list_accounts — List CRM accounts assigned to the authenticated user
- crm_get_account — Get a single CRM account by ID
- crm_search_accounts — Search accounts by name or website (substring match)
- crm_create_account — Create a new CRM account
- crm_update_account — Update an existing CRM account by ID
- crm_delete_account — Soft-delete a CRM account by ID (sets deletedAt timestamp)
Contacts (6 tools)
- crm_list_contacts — List CRM contacts assigned to the authenticated user
- crm_get_contact — Get a single CRM contact by ID
- crm_search_contacts — Search contacts by name, email, or phone (substring match)
- crm_create_contact — Create a new CRM contact
- crm_update_contact — Update an existing CRM contact by ID
- crm_delete_contact — Soft-delete a CRM contact by ID (sets deletedAt timestamp)
Leads (6 tools)
- crm_list_leads — List CRM leads assigned to the authenticated user
- crm_get_lead — Get a single CRM lead by ID
- crm_search_leads — Search leads by name, company, or email (substring match)
- crm_create_lead — Create a new CRM lead
- crm_update_lead — Update an existing CRM lead by ID
- crm_delete_lead — Soft-delete a CRM lead by ID (sets deletedAt timestamp)
Opportunities (6 tools)
- crm_list_opportunities — List CRM opportunities assigned to the authenticated user
- crm_get_opportunity — Get a single CRM opportunity by ID
- crm_search_opportunities — Search opportunities by name or description (substring match)
- crm_create_opportunity — Create a new CRM opportunity
- crm_update_opportunity — Update an existing CRM opportunity by ID
- crm_delete_opportunity — Soft-delete a CRM opportunity by ID
Targets (6 tools)
- crm_list_targets — List CRM targets created by the authenticated user
- crm_get_target — Get a single CRM target by ID
- crm_search_targets — Search targets by name, email, or company (substring match)
- crm_create_target — Create a new CRM target
- crm_update_target — Update an existing CRM target by ID
- crm_delete_target — Soft-delete a CRM target by ID (sets deletedAt timestamp)
Products (5 tools)
- crm_list_products — List CRM products (org-wide catalog)
- crm_get_product — Get a single CRM product by ID
- crm_create_product — Create a new CRM product
- crm_update_product — Update an existing CRM product by ID
- crm_delete_product — Soft-delete a CRM product (sets deletedAt timestamp)
Contracts (5 tools)
- crm_list_contracts — List CRM contracts (org-wide)
- crm_get_contract — Get a single CRM contract by ID with line items
- crm_create_contract — Create a new CRM contract with optional line items
- crm_update_contract — Update an existing CRM contract by ID (does not modify line items)
- crm_delete_contract — Soft-delete a CRM contract (sets deletedAt timestamp)
Activities (5 tools)
- crm_list_activities — List CRM activities created by the authenticated user, optionally filtered by linked entity
- crm_get_activity — Get a single CRM activity by ID with entity links
- crm_create_activity — Create a CRM activity (call/meeting/note/email) and link to entities
- crm_update_activity — Update an existing CRM activity by ID
- crm_delete_activity — Soft-delete a CRM activity by ID (sets deletedAt timestamp)
Documents (8 tools)
- crm_list_documents — List documents, optionally filtered by linked entity type and ID
- crm_get_document — Get a single document by ID
- crm_create_document — Create a document record and get a presigned upload URL
- crm_get_upload_url — Get a presigned upload URL for an existing document
- crm_get_download_url — Get a presigned download URL for a document
- crm_link_document — Link a document to an entity (account, contact, lead, opportunity, or task)
- crm_unlink_document — Remove a document link from an entity
- crm_delete_document — Soft-delete a document (sets status to DELETED)
Target Lists (7 tools)
- crm_list_target_lists — List target lists (org-wide)
- crm_get_target_list — Get a target list by ID with its members
- crm_create_target_list — Create a new target list
- crm_update_target_list — Update a target list by ID
- crm_delete_target_list — Soft-delete a target list (sets deletedAt timestamp)
- crm_add_to_target_list — Add one or more targets to a target list
- crm_remove_from_target_list — Remove one or more targets from a target list
Enrichment (4 tools)
- crm_enrich_contact — Enrich a single contact using Firecrawl + AI (requires API keys configured)
- crm_enrich_contact_bulk — Enrich multiple contacts in bulk (max 100, dispatches async jobs)
- crm_enrich_target — Enrich a single target using Firecrawl + AI (requires API keys configured)
- crm_enrich_target_bulk — Enrich multiple targets in bulk (max 100, dispatches async jobs)
Email Accounts (1 tool)
- crm_list_email_accounts — List the authenticated user's connected email accounts
Campaigns (18 tools)
- campaigns_list — List campaigns (org-wide)
- campaigns_get — Get a campaign by ID with steps and stats summary
- campaigns_create — Create a new campaign
- campaigns_update — Update a campaign by ID
- campaigns_delete — Soft-delete a campaign (sets deletedAt timestamp)
- campaigns_send — Trigger sending a campaign (must be in draft or scheduled status)
- campaigns_pause — Pause an active/sending campaign
- campaigns_resume — Resume a paused campaign
- campaigns_list_templates — List campaign email templates (org-wide)
- campaigns_get_template — Get a campaign template by ID
- campaigns_create_template — Create a campaign email template
- campaigns_update_template — Update a campaign template by ID
- campaigns_delete_template — Soft-delete a campaign template (sets deletedAt timestamp)
- campaigns_create_step — Add a step to a campaign sequence
- campaigns_update_step — Update a campaign step by ID
- campaigns_delete_step — Delete a campaign step by ID
- campaigns_assign_target_list — Assign a target list to a campaign
- campaigns_remove_target_list — Remove a target list from a campaign
- campaigns_get_stats — Get send/open/click/unsubscribe stats for a campaign
Projects (18 tools)
- projects_list_boards — List project boards the user owns or is shared with
- projects_get_board — Get a project board with its sections and tasks
- projects_create_board — Create a new project board
- projects_update_board — Update a project board by ID
- projects_delete_board — Soft-delete a project board (sets deletedAt timestamp)
- projects_create_section — Add a section (column) to a board
- projects_update_section — Update a section title or position
- projects_delete_section — Delete a section (must be empty)
- projects_list_tasks — List tasks, optionally filtered by board, section, user, or status
- projects_get_task — Get a task by ID with comments and documents
- projects_create_task — Create a task in a board section
- projects_update_task — Update a task by ID
- projects_move_task — Move a task to a different section and/or position
- projects_delete_task — Soft-delete a task
- projects_add_comment — Add a comment to a task
- projects_list_comments — List comments on a task
- projects_assign_document — Link a document to a task
- projects_watch_board — Watch or unwatch a project board
Reports (2 tools)
- reports_list — List available report configurations
- reports_run — Run a report by category and get the data
Common Workflows
Research a company and create an account
crm_search_accounts — check if it already exists
crm_create_account — create the account with company details
crm_create_contact — add key contacts
crm_create_activity — log the research as a note
Build a prospecting campaign
crm_create_target_list — create a target list
crm_create_target (repeated) — add prospects
crm_add_to_target_list — add targets to the list
campaigns_create — create the campaign
campaigns_create_template — create email template
campaigns_create_step — add sequence steps
campaigns_assign_target_list — connect target list to campaign
campaigns_send — launch the campaign
Track a deal pipeline
crm_list_opportunities — review current pipeline
crm_create_opportunity — add new deal
crm_create_activity — log meetings and calls
crm_link_document — attach proposals
crm_update_opportunity — update stage/amount as deal progresses
Enrich contacts with AI
crm_list_targets or crm_search_targets — find targets to enrich
crm_enrich_target_bulk — enrich up to 100 targets at once
crm_get_target — check enrichment results
Project management
projects_create_board — create a project board
projects_create_section — add columns (To Do, In Progress, Done)
projects_create_task — add tasks
projects_move_task — move tasks between sections
projects_add_comment — discuss tasks
Notes
- All list operations support pagination (cursor-based)
- Search operations use substring matching
- Delete operations are soft-deletes (set
deletedAt, recoverable via admin audit log)
- Data is scoped to the authenticated user where applicable
- Enrichment tools require API keys (OpenAI + Firecrawl) configured at system or user level
Source: pdovhomilja/nextcrm-app — distributed by TomeVault.
1---2name: nextcrm3description: Connect to NextCRM MCP server to manage CRM data — accounts, contacts, leads, opportunities, targets, products, contracts, activities, documents, target lists, enrichment, email accounts, campaigns, projects, and reports. Use when this capability is needed.4---56# NextCRM MCP Server Skill78Use the NextCRM MCP server to read and write CRM data. This skill documents all available tools and how to use them.910## Connection Setup1112The server supports two MCP transports. Pick one — most modern clients (Claude Code, Cursor) work with either.1314### Option A — Streamable HTTP (recommended)1516Single POST endpoint. Simpler, the current MCP spec default.1718```json19{20 "mcpServers": {21 "nextcrm": {22 "type": "http",23 "url": "https://YOUR_NEXTCRM_URL/api/mcp/mcp",24 "headers": { "Authorization": "Bearer YOUR_API_TOKEN" }25 }26 }27}28```2930### Option B — SSE (legacy, for older clients)3132Two endpoints: a GET SSE stream and a POST message channel. The client opens `/api/mcp/sse`, the server announces the matching `/api/mcp/message?sessionId=…` endpoint over the stream, and the client POSTs JSON-RPC there.3334```json35{36 "mcpServers": {37 "nextcrm": {38 "type": "sse",39 "url": "https://YOUR_NEXTCRM_URL/api/mcp/sse",40 "headers": { "Authorization": "Bearer YOUR_API_TOKEN" }41 }42 }43}44```4546You only configure the `/sse` URL — the client discovers the message endpoint automatically.4748### Notes4950- Replace `YOUR_NEXTCRM_URL` with your NextCRM instance URL (e.g. `http://localhost:3000` for local dev)51- Replace `YOUR_API_TOKEN` with a token generated from Profile > Developer > API Tokens52- Token prefix: `nxtc__`53- Some clients omit the `type` field and infer the transport from the URL — both forms above include it explicitly for clarity5455## Authentication5657All tools require a valid Bearer token. Tokens are generated from the Developer tab in your profile settings. Each token is SHA-256 hashed — the raw value is shown only once at creation.5859## Available Tools6061### Accounts (6 tools)6263- **crm_list_accounts** — List CRM accounts assigned to the authenticated user64- **crm_get_account** — Get a single CRM account by ID65- **crm_search_accounts** — Search accounts by name or website (substring match)66- **crm_create_account** — Create a new CRM account67- **crm_update_account** — Update an existing CRM account by ID68- **crm_delete_account** — Soft-delete a CRM account by ID (sets deletedAt timestamp)6970### Contacts (6 tools)7172- **crm_list_contacts** — List CRM contacts assigned to the authenticated user73- **crm_get_contact** — Get a single CRM contact by ID74- **crm_search_contacts** — Search contacts by name, email, or phone (substring match)75- **crm_create_contact** — Create a new CRM contact76- **crm_update_contact** — Update an existing CRM contact by ID77- **crm_delete_contact** — Soft-delete a CRM contact by ID (sets deletedAt timestamp)7879### Leads (6 tools)8081- **crm_list_leads** — List CRM leads assigned to the authenticated user82- **crm_get_lead** — Get a single CRM lead by ID83- **crm_search_leads** — Search leads by name, company, or email (substring match)84- **crm_create_lead** — Create a new CRM lead85- **crm_update_lead** — Update an existing CRM lead by ID86- **crm_delete_lead** — Soft-delete a CRM lead by ID (sets deletedAt timestamp)8788### Opportunities (6 tools)8990- **crm_list_opportunities** — List CRM opportunities assigned to the authenticated user91- **crm_get_opportunity** — Get a single CRM opportunity by ID92- **crm_search_opportunities** — Search opportunities by name or description (substring match)93- **crm_create_opportunity** — Create a new CRM opportunity94- **crm_update_opportunity** — Update an existing CRM opportunity by ID95- **crm_delete_opportunity** — Soft-delete a CRM opportunity by ID9697### Targets (6 tools)9899- **crm_list_targets** — List CRM targets created by the authenticated user100- **crm_get_target** — Get a single CRM target by ID101- **crm_search_targets** — Search targets by name, email, or company (substring match)102- **crm_create_target** — Create a new CRM target103- **crm_update_target** — Update an existing CRM target by ID104- **crm_delete_target** — Soft-delete a CRM target by ID (sets deletedAt timestamp)105106### Products (5 tools)107108- **crm_list_products** — List CRM products (org-wide catalog)109- **crm_get_product** — Get a single CRM product by ID110- **crm_create_product** — Create a new CRM product111- **crm_update_product** — Update an existing CRM product by ID112- **crm_delete_product** — Soft-delete a CRM product (sets deletedAt timestamp)113114### Contracts (5 tools)115116- **crm_list_contracts** — List CRM contracts (org-wide)117- **crm_get_contract** — Get a single CRM contract by ID with line items118- **crm_create_contract** — Create a new CRM contract with optional line items119- **crm_update_contract** — Update an existing CRM contract by ID (does not modify line items)120- **crm_delete_contract** — Soft-delete a CRM contract (sets deletedAt timestamp)121122### Activities (5 tools)123124- **crm_list_activities** — List CRM activities created by the authenticated user, optionally filtered by linked entity125- **crm_get_activity** — Get a single CRM activity by ID with entity links126- **crm_create_activity** — Create a CRM activity (call/meeting/note/email) and link to entities127- **crm_update_activity** — Update an existing CRM activity by ID128- **crm_delete_activity** — Soft-delete a CRM activity by ID (sets deletedAt timestamp)129130### Documents (8 tools)131132- **crm_list_documents** — List documents, optionally filtered by linked entity type and ID133- **crm_get_document** — Get a single document by ID134- **crm_create_document** — Create a document record and get a presigned upload URL135- **crm_get_upload_url** — Get a presigned upload URL for an existing document136- **crm_get_download_url** — Get a presigned download URL for a document137- **crm_link_document** — Link a document to an entity (account, contact, lead, opportunity, or task)138- **crm_unlink_document** — Remove a document link from an entity139- **crm_delete_document** — Soft-delete a document (sets status to DELETED)140141### Target Lists (7 tools)142143- **crm_list_target_lists** — List target lists (org-wide)144- **crm_get_target_list** — Get a target list by ID with its members145- **crm_create_target_list** — Create a new target list146- **crm_update_target_list** — Update a target list by ID147- **crm_delete_target_list** — Soft-delete a target list (sets deletedAt timestamp)148- **crm_add_to_target_list** — Add one or more targets to a target list149- **crm_remove_from_target_list** — Remove one or more targets from a target list150151### Enrichment (4 tools)152153- **crm_enrich_contact** — Enrich a single contact using Firecrawl + AI (requires API keys configured)154- **crm_enrich_contact_bulk** — Enrich multiple contacts in bulk (max 100, dispatches async jobs)155- **crm_enrich_target** — Enrich a single target using Firecrawl + AI (requires API keys configured)156- **crm_enrich_target_bulk** — Enrich multiple targets in bulk (max 100, dispatches async jobs)157158### Email Accounts (1 tool)159160- **crm_list_email_accounts** — List the authenticated user's connected email accounts161162### Campaigns (18 tools)163164- **campaigns_list** — List campaigns (org-wide)165- **campaigns_get** — Get a campaign by ID with steps and stats summary166- **campaigns_create** — Create a new campaign167- **campaigns_update** — Update a campaign by ID168- **campaigns_delete** — Soft-delete a campaign (sets deletedAt timestamp)169- **campaigns_send** — Trigger sending a campaign (must be in draft or scheduled status)170- **campaigns_pause** — Pause an active/sending campaign171- **campaigns_resume** — Resume a paused campaign172- **campaigns_list_templates** — List campaign email templates (org-wide)173- **campaigns_get_template** — Get a campaign template by ID174- **campaigns_create_template** — Create a campaign email template175- **campaigns_update_template** — Update a campaign template by ID176- **campaigns_delete_template** — Soft-delete a campaign template (sets deletedAt timestamp)177- **campaigns_create_step** — Add a step to a campaign sequence178- **campaigns_update_step** — Update a campaign step by ID179- **campaigns_delete_step** — Delete a campaign step by ID180- **campaigns_assign_target_list** — Assign a target list to a campaign181- **campaigns_remove_target_list** — Remove a target list from a campaign182- **campaigns_get_stats** — Get send/open/click/unsubscribe stats for a campaign183184### Projects (18 tools)185186- **projects_list_boards** — List project boards the user owns or is shared with187- **projects_get_board** — Get a project board with its sections and tasks188- **projects_create_board** — Create a new project board189- **projects_update_board** — Update a project board by ID190- **projects_delete_board** — Soft-delete a project board (sets deletedAt timestamp)191- **projects_create_section** — Add a section (column) to a board192- **projects_update_section** — Update a section title or position193- **projects_delete_section** — Delete a section (must be empty)194- **projects_list_tasks** — List tasks, optionally filtered by board, section, user, or status195- **projects_get_task** — Get a task by ID with comments and documents196- **projects_create_task** — Create a task in a board section197- **projects_update_task** — Update a task by ID198- **projects_move_task** — Move a task to a different section and/or position199- **projects_delete_task** — Soft-delete a task200- **projects_add_comment** — Add a comment to a task201- **projects_list_comments** — List comments on a task202- **projects_assign_document** — Link a document to a task203- **projects_watch_board** — Watch or unwatch a project board204205### Reports (2 tools)206207- **reports_list** — List available report configurations208- **reports_run** — Run a report by category and get the data209210## Common Workflows211212### Research a company and create an account2131. `crm_search_accounts` — check if it already exists2142. `crm_create_account` — create the account with company details2153. `crm_create_contact` — add key contacts2164. `crm_create_activity` — log the research as a note217218### Build a prospecting campaign2191. `crm_create_target_list` — create a target list2202. `crm_create_target` (repeated) — add prospects2213. `crm_add_to_target_list` — add targets to the list2224. `campaigns_create` — create the campaign2235. `campaigns_create_template` — create email template2246. `campaigns_create_step` — add sequence steps2257. `campaigns_assign_target_list` — connect target list to campaign2268. `campaigns_send` — launch the campaign227228### Track a deal pipeline2291. `crm_list_opportunities` — review current pipeline2302. `crm_create_opportunity` — add new deal2313. `crm_create_activity` — log meetings and calls2324. `crm_link_document` — attach proposals2335. `crm_update_opportunity` — update stage/amount as deal progresses234235### Enrich contacts with AI2361. `crm_list_targets` or `crm_search_targets` — find targets to enrich2372. `crm_enrich_target_bulk` — enrich up to 100 targets at once2383. `crm_get_target` — check enrichment results239240### Project management2411. `projects_create_board` — create a project board2422. `projects_create_section` — add columns (To Do, In Progress, Done)2433. `projects_create_task` — add tasks2444. `projects_move_task` — move tasks between sections2455. `projects_add_comment` — discuss tasks246247## Notes248249- All list operations support pagination (cursor-based)250- Search operations use substring matching251- Delete operations are soft-deletes (set `deletedAt`, recoverable via admin audit log)252- Data is scoped to the authenticated user where applicable253- Enrichment tools require API keys (OpenAI + Firecrawl) configured at system or user level254255---256> Source: [pdovhomilja/nextcrm-app](https://github.com/pdovhomilja/nextcrm-app) — distributed by [TomeVault](https://tomevault.io).257<!-- tomevault:4.0:skill_md:2026-06-29 -->