Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Shopmonkey MCP by usefulapi
Overview
Description from the maker (original English)
Look up shop customers, vehicles, work orders and parts, and create orders or book appointments.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi3 of 3 passedChecked from public information; code not scanned yet
- UsageiNot measured yet★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs in the cloud
- Transport: Streamable HTTP
- Category: Online shops & payments
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 3 of 3 passed
- Runs on the maker’s server: what you ask it goes through their server.
- Can do 45 things (tools) shopmonkey_get_current_user, shopmonkey_search_customers, shopmonkey_find_customers_by_phone, shopmonkey_find_customers_by_email …
- The registry lists no key to fill in.
You need
- Runs in the cloudNothing to install; it connects over the internet
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
- Open Settings → Connectors
- Press Add custom connector
- Paste the address below and press Add
- If it asks you to sign in, sign in with the maker
https://shopmonkey.usefulapi.io/mcpRun this in your terminal
claude mcp add --transport http shopmonkey https://shopmonkey.usefulapi.io/mcpOr copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"shopmonkey": {
"url": "https://shopmonkey.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"shopmonkey": {
"type": "http",
"url": "https://shopmonkey.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
- Open ChatGPT on the web → Settings → Connectors (Apps)
- Press Create or Add (some plans need Developer mode under Advanced first)
- Paste the address below, give it a name and save
- If it asks you to sign in, sign in with the maker
https://shopmonkey.usefulapi.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
shopmonkey_get_current_userFetch 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.
shopmonkey_search_customersSearch customers with a server-side filter, sort and paging. Returns customers with their emails and phone numbers. Shopmonkey: POST /v3/customer/search.
shopmonkey_find_customers_by_phoneFind the customers that own any of the given phone numbers — the usual way to identify a caller. Shopmonkey: POST /v3/customer/phone_number/search.
shopmonkey_find_customers_by_emailFind the customers that own any of the given email addresses. Shopmonkey: POST /v3/customer/email/search.
shopmonkey_get_customerFetch a single customer by id — contact details, emails, phone numbers, counts of vehicles/orders/appointments. Shopmonkey: GET /v3/customer/:id.
shopmonkey_list_customer_vehiclesList the vehicles owned by a customer (year/make/model, VIN, plate, mileage). Shopmonkey: GET /v3/customer/:id/vehicle.
shopmonkey_list_customer_ordersList a customer's work orders (estimates, repair orders, invoices) — their service history. Shopmonkey: GET /v3/customer/:id/order.
shopmonkey_get_vehicleFetch a single vehicle by id, including its mileage and tire-pressure logs. Shopmonkey: GET /v3/vehicle/:id.
shopmonkey_list_ordersList work orders for the shop, paged. Use orderBy: {createdDate: 'desc'} for newest first. Each order carries its number, status flags, totals in cents, workflow status and assigned technicians. For name/date filters use shopmonkey_search_orders; for one customer's orders use sho
shopmonkey_search_ordersFind work orders by case-insensitive name substring, creation date, customer or status. Reads pages and checks filters locally because some shops ignore GET filters. Scans 300 orders by default and at most 500 per call; continue with nextScanSkip. On vendor throttling, wait retry
shopmonkey_list_purchase_ordersRead purchase orders with parts, tires, received quantities, inventory links and Draft/Ordered/Received/Fulfilled/Cancelled status. Paged; use orderBy for sorting. The public API documents reads and deletions, but no create/update/receive endpoints: change status, Receive All and
shopmonkey_get_purchase_orderRead one purchase order, including its status, vendor, parts/tires, ordered and received quantities, inventory links and associated work order. Purchase-order creation, status changes and receiving are not documented public API operations; use the Shopmonkey UI for those writes.
shopmonkey_get_orderFetch a single work order by id — customer, vehicle, complaint, totals (parts/labor/tax in cents), payment state and profitability. Shopmonkey: GET /v3/order/:id.
shopmonkey_list_order_filesList the files attached to a work order (photos, screenshots, PDFs such as part slips): id, name, type, size and whether a thumbnail exists. Use shopmonkey_get_order_file with a file id to see the content, for example to read the text of a part slip. Shopmonkey's public API has n
shopmonkey_get_order_fileReturn one file attached to a work order so you can see it: a JPEG, PNG, GIF or WebP image as image content (read the text of a part slip or screenshot from it), a PDF as an embedded file. Get fileId from shopmonkey_list_order_files. variant "thumbnail" returns Shopmonkey's small
shopmonkey_find_order_by_numberFind a work order by the number the shop sees (e.g. 1042 or #1042), also matching an overridden external number. Tries server-side filters on the first call, then scans newest first, comparing numbers exactly. Scans 300 orders by default, at most 500 and five scan requests per ca
shopmonkey_list_order_servicesList 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.
shopmonkey_search_appointmentsSearch the appointment calendar by date range, customer, order or technician. Returns appointments with their customer. Shopmonkey: POST /v3/appointment/search.
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. Filter e.g. {"sku": "ABC-123"}. Shopmonkey: POST /v3/inventory_part/search.
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. Shopmonkey: GET /v3/canned_service.
shopmonkey_list_workflow_statusesList 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.
shopmonkey_list_usersList the shop's users (service writers, technicians, admins) — the ids to use for technicians and service writers. Shopmonkey: GET /v3/user.
shopmonkey_list_time_entriesFind time entries and their ids, technician, order, activity, running state, clock-in/out times and duration. Use inProgress: true to reconcile a clock-in/out whose response was uncertain. Paginate with limit/skip. Shopmonkey: POST /v3/timesheet/search (read-only).
shopmonkey_get_time_entryRead one time entry to inspect its technician, order, activity, running state and clock-in/out times. Use the timesheetId returned by shopmonkey_clock_in or shopmonkey_list_time_entries. Shopmonkey: GET /v3/timesheet/:id.
shopmonkey_clock_inStart an order-level timer now for orderId and technicianId (a user id from shopmonkey_list_users). Omit confirm to preview; confirm: true starts it. Reuses an already-running timer on this order and refuses to silently stop/switch any other activity. Returns timesheetId for cloc
shopmonkey_clock_outStop an order-level timer now, scoped to orderId and technicianId. Pass timesheetId from clock-in/list, or omit it to resolve exactly one active matching entry. Omit confirm to preview, then call with the preview's timesheetId and confirm: true. Checks entry ownership/activity an
shopmonkey_create_customerCreate a customer (a person) or a fleet account. Add an email afterwards with shopmonkey_add_customer_email. Shopmonkey: POST /v3/customer.
shopmonkey_update_customerUpdate a customer's name, address, note or preferences. Only the fields you pass are sent. Shopmonkey: PUT /v3/customer/:id.
shopmonkey_add_customer_emailAdd an email address to an existing customer, optionally as their primary address. Shopmonkey: POST /v3/customer/:id/email.
shopmonkey_create_vehicleCreate a vehicle, optionally attached to a customer. Shopmonkey: POST /v3/vehicle.
shopmonkey_create_orderOpen a new work order (it starts as an estimate) for a customer and vehicle. Add services and labor with shopmonkey_add_service. Shopmonkey: POST /v3/order.
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. Only the fields you pass are sent. Shopmonkey: PUT /v3/order/:id.
shopmonkey_create_appointmentBook 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.
shopmonkey_update_appointmentChange an existing appointment — move it (new startDate/endDate), rename it, change its note, color, technicians, customer, vehicle or linked order, or set its confirmation status. Only the fields you pass are sent, so nothing is duplicated. Find the id with shopmonkey_search_app
shopmonkey_delete_appointmentWRITE — removes an appointment from the shop calendar. To move it instead, use shopmonkey_update_appointment. Without confirm it only previews: it reads the appointment and deletes nothing. Show the preview to the user, then call again with confirm: true. After the delete the app
shopmonkey_add_serviceAdd a new service (job) to a work order, e.g. 'Road Call', optionally with labor lines (name, hours, hourly rate in cents). The service is created first, then each labor line is added to it. Find the order id with shopmonkey_find_order_by_number. To add labor to a service that ex
shopmonkey_apply_canned_serviceCopy a saved canned service onto an existing work order in one vendor request, including its labor, parts and fees. Use shopmonkey_list_canned_services for cannedServiceId. Creates a new service each time; check shopmonkey_list_order_services before retrying an uncertain result.
shopmonkey_add_feeAdd a fixed-cent fee/surcharge to an existing work order service, e.g. amountCents: 3000 for a $30 fuel or on-site fee. Uses the vendor's FixedCents fee type, not a labor line. Get serviceId with shopmonkey_list_order_services. Each call creates a fee; check the service before re
shopmonkey_send_messageSend a free-form customer message by Email, SMS or All through Shopmonkey messaging. This sends the supplied text without sharing an estimate or changing order authorization. Contact ids must belong to customerId; omitted ids use the primary or only contact (or the selected order
shopmonkey_add_laborAdd a labor line (name, hours, hourly rate in cents, technician) to a service on a work order. Get the service id with shopmonkey_list_order_services; to start a new service, use shopmonkey_add_service. Shopmonkey: POST /v3/order/:orderId/service/:serviceId/labor.
shopmonkey_send_estimateShare a work order's estimate through Shopmonkey messaging by Email, SMS or All. Reads the order and customer, enables customer authorization on the order, then creates an Order share message. This requests the customer's approval; it does not record approval. Supply the message
shopmonkey_add_partAdd a part line to an existing service on a work order. Use shopmonkey_list_order_services for serviceId and shopmonkey_search_inventory_parts for inventoryPartId. Prices are per unit in cents; quantity may be fractional. Inventory reservation and reduction happen only if explici
shopmonkey_delete_servicePreview then remove one service and all its labor, parts, fees, tires and subcontract lines. Show the cascade preview before confirming with its fingerprint. Refuses authorized/invoiced/paid/archived/deleted/read-only orders, orders with payments or a non-Unlocked invoiceLockStat
shopmonkey_delete_laborPreview then remove one labor line belonging to this work order service. Show the preview, then confirm with its fingerprint. Refuses authorized/invoiced/paid/archived/deleted/read-only orders, orders with payments or a non-Unlocked invoiceLockState, and authorized services. Veri
shopmonkey_delete_partPreview then remove one part line belonging to this work order service. Show the preview, then confirm with its fingerprint. Refuses authorized/invoiced/paid/archived/deleted/read-only orders, orders with payments or a non-Unlocked invoiceLockState, authorized services and invent
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- ✓ Pass
Endpoint responds
Responded in 204 ms (HTTP 200)
- – Not applicable
Sign-in with OAuth
No sign-in needed
- ✓ Pass
No hidden instructions in tool descriptions
Read 45 tool descriptions and found no hidden instructions to the AI
Compared with others in Online shops & paymentsi
- More stars than 0% of the other 1743 servers in this category
- Published to the registry more recently than 92% of the other 1743 servers in this category
- Basic checks equal to or better than 100% of the other 1743 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Shopmonkey MCP by usefulapi safe?
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
Is it still maintained?
The GitHub repo last changed –, and the latest version (1.42.1) reached the registry yesterday.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
What can I use instead?
In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Stripe MCP
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Shopmonkey MCP by usefulapi
Use Shopmonkey from Claude, Cursor, or any MCP client — look up customers, vehicles, work orders, appointments and parts stock, and create customers, orders and appointments. Hosted, no local install: connect with your own Shopmonkey credentials.
Live endpoint: https://shopmonkey.usefulapi.io/mcp · Homepage: https://usefulapi.io/shopmonkey
Connect
- Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste
https://shopmonkey.usefulapi.io/mcp. - Claude Code:
claude mcp add --transport http shopmonkey https://shopmonkey.usefulapi.io/mcp, then run/mcpto log in. - VS Code: Add to VS Code.
- Cursor and other clients: add the URL as a remote MCP server:
{
"mcpServers": { "shopmonkey": { "url": "https://shopmonkey.usefulapi.io/mcp" } } }
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Shopmonkey credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/shopmonkey/
On first connect you'll provide your Shopmonkey API key (Settings → Integration → API Keys; a shop admin creates it). They're validated, stored per-user, and scoped to you — no keys in config files.
Tools
| Tool | Type | What it does |
|---|---|---|
shopmonkey_get_current_user | read | Get the current user |
shopmonkey_search_customers | read | Search customers |
shopmonkey_find_customers_by_phone | read | Find customers by phone number |
shopmonkey_find_customers_by_email | read | Find customers by email |
shopmonkey_get_customer | read | Get one customer |
shopmonkey_list_customer_vehicles | read | List a customer's vehicles |
shopmonkey_list_customer_orders | read | List a customer's orders |
shopmonkey_get_vehicle | read | Get one vehicle |
shopmonkey_list_orders | read | List orders |
shopmonkey_search_orders | read | Search orders by name and creation date |
shopmonkey_list_purchase_orders | read | List purchase orders |
shopmonkey_get_purchase_order | read | Get a purchase order |
shopmonkey_get_order | read | Get one order |
shopmonkey_list_order_files | read | List an order's files |
shopmonkey_get_order_file | read | Get an order file |
shopmonkey_find_order_by_number | read | Find an order by its number |
shopmonkey_list_order_services | read | List an order's services |
shopmonkey_search_appointments | read | Search appointments |
shopmonkey_search_inventory_parts | read | Search inventory parts |
shopmonkey_list_canned_services | read | List canned services |
shopmonkey_list_workflow_statuses | read | List workflow statuses |
shopmonkey_list_users | read | List users |
shopmonkey_list_time_entries | read | List time entries |
shopmonkey_get_time_entry | read | Get a time entry |
shopmonkey_clock_in | write | Clock a technician into a work order |
shopmonkey_clock_out | write | Clock a technician out of a work order |
shopmonkey_create_customer | write | Create a customer |
shopmonkey_update_customer | write | Update a customer |
shopmonkey_add_customer_email | write | Add an email to a customer |
shopmonkey_create_vehicle | write | Create a vehicle |
shopmonkey_create_order | write | Create an order |
shopmonkey_update_order | write | Update an order |
shopmonkey_create_appointment | write | Book an appointment |
shopmonkey_update_appointment | write | Update or reschedule an appointment |
shopmonkey_delete_appointment | write | Delete (cancel) an appointment |
shopmonkey_add_service | write | Add a service (job) to an order |
shopmonkey_apply_canned_service | write | Apply a canned service to an order |
shopmonkey_add_fee | write | Add a flat fee to a service |
shopmonkey_send_message | write | Send a customer SMS or email |
shopmonkey_add_labor | write | Add a labor line to a service |
shopmonkey_send_estimate | write | Send an estimate for customer authorization |
shopmonkey_add_part | write | Add a part to a work order service |
shopmonkey_delete_service | write | Remove a work order service and its lines |
shopmonkey_delete_labor | write | Remove a labor line |
shopmonkey_delete_part | write | Remove a part line |
shopmonkey_usage_status | meta | Usage status (free-tier meter) |
shopmonkey_request_feature | meta | Request a missing feature |
shopmonkey_upgrade | meta | Upgrade to Pro or Pro+ |
shopmonkey_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
Pricing
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro (per user) | $9/mo or $90/yr (2 months free) | Unlimited* |
\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.
Pro covers this server only. Subscribe with shopmonkey_upgrade (it returns a Stripe Checkout link). Cancel any time with shopmonkey_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running shopmonkey_upgrade before then undoes the cancel. Or write to support@usefulapi.io.
License
MIT © usefulapi. Not affiliated with or endorsed by Shopmonkey.