Shopmonkey MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHOPMONKEY_API_KEY | Yes | Required — your Shopmonkey API key | |
| SHOPMONKEY_BASE_URL | No | Optional — defaults to https://api.shopmonkey.cloud/v3 | https://api.shopmonkey.cloud/v3 |
| SHOPMONKEY_LOCATION_ID | No | Optional — set this for multi-location shops to auto-filter all queries to one location |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ordersB | List work orders from Shopmonkey. Filter by status, customer ID, date range, or location. |
| get_orderB | Get detailed information about a single work order by its ID. |
| create_orderA | Create a new work order in Shopmonkey. |
| update_orderC | Update fields on an existing work order. |
| search_customersA | Search customers in Shopmonkey by query string. Supports full-body search with pagination. |
| search_customers_by_emailA | Search for a customer in Shopmonkey by email address. |
| search_customers_by_phoneA | Search for a customer in Shopmonkey by phone number. |
| get_customerA | Get detailed information about a single customer by their ID. |
| create_customerB | Create a new customer in Shopmonkey. |
| update_customerC | Update an existing customer's information. |
| get_vehicleB | Get detailed information about a single vehicle by its ID. |
| create_vehicleB | Add a new vehicle to Shopmonkey, optionally linked to a customer. |
| update_vehicleC | Update an existing vehicle's information. |
| list_vehicles_for_customerA | List all vehicles associated with a specific customer. |
| lookup_vehicle_by_vinB | Look up a vehicle in Shopmonkey by its VIN (Vehicle Identification Number). |
| lookup_vehicle_by_plateA | Look up a vehicle in Shopmonkey by its license plate and region. |
| list_vehicle_ownersB | List all customers who own or are associated with a specific vehicle. |
| list_inventory_partsC | List parts from Shopmonkey inventory. Supports pagination. |
| get_inventory_partB | Get detailed information about a single inventory part by its ID. |
| list_inventory_tiresB | List tires from Shopmonkey inventory. Supports pagination. |
| search_partsA | Search the parts catalog in Shopmonkey. Use for finding parts by name, number, or description. |
| list_appointmentsA | List appointments from Shopmonkey. Supports filtering and pagination. Date-filtered queries are routed through the /appointment/search endpoint, which applies the range server-side. |
| get_appointmentA | Get detailed information about a single appointment by its ID. |
| create_appointmentB | Book a new appointment in Shopmonkey. |
| update_appointmentC | Update or reschedule an existing appointment. |
| list_paymentsA | List payments from Shopmonkey. Supports filtering and pagination. |
| get_paymentB | Get detailed information about a single payment by its ID. |
| create_paymentA | Record a new payment in Shopmonkey. |
| list_laborA | List the labor line items on a service. Shopmonkey nests labor under order > service, so both orderId and serviceId are required — call list_services with an orderId first to get the serviceId. |
| assign_technicianA | Assign a technician to one or more labor line items on a work order. Use list_services (orderId) to find the serviceId, list_labor (orderId + serviceId) to find labor IDs, and list_users to find the technician's user ID. |
| list_timeclockA | List technician time clock events. Track clock-in/clock-out for shop staff. |
| list_usersB | List shop users and technicians from Shopmonkey. |
| get_userA | Get detailed information about a single shop user or technician by their ID. |
| list_servicesA | List the services on a work order. Shopmonkey nests services under their order — there is no flat service list — so orderId is required. |
| add_service_to_orderA | Add a service to a work order. Pass fromCannedServiceId to copy an existing canned service template (its labor, parts, fees) onto the order in one call, or pass name/note/pricing to create a custom one-off service instead. |
| list_canned_servicesA | List pre-built canned service templates from Shopmonkey. These are reusable service templates that can be added to work orders. |
| get_canned_serviceB | Get detailed information about a single canned service template by its ID. |
| create_canned_serviceA | Create a new canned service template in Shopmonkey. Canned services are reusable service bundles that can be added to work orders. |
| update_canned_serviceB | Update an existing canned service template by ID. |
| delete_canned_serviceA | Delete a canned service template by ID. |
| add_canned_service_feeA | Add a fee line item to an existing canned service template. |
| update_canned_service_feeC | Update a fee line item on a canned service template. |
| remove_canned_service_feeB | Remove a fee line item from a canned service template. |
| add_canned_service_laborA | Add a labor line item to an existing canned service template. |
| update_canned_service_laborA | Update a labor line item on a canned service template. |
| remove_canned_service_laborA | Remove a labor line item from a canned service template. |
| add_canned_service_partB | Add a part line item to an existing canned service template. |
| update_canned_service_partB | Update a part line item on a canned service template. |
| remove_canned_service_partA | Remove a part line item from a canned service template. |
| add_canned_service_subcontractB | Add a subcontract line item to an existing canned service template. |
| update_canned_service_subcontractC | Update a subcontract line item on a canned service template. |
| remove_canned_service_subcontractA | Remove a subcontract line item from a canned service template. |
| add_canned_service_tireA | Add a tire line item to an existing canned service template. |
| update_canned_service_tireC | Update a tire line item on a canned service template. |
| remove_canned_service_tireA | Remove a tire line item from a canned service template. |
| list_customer_deferred_servicesA | List deferred services (recommended-but-not-yet-performed work) for a customer. Useful for revenue-opportunity surfacing in chat. |
| list_workflow_statusesC | List workflow/pipeline status stages from Shopmonkey. Shows the progression stages work orders move through. |
| list_locationsA | List all shop locations in Shopmonkey. Useful for multi-location shops to identify location IDs for filtering other resources. |
| list_webhooksA | List all registered webhooks in Shopmonkey. |
| get_webhookA | Get details of a single webhook by ID. |
| create_webhookA | Create a new webhook in Shopmonkey. Use this to register Make.com or other endpoint URLs that receive Shopmonkey event notifications. |
| update_webhookB | Update an existing webhook by ID. |
| delete_webhookA | Delete a webhook by ID. |
| report_revenue_summaryA | Generate a revenue summary for orders INVOICED within a date range (filtered on invoicedDate, not order creation date). Aggregates by status and splits paid vs. unpaid revenue. Pages the full order list each call for a consistent total — check the returned |
| report_appointment_summaryA | Generate an appointment summary for a date range. Counts appointments by confirmation status (Confirmed/Declined/NoResponse). Uses the /appointment/search endpoint, which filters by date server-side. |
| report_open_estimatesA | List all open (unauthorized) estimates, showing their age in days. Useful for follow-up on stale estimates. Pages the full estimate list each call; check the returned |
| list_labelsA | List labels defined in Shopmonkey (custom tags such as "Warranty" or "Fleet"). Filter by exact name to find a label ID before assigning it. |
| get_labelA | Get a single label by its ID. |
| assign_labelA | Assign an existing label (found via list_labels) to an entity such as an Order or Customer. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |