# JobNimbus — how to use (mcp.ai)

Connect your JobNimbus account and use 21 tools for CRM straight from your AI agent. Connect with your own API key. JobNimbus is a CRM and project management software designed for contractors, helping streamline scheduling, estimates, invoicing, and job tracking.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_jobnimbus?ms=1787291400000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `jobnimbus_account_create_location`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/jobnimbus`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/jobnimbus/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/jobnimbus/account/create/location` — Tool to create a new location in JobNimbus. Use after gathering address and contact details.
  - body: { zip?: string, city?: string, code?: string, name: string, phone?: string, is_active?: boolean, state_text?: string, country_name?: string, address_line1?: string, address_line2?: string }
- `POST https://api.mcp.ai/api/jobnimbus/account/get/settings` — Tool to retrieve account-wide settings (workflows, types, sources). Use after authenticating to load or refresh workflow and source mappings.
  - body: { actor?: string }
- `POST https://api.mcp.ai/api/jobnimbus/activity/get` — Retrieves a specific JobNimbus activity by its unique jnid. Activities in JobNimbus represent logged events such as task modifications, contact updates, job creation, and other system actions. Each ac
  - body: { jnid: string }
- `POST https://api.mcp.ai/api/jobnimbus/contact/get` — Tool to retrieve a contact by ID. Use after obtaining the contact’s jnid to fetch full details.
  - body: { jnid: string }
- `POST https://api.mcp.ai/api/jobnimbus/contact/list` — Tool to list all contacts. Use when you need to fetch multiple contacts, e.g., for reporting or synchronization.
  - body: { from?: integer, size?: integer, fields?: string, filter?: string, sort_field?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/jobnimbus/contact/update` — Tool to update an existing contact. Use when you have a contact's JNID and need to modify its fields. Call after fetching or creating a contact.
  - body: { zip?: string, city?: string, jnid: string, tags?: string[], email?: string, company?: string, website?: string, lastName?: string, faxNumber?: string, firstName?: string, homePhone?: string, stateText?: string, workPhone?: string, externalId?: string, sourceName?: string, statusName?: string, contactType?: string, description?: string, displayName?: string, mobilePhone?: string, addressLine1?: string, addressLine2?: string, salesRepName?: string }
- `POST https://api.mcp.ai/api/jobnimbus/create/file/type` — Creates a new file attachment type in JobNimbus. File types are custom categories used to organize and classify document attachments (e.g., contracts, warranties, photos, permits). You must create a f
  - body: { IsActive?: boolean, TypeName: string }
- `POST https://api.mcp.ai/api/jobnimbus/create/material/order` — Creates a new material order in JobNimbus. A material order tracks materials needed for a job and can be submitted to suppliers. Material orders must be linked to a contact or job record and include a
  - body: { items: object[], notes?: string, number?: string, status?: integer, related: object[], vendorId?: integer, assignedToId?: integer, expectedDate?: string }
- `POST https://api.mcp.ai/api/jobnimbus/create/task` — Tool to create a new task. Use when scheduling or tracking tasks linked to contacts or jobs.
  - body: { title: string, related?: object[], date_end?: integer, date_start: integer, record_type?: integer, record_type_name: string }
- `POST https://api.mcp.ai/api/jobnimbus/create/workflow/status` — Tool to create a new status in an existing workflow. Use after confirming the workflow ID to add specialized status entries like 'Lead' or 'Inspection'.
  - body: { name: string, is_lead?: boolean, is_active?: boolean, is_closed?: boolean, workflowid: string, is_archived?: boolean, force_mobile_sync?: boolean, send_to_quickbooks?: boolean }
- `POST https://api.mcp.ai/api/jobnimbus/file/get` — Retrieves the raw content of a specific file attachment from JobNimbus by its unique ID. This action downloads the actual file content (binary data for PDFs, images, etc.) but does NOT return file met
  - body: { jnid: string }
- `POST https://api.mcp.ai/api/jobnimbus/list/activities` — Tool to retrieve all activities. Use after authentication to fetch a paginated list of activities.
  - body: { size?: integer, filter?: string, offset?: integer, sort_field?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/jobnimbus/list/invoices` — Tool to list all invoices (v2). Use when you need to fetch multiple invoice records.
  - body: { from?: integer, size?: integer, fields?: string, filter?: string, sort_field?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/jobnimbus/list/material/orders` — Tool to list all material orders (v2). Use after authentication to fetch multiple material order records.
  - body: { from?: integer, size?: integer, fields?: string, filter?: string, sort_field?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/jobnimbus/list/payments` — Tool to retrieve payments list with optional filters. Use after auth.
  - body: { page?: integer, jobId?: integer, dateTo?: string, perPage?: integer, dateFrom?: string, contactId?: integer }
- `POST https://api.mcp.ai/api/jobnimbus/list/products` — Tool to list all products. Use after authentication to fetch full product catalog.
  - body: { from?: integer, size?: integer, fields?: string, filter?: string, sort_field?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/jobnimbus/list/workorders` — Tool to retrieve all work orders (v2). Use after authentication when you need a paginated list of work orders.
  - body: { from?: integer, size?: integer, fields?: string, filter?: string, sort_field?: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/jobnimbus/product/get` — Retrieves detailed information about a specific JobNimbus product using its jnid. Use this action when you need to get full details about a product, including pricing, cost, unit of measurement, and t
  - body: { jnid: string }
- `POST https://api.mcp.ai/api/jobnimbus/task/list` — Tool to list all tasks. Use when you need an overview of tasks for planning or review.
  - body: { page?: integer, status?: string, due_date?: string, per_page?: integer, assigned_to?: integer }
- `POST https://api.mcp.ai/api/jobnimbus/update/task` — Update an existing JobNimbus task by its jnid. Allows updating task details like title, description, dates, priority, and task type. Use List Tasks action to find task jnids. Note: To update task type
  - body: { jnid: string, title?: string, date_end?: integer, priority?: integer, date_start?: integer, description?: string, record_type?: integer, record_type_name?: string }
- `POST https://api.mcp.ai/api/jobnimbus/utility/get/uoms` — Tool to retrieve list of supported units of measure. Use after authenticating when you need to present or validate measurement units.

## Example prompts
- "What can I do in JobNimbus?"
- "Show me a summary of my JobNimbus account"

## More
- Page: https://mcp.ai/jobnimbus
- Agent spec (llms.txt): https://mcp.ai/jobnimbus/llms.txt
- Postman collection: https://mcp.ai/jobnimbus/postman.json
