Shopmonkey MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Look up shop customers, vehicles, work orders and parts, and create orders or book appointments.
23 tools: 7 can delete or cancel things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels7Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads16Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http shopmonkey https://shopmonkey.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
23 tools
Deletes or cancels 7Claude Code: deny
shopmonkey_add_customer_emailAdd an email address to an existing customer, optionally as their primary address.No findings
Why it is in this group
- The name "shopmonkey_add_customer_email" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add an email address to an existing customer, optionally as their primary address. Shopmonkey: POST /v3/customer/:id/email.
Annotations the server declares
- title: Add an email to a customer
- destructiveHint: true
shopmonkey_create_appointmentBook an appointment on the shop calendar, optionally for a customer, vehicle and order and assigned to technicians.No findings
Why it is in this group
- The name "shopmonkey_create_appointment" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Book an appointment on the shop calendar, optionally for a customer, vehicle and order and assigned to technicians. Confirmation/reminder messages are only sent if you ask. Shopmonkey: POST /v3/appointment.
Annotations the server declares
- title: Book an appointment
- destructiveHint: true
shopmonkey_create_customerCreate a customer (a person) or a fleet account.No findings
Why it is in this group
- The name "shopmonkey_create_customer" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a customer (a person) or a fleet account. Add an email afterwards with shopmonkey_add_customer_email. Shopmonkey: POST /v3/customer.
Annotations the server declares
- title: Create a customer
- destructiveHint: true
shopmonkey_create_orderOpen a new work order (it starts as an estimate) for a customer and vehicle.No findings
Why it is in this group
- The name "shopmonkey_create_order" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Open a new work order (it starts as an estimate) for a customer and vehicle. Add services in the Shopmonkey UI. Shopmonkey: POST /v3/order.
Annotations the server declares
- title: Create an order
- destructiveHint: true
shopmonkey_create_vehicleCreate a vehicle, optionally attached to a customer.No findings
Why it is in this group
- The name "shopmonkey_create_vehicle" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a vehicle, optionally attached to a customer. Shopmonkey: POST /v3/vehicle.
Annotations the server declares
- title: Create a vehicle
- destructiveHint: true
shopmonkey_update_customerUpdate a customer's name, address, note or preferences.No findings
Why it is in this group
- The name "shopmonkey_update_customer" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update a customer's name, address, note or preferences. Only the fields you pass are sent. Shopmonkey: PUT /v3/customer/:id.
Annotations the server declares
- title: Update a customer
- destructiveHint: true
shopmonkey_update_orderUpdate a work order — move it to another workflow status, change its status (Estimate, RepairOrder, Invoice), edit complaint/recommendation, due date, service writer, or archive it…No findings
Why it is in this group
- The name "shopmonkey_update_order" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update a work order — move it to another workflow status, change its status (Estimate, RepairOrder, Invoice), edit complaint/recommendation, due date, service writer, or archive it. Only the fields you pass are sent. Shopmonkey: PUT /v3/order/:id.
Annotations the server declares
- title: Update an order
- destructiveHint: true
Only reads 16Claude Code: allow
shopmonkey_find_customers_by_emailFind the customers that own any of the given email addresses.No findings
Why it is in this group
- The name "shopmonkey_find_customers_by_email" says "find": a word for reading.
Description, as the server wrote it Find the customers that own any of the given email addresses. Shopmonkey: POST /v3/customer/email/search.
Annotations the server declares
- title: Find customers by email
- readOnlyHint: true
shopmonkey_find_customers_by_phoneFind the customers that own any of the given phone numbers — the usual way to identify a caller.No findings
Why it is in this group
- The name "shopmonkey_find_customers_by_phone" says "find": a word for reading.
Description, as the server wrote it Find the customers that own any of the given phone numbers — the usual way to identify a caller. Shopmonkey: POST /v3/customer/phone_number/search.
Annotations the server declares
- title: Find customers by phone number
- readOnlyHint: true
shopmonkey_get_current_userFetch the user this API key acts as — id, name, company, default location and permissions.No findings
Why it is in this group
- The name "shopmonkey_get_current_user" says "get": a word for reading.
Description, as the server wrote it Fetch the user this API key acts as — id, name, company, default location and permissions. A cheap way to confirm the key works and to find your locationId. Shopmonkey: GET /v3/user/me.
Annotations the server declares
- title: Get the current user
- readOnlyHint: true
shopmonkey_get_customerFetch a single customer by id — contact details, emails, phone numbers, counts of vehicles/orders/appointments.No findings
Why it is in this group
- The name "shopmonkey_get_customer" says "get": a word for reading.
Description, as the server wrote it Fetch a single customer by id — contact details, emails, phone numbers, counts of vehicles/orders/appointments. Shopmonkey: GET /v3/customer/:id.
Annotations the server declares
- title: Get one customer
- readOnlyHint: true
shopmonkey_get_orderFetch a single work order by id — customer, vehicle, complaint, totals (parts/labor/tax in cents), payment state and profitability.No findings
Why it is in this group
- The name "shopmonkey_get_order" says "get": a word for reading.
Description, as the server wrote it Fetch a single work order by id — customer, vehicle, complaint, totals (parts/labor/tax in cents), payment state and profitability. Shopmonkey: GET /v3/order/:id.
Annotations the server declares
- title: Get one order
- readOnlyHint: true
shopmonkey_get_vehicleFetch a single vehicle by id, including its mileage and tire-pressure logs.No findings
Why it is in this group
- The name "shopmonkey_get_vehicle" says "get": a word for reading.
Description, as the server wrote it Fetch a single vehicle by id, including its mileage and tire-pressure logs. Shopmonkey: GET /v3/vehicle/:id.
Annotations the server declares
- title: Get one vehicle
- readOnlyHint: true
shopmonkey_list_canned_servicesList the shop's canned services (reusable job templates like 'Oil change') with their labor, parts and fees and total in cents.No findings
Why it is in this group
- The name "shopmonkey_list_canned_services" says "list": a word for reading.
Description, as the server wrote it List the shop's canned services (reusable job templates like 'Oil change') with their labor, parts and fees and total in cents. Shopmonkey: GET /v3/canned_service.
Annotations the server declares
- title: List canned services
- readOnlyHint: true
shopmonkey_list_customer_ordersList a customer's work orders (estimates, repair orders, invoices) — their service history.No findings
Why it is in this group
- The name "shopmonkey_list_customer_orders" says "list": a word for reading.
Description, as the server wrote it List a customer's work orders (estimates, repair orders, invoices) — their service history. Shopmonkey: GET /v3/customer/:id/order.
Annotations the server declares
- title: List a customer's orders
- readOnlyHint: true
shopmonkey_list_customer_vehiclesList the vehicles owned by a customer (year/make/model, VIN, plate, mileage).No findings
Why it is in this group
- The name "shopmonkey_list_customer_vehicles" says "list": a word for reading.
Description, as the server wrote it List the vehicles owned by a customer (year/make/model, VIN, plate, mileage). Shopmonkey: GET /v3/customer/:id/vehicle.
Annotations the server declares
- title: List a customer's vehicles
- readOnlyHint: true
shopmonkey_list_order_servicesList the services (jobs) on a work order with their line items — labor, parts, tires, fees, subcontracts — authorization status and totals.No findings
Why it is in this group
- The name "shopmonkey_list_order_services" says "list": a word for reading.
Description, as the server wrote it List the services (jobs) on a work order with their line items — labor, parts, tires, fees, subcontracts — authorization status and totals. Shopmonkey: GET /v3/order/:orderId/service.
Annotations the server declares
- title: List an order's services
- readOnlyHint: true
shopmonkey_list_ordersList work orders for the shop, paged.No findings
Why it is in this group
- The name "shopmonkey_list_orders" says "list": a word for reading.
Description, as the server wrote it List work orders for the shop, paged. Each order carries its number, status flags (authorized, invoiced, paid), totals in cents, workflow status and assigned technicians. For one customer's orders use shopmonkey_list_customer_orders. Shopmonkey: GET /v3/order.
Annotations the server declares
- title: List orders
- readOnlyHint: true
shopmonkey_list_usersList the shop's users (service writers, technicians, admins) — the ids to use for technicians and service writers.No findings
Why it is in this group
- The name "shopmonkey_list_users" says "list": a word for reading.
Description, as the server wrote it List the shop's users (service writers, technicians, admins) — the ids to use for technicians and service writers. Shopmonkey: GET /v3/user.
Annotations the server declares
- title: List users
- readOnlyHint: true
shopmonkey_list_workflow_statusesList the workflow statuses (the columns of the shop's work-order board) with their position.No findings
Why it is in this group
- The name "shopmonkey_list_workflow_statuses" says "list": a word for reading.
Description, as the server wrote it List the workflow statuses (the columns of the shop's work-order board) with their position. Use the id to move an order with shopmonkey_update_order. Shopmonkey: GET /v3/workflow_status.
Annotations the server declares
- title: List workflow statuses
- readOnlyHint: true
shopmonkey_search_appointmentsSearch the appointment calendar by date range, customer, order or technician.No findings
Why it is in this group
- The name "shopmonkey_search_appointments" says "search": a word for reading.
Description, as the server wrote it Search the appointment calendar by date range, customer, order or technician. Returns appointments with their customer. Shopmonkey: POST /v3/appointment/search.
Annotations the server declares
- title: Search appointments
- readOnlyHint: true
shopmonkey_search_customersSearch customers with a server-side filter, sort and paging.No findings
Why it is in this group
- The name "shopmonkey_search_customers" says "search": a word for reading.
Description, as the server wrote it Search customers with a server-side filter, sort and paging. Returns customers with their emails and phone numbers. Shopmonkey: POST /v3/customer/search.
Annotations the server declares
- title: Search customers
- readOnlyHint: true
shopmonkey_search_inventory_partsSearch the parts inventory — name, part number, SKU, quantity on hand/available/reserved, retail and wholesale cost in cents, bin location, brand and vendor.No findings
Why it is in this group
- The name "shopmonkey_search_inventory_parts" says "search": a word for reading.
Description, as the server wrote it Search the parts inventory — name, part number, SKU, quantity on hand/available/reserved, retail and wholesale cost in cents, bin location, brand and vendor. Filter e.g. {"sku": "ABC-123"}. Shopmonkey: POST /v3/inventory_part/search.
Annotations the server declares
- title: Search inventory parts
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http shopmonkey https://shopmonkey.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__shopmonkey__shopmonkey_get_current_user",
"mcp__shopmonkey__shopmonkey_search_customers",
"mcp__shopmonkey__shopmonkey_find_customers_by_phone",
"mcp__shopmonkey__shopmonkey_find_customers_by_email",
"mcp__shopmonkey__shopmonkey_get_customer",
"mcp__shopmonkey__shopmonkey_list_customer_vehicles",
"mcp__shopmonkey__shopmonkey_list_customer_orders",
"mcp__shopmonkey__shopmonkey_get_vehicle",
"mcp__shopmonkey__shopmonkey_list_orders",
"mcp__shopmonkey__shopmonkey_get_order",
"mcp__shopmonkey__shopmonkey_list_order_services",
"mcp__shopmonkey__shopmonkey_search_appointments",
"mcp__shopmonkey__shopmonkey_search_inventory_parts",
"mcp__shopmonkey__shopmonkey_list_canned_services",
"mcp__shopmonkey__shopmonkey_list_workflow_statuses",
"mcp__shopmonkey__shopmonkey_list_users"
],
"ask": [],
"deny": [
"mcp__shopmonkey__shopmonkey_create_customer",
"mcp__shopmonkey__shopmonkey_update_customer",
"mcp__shopmonkey__shopmonkey_add_customer_email",
"mcp__shopmonkey__shopmonkey_create_vehicle",
"mcp__shopmonkey__shopmonkey_create_order",
"mcp__shopmonkey__shopmonkey_update_order",
"mcp__shopmonkey__shopmonkey_create_appointment"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as shopmonkey. Review it before you use it.