Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Shopmonkey MCP Serverfind all open work orders for customer John Doe"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shopmonkey MCP Server
A Model Context Protocol (MCP) server that wraps the Shopmonkey REST API (v3), enabling AI agents and LLMs to interact with shop management data — work orders, customers, vehicles, inventory, appointments, payments, labor, services, and more.
Features
33 tools across 9 resource groups covering the full Shopmonkey API
Bearer token authentication via API key
Automatic retry with exponential backoff on rate limits (HTTP 429) and server errors (500/502/503/504)
30-second request timeout prevents hung connections
Request concurrency control (max 5 simultaneous API calls)
Multi-location support via
SHOPMONKEY_LOCATION_IDdefault or per-requestlocationIdDescriptive error messages surfacing Shopmonkey error codes
Works with Claude Desktop, Cursor, Claude Code, and any MCP-compatible client
Tool Reference
Work Orders
Tool | Description |
| List work orders with filters (status, customer, location) |
| Get single work order details |
| Create new work order |
| Update work order fields |
| Permanently delete a work order (requires |
Customers
Tool | Description |
| List customers, searchable by name/email/phone |
| Get single customer profile |
| Add new customer |
| Update customer info |
Vehicles
Tool | Description |
| List vehicles, filter by customer |
| Get single vehicle details |
| Add vehicle (optionally linked to customer) |
| Update vehicle data |
Inventory & Parts
Tool | Description |
| List parts inventory |
| Get single part details |
| List tire inventory |
| Search parts catalog (query required) |
Appointments
Tool | Description |
| List appointments |
| Get single appointment |
| Book appointment |
| Reschedule/update appointment |
Payments
Tool | Description |
| List payments |
| Get payment details |
| Record a payment (orderId and amount required) |
Technicians & Labor
Tool | Description |
| List labor line items |
| Technician clock-in/clock-out events |
| List shop users/technicians |
| Get single user/tech profile |
Services
Tool | Description |
| List services on orders |
| List pre-built service templates |
| Get single canned service details |
Workflow & Locations
Tool | Description |
| Get pipeline/workflow stages |
| List shop locations |
Setup
Prerequisites
Node.js 18+
A Shopmonkey API key (create at: Shopmonkey Settings > Integration > API Keys)
Installation
git clone https://github.com/AbbottDevelopments/shopmonkey-mcp-server.git
cd shopmonkey-mcp-server
npm install
npm run buildEnvironment Variables
Copy .env.example to .env and add your API key:
cp .env.example .envThen edit .env:
# Required — your Shopmonkey API key
SHOPMONKEY_API_KEY=your_long_lived_api_key_here
# Optional — defaults to https://api.shopmonkey.cloud/v3
SHOPMONKEY_BASE_URL=https://api.shopmonkey.cloud/v3
# Optional — set this for multi-location shops to auto-filter all queries to one location
SHOPMONKEY_LOCATION_ID=The server loads .env automatically via dotenv. You can also pass environment variables through your MCP client config (see below) or your shell.
MCP Client Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"shopmonkey": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/shopmonkey-mcp-server",
"env": {
"SHOPMONKEY_API_KEY": "your_api_key_here"
}
}
}
}Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"shopmonkey": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/shopmonkey-mcp-server",
"env": {
"SHOPMONKEY_API_KEY": "your_api_key_here"
}
}
}
}Claude Code
claude mcp add shopmonkey -e SHOPMONKEY_API_KEY=your_api_key_here -- node /path/to/shopmonkey-mcp-server/dist/index.jsDevelopment
# Build
npm run build
# Watch mode
npm run dev
# Start server
npm start
# Run tests
npm testError Handling
The server handles common API scenarios:
Missing API key: Returns a descriptive error with setup instructions
Rate limiting (429): Automatically retries with exponential backoff (up to 3 attempts)
Server errors (500, 502, 503, 504): Automatically retries with backoff
Request timeout: Aborts after 30 seconds with a clear error message
Network failures: Retries with backoff, returns readable error messages
API errors: Surfaces Shopmonkey error codes (e.g.,
API-xxxxx,ORM-xxxxx) for debugging
API Reference
License
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.