shopmonkey
Ce que fait ce MCP
Manages automotive repair customers, vehicles, work orders, parts inventory, service appointments, technicians, and workflow statuses.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerId', 'email'], 'properties': {'email': {'type': 'string', 'minLength': 3, 'description': 'The email address.'}, 'primary': {'type': 'boolean', 'description': "Make this the customer's primary email."}, 'customerId': {'type': 'string', 'minLength': 1, 'description': 'The customer id.'}, 'locationId': {'type': 'string', 'description': "The shop location id (see shopmonkey_get_current_user for the key's own location)."}, 'subscribed': {'type': 'boolean', 'description': 'Whether the customer receives messages at this address.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'startDate', 'endDate'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "What the appointment is for, e.g. 'Oil change'."}, 'note': {'type': 'string', 'description': 'Notes for the appointment.'}, 'color': {'enum': ['aqua', 'black', 'blue', 'brown', 'gray', 'green', 'orange', 'purple', 'red', 'yellow'], 'type': 'string', 'default': 'blue', 'description': 'Calendar color. Default blue.'}, 'allDay': {'type': 'boolean', 'description': 'All-day appointment.'}, 'useSMS': {'type': 'boolean', 'description': 'Use SMS for confirmation/reminder.'}, 'endDate': {'type': 'string', 'description': 'End, ISO 8601 date-time.'}, 'orderId': {'type': 'string', 'description': 'A work order to link.'}, 'useEmail': {'type': 'boolean', 'description': 'Use email for confirmation/reminder.'}, 'startDate': {'type': 'string', 'description': 'Start, ISO 8601 date-time.'}, 'vehicleId': {'type': 'string', 'description': "The vehicle's id."}, 'customerId': {'type': 'string', 'description': "The customer's id."}, 'sendReminder': {'type': 'boolean', 'description': 'Send the customer a reminder before the appointment.'}, 'technicianIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'User ids of the assigned technicians.'}, 'sendConfirmation': {'type': 'boolean', 'description': 'Send the customer a confirmation now.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerType'], 'properties': {'city': {'type': 'string', 'description': 'City.'}, 'note': {'type': 'string', 'description': 'Internal note on the customer.'}, 'state': {'type': 'string', 'description': 'State / province.'}, 'country': {'type': 'string', 'pattern': '^[A-Z]{2}$', 'description': 'ISO 3166-1 alpha-2 country code, e.g. US or CA.'}, 'website': {'type': 'string', 'description': 'Website.'}, 'address1': {'type': 'string', 'description': 'Street address, line 1.'}, 'address2': {'type': 'string', 'description': 'Street address, line 2.'}, 'lastName': {'type': 'string', 'description': 'Last name.'}, 'firstName': {'type': 'string', 'description': 'First name.'}, 'taxExempt': {'type': 'boolean', 'description': 'US tax exemption.'}, 'externalId': {'type': 'string', 'description': 'Your own id for this customer in another system.'}, 'locationId': {'type': 'string', 'description': "The shop location id (see shopmonkey_get_current_user for the key's own location)."}, 'postalCode': {'type': 'string', 'description': 'Postal / ZIP code.'}, 'companyName': {'type': 'string', 'description': 'Company name (for fleet / business customers).'}, 'customerType': {'enum': ['Customer', 'Fleet'], 'type': 'string', 'description': 'Customer (individual) or Fleet (business account).'}, 'discountPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Default discount percent.'}, 'preferredLanguage': {'enum': ['en', 'en_US', 'fr_CA', 'es_MX'], 'type': 'string', 'description': 'en, en_US, fr_CA or es_MX.'}, 'preferredContactMethod': {'enum': ['SMS', 'Email', 'All'], 'type': 'string', 'description': 'SMS, Email or All.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Order name / title.'}, 'dueDate': {'type': 'string', 'description': 'When the vehicle is promised, ISO 8601 date-time.'}, 'complaint': {'type': 'string', 'description': "The customer's complaint (reason for visit)."}, 'vehicleId': {'type': 'string', 'description': 'The vehicle being worked on.'}, 'customerId': {'type': 'string', 'description': 'The customer the order is for.'}, 'locationId': {'type': 'string', 'description': "The shop location id (see shopmonkey_get_current_user for the key's own location)."}, 'recommendation': {'type': 'string', 'description': "The shop's recommendation."}, 'serviceWriterId': {'type': 'string', 'description': 'User id of the service writer.'}, 'workflowStatusId': {'type': 'string', 'description': 'Workflow status (board column) id — see shopmonkey_list_workflow_statuses.'}, 'purchaseOrderNumber': {'type': 'string', 'description': 'Customer PO number.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['size'], 'properties': {'vin': {'type': 'string', 'description': 'Vehicle identification number.'}, 'make': {'type': 'string', 'description': 'Make, e.g. Toyota.'}, 'note': {'type': 'string', 'description': 'Internal note on the vehicle.'}, 'size': {'enum': ['HeavyDuty', 'LightDuty', 'Other'], 'type': 'string', 'description': 'LightDuty (cars, light trucks), HeavyDuty, or Other.'}, 'unit': {'type': 'string', 'description': 'Fleet unit number.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Model year.'}, 'color': {'enum': ['White', 'Silver', 'Gray', 'Black', 'Blue', 'Red', 'Brown', 'Burgundy', 'Tan', 'Gold', 'Green', 'Yellow', 'Orange', 'Pink', 'Purple', 'Other'], 'type': 'string', 'description': 'Vehicle color.'}, 'model': {'type': 'string', 'description': 'Model, e.g. Camry.'}, 'engine': {'type': 'string', 'description': 'Engine description.'}, 'mileage': {'type': 'number', 'minimum': 0, 'description': 'Current odometer reading.'}, 'submodel': {'type': 'string', 'description': 'Submodel / trim, e.g. LE.'}, 'customerId': {'type': 'string', 'description': "The owning customer's id."}, 'locationId': {'type': 'string', 'description': "The shop location id (see shopmonkey_get_current_user for the key's own location)."}, 'licensePlate': {'type': 'string', 'description': 'License plate.'}, 'licensePlateState': {'type': 'string', 'description': 'License plate state / province.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['emails'], 'properties': {'emails': {'type': 'array', 'items': {'type': 'string', 'minLength': 3}, 'maxItems': 50, 'minItems': 1, 'description': 'Email addresses to look up.'}, 'excludeCustomerId': {'type': 'string', 'description': 'A customer id to leave out of the results.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['phoneNumbers'], 'properties': {'phoneNumbers': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'description': 'Phone numbers to look up.'}, 'excludeCustomerId': {'type': 'string', 'description': 'A customer id to leave out of the results.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerId'], 'properties': {'customerId': {'type': 'string', 'minLength': 1, 'description': 'The customer id.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['orderId'], 'properties': {'orderId': {'type': 'string', 'minLength': 1, 'description': 'The order id.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['vehicleId'], 'properties': {'vehicleId': {'type': 'string', 'minLength': 1, 'description': 'The vehicle id.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerId'], 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}, 'customerId': {'type': 'string', 'minLength': 1, 'description': 'The customer id.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerId'], 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}, 'customerId': {'type': 'string', 'minLength': 1, 'description': 'The customer id.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['orderId'], 'properties': {'orderId': {'type': 'string', 'minLength': 1, 'description': 'The order id.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'sort': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort by start date. Default asc.'}, 'endTo': {'type': 'string', 'description': 'Appointments ending at or before this ISO 8601 date-time.'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}, 'endFrom': {'type': 'string', 'description': 'Appointments ending at or after this ISO 8601 date-time.'}, 'orderId': {'type': 'string', 'description': 'Only appointments linked to this order.'}, 'startTo': {'type': 'string', 'description': 'Appointments starting at or before this ISO 8601 date-time.'}, 'startFrom': {'type': 'string', 'description': 'Appointments starting at or after this ISO 8601 date-time.'}, 'customerId': {'type': 'string', 'description': "Only this customer's appointments."}, 'technicians': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only appointments assigned to these technician (user) ids.'}, 'includeUnassigned': {'type': 'boolean', 'description': 'With technicians, also include unassigned appointments.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}, 'where': {'type': 'object', 'description': 'Filter object applied server-side, keyed by field name, e.g. {"lastName": "Smith"} or {"createdDate": {"gte": "2026-01-01"}}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'orderBy': {'type': 'object', 'description': 'Sort instructions keyed by field name, e.g. {"createdDate": "desc"}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'enum': ['asc', 'desc'], 'type': 'string'}}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'skip': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of records to skip, for paging (use with limit).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum number of records to return.'}, 'where': {'type': 'object', 'description': 'Filter object applied server-side, keyed by field name, e.g. {"lastName": "Smith"} or {"createdDate": {"gte": "2026-01-01"}}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'orderBy': {'type': 'object', 'description': 'Sort instructions keyed by field name, e.g. {"createdDate": "desc"}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'enum': ['asc', 'desc'], 'type': 'string'}}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerId'], 'properties': {'city': {'type': 'string', 'description': 'City.'}, 'note': {'type': 'string', 'description': 'Internal note on the customer.'}, 'state': {'type': 'string', 'description': 'State / province.'}, 'country': {'type': 'string', 'pattern': '^[A-Z]{2}$', 'description': 'ISO 3166-1 alpha-2 country code, e.g. US or CA.'}, 'website': {'type': 'string', 'description': 'Website.'}, 'address1': {'type': 'string', 'description': 'Street address, line 1.'}, 'address2': {'type': 'string', 'description': 'Street address, line 2.'}, 'lastName': {'type': 'string', 'description': 'Last name.'}, 'firstName': {'type': 'string', 'description': 'First name.'}, 'taxExempt': {'type': 'boolean', 'description': 'US tax exemption.'}, 'customerId': {'type': 'string', 'minLength': 1, 'description': 'The customer id.'}, 'externalId': {'type': 'string', 'description': 'Your own id for this customer in another system.'}, 'postalCode': {'type': 'string', 'description': 'Postal / ZIP code.'}, 'companyName': {'type': 'string', 'description': 'Company name (for fleet / business customers).'}, 'discountPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Default discount percent.'}, 'preferredLanguage': {'enum': ['en', 'en_US', 'fr_CA', 'es_MX'], 'type': 'string', 'description': 'en, en_US, fr_CA or es_MX.'}, 'preferredContactMethod': {'enum': ['SMS', 'Email', 'All'], 'type': 'string', 'description': 'SMS, Email or All.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['orderId'], 'properties': {'name': {'type': 'string', 'description': 'Order name / title.'}, 'status': {'enum': ['Estimate', 'RepairOrder', 'Invoice'], 'type': 'string', 'description': 'Estimate, RepairOrder or Invoice.'}, 'dueDate': {'type': 'string', 'description': 'When the vehicle is promised, ISO 8601 date-time.'}, 'orderId': {'type': 'string', 'minLength': 1, 'description': 'The order id.'}, 'archived': {'type': 'boolean', 'description': 'Archive (true) or unarchive (false) the order.'}, 'complaint': {'type': 'string', 'description': "The customer's complaint (reason for visit)."}, 'vehicleId': {'type': 'string', 'description': 'The vehicle being worked on.'}, 'customerId': {'type': 'string', 'description': 'The customer the order is for.'}, 'recommendation': {'type': 'string', 'description': "The shop's recommendation."}, 'serviceWriterId': {'type': 'string', 'description': 'User id of the service writer.'}, 'workflowStatusId': {'type': 'string', 'description': 'Workflow status (board column) id — see shopmonkey_list_workflow_statuses.'}, 'purchaseOrderNumber': {'type': 'string', 'description': 'Customer PO number.'}}}
Modifications récentes des outils
Serveurs MCP similaires
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
GestãoClick
Connects to the GestãoClick ERP to manage customers, suppliers, products, sales, service orders, budgets, and financial records.
Odichat
Manages WhatsApp, Instagram, and Facebook inboxes with contacts, conversations, agents, automation rules, labels, canned response…
Coordinalo — Service Business Operations
Manages appointment-based service businesses, including clients, providers, services, availability, public booking agendas, recur…
StackFast FractWin Expert Brain
Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human a…
GrowthKit Revenue Intelligence
Supports B2B revenue operations with lead campaigns, ICP and company enrichment, CRM records and activities, outreach drafting, t…
KaiCalls
Provides AI phone reception, outbound calling campaigns, call transcripts and recordings, lead management, routing, staff alerts,…