shopmonkey
Qué hace este MCP
Manages automotive repair customers, vehicles, work orders, parts inventory, service appointments, technicians, and workflow statuses.
Herramientas
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customerId'], 'properties': {'customerId': {'type': 'string', 'minLength': 1, 'description': 'The customer id.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['orderId'], 'properties': {'orderId': {'type': 'string', 'minLength': 1, 'description': 'The order id.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['vehicleId'], 'properties': {'vehicleId': {'type': 'string', 'minLength': 1, 'description': 'The vehicle id.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['orderId'], 'properties': {'orderId': {'type': 'string', 'minLength': 1, 'description': 'The order id.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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'}}}}
Esquema de entrada
{'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'}}}}
Esquema de entrada
{'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.'}}}
Esquema de entrada
{'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.'}}}
Cambios recientes en herramientas
Servidores MCP similares
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,…