Skip to content

Connectors · MSP & PSA

RepairShopr MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to RepairShopr and the rest of your systems. It gives your agent 186 RepairShopr actions (74 reads, 87 writes and 25 that wait for a confirmation) and holds the RepairShopr credential itself, so the agent never does. It paces RepairShopr's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "repairshopr.invoices.list",  intent: "check which RepairShopr account is connected"}# Returns a paginated list of Invoices · read · 1 upstream call
  • 186actionsin one signed file
  • 74readlook, never change
  • 87writecreate and update
  • 25wait for a yesdestructive, confirmed first

Set up

Connect RepairShopr in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect RepairShopr.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_keyRepairShopr API key (your user profile page > API Tokens)
    • subdomain_hostWhere your RepairShopr lives: your subdomain host
    account { op: "connections.requirements", service: "repairshopr" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "repairshopr.invoices.list" }# returns a paginated list of invoices · read · 1 upstream callcheck { action: "repairshopr.invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

RepairShopr at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_key
Setup fields
subdomain_host
Limits we pace to
180 calls a minute, per connection
API covered
RepairShopr API v1, at your own repairshopr.com address, set when you connect
Built from
RepairShopr's documentation, read 20 September 2026api-docs.repairshopr.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
74 of 74 reads, for up to an hour; a write clears what it affects
Ready-made plans
8 in the store
Shared entities
15, so ask can line RepairShopr up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in RepairShopr.

186 actions in 21 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 74readlook, never change
  • 87writecreate and update
  • 25destructivewait for a confirmation
  1. PSA

    43

    15 read · 22 write · 6 destructive

    Returns a paginated list of Tickets · Creates a new Ticket for a Ticket Form · Creates tickets from a Blueprint · Creates a Ticket

  2. Catalog

    17

    6 read · 9 write · 2 destructive

    Returns a paginated list of Products · Creates a Product · Returns a Product by Barcode · Retrieves a Product by ID

  3. RMM

    17

    9 read · 7 write · 1 destructive

    Returns a paginated list of Assets · Returns a paginated list of RMM Alerts · Returns a list of Assets for a specific contact · Retrieves an Asset by ID

  4. Invoicing

    12

    4 read · 6 write · 2 destructive

    Returns a paginated list of Invoices · Creates an Invoice · Retrieves an Invoice by ID or Number · Updates an existing invoice by ID

  5. Quoting

    11

    2 read · 7 write · 2 destructive

    Returns a paginated list of Estimates · Creates an Estimate · Retrieves an Estimate by ID or number · Updates an existing Estimate by ID

  6. Recurring

    10

    2 read · 5 write · 3 destructive

    Returns a paginated list of Invoice Schedules · Creates an Invoice Schedule · Adds a Line Item to an Invoice Schedule (deprecated) · Adds a Line Item to an Invoice Schedule

  7. Scheduling

    10

    4 read · 4 write · 2 destructive

    Returns a paginated list of Appointments · Creates an Appointment · Retrieves an Appointment by ID · Updates an existing Appointment by ID

  8. Contacts

    9

    3 read · 4 write · 2 destructive

    Returns a paginated list of Contacts · Creates a Contact · Retrieves a Contact by ID · Updates an existing Contact

13 more areas · 57 actions
  • Payments 9
  • Accounts 7
  • Purchasing 7
  • Portal 5
  • Knowledge 5
  • Contracts 5
  • Leads 4
  • Users 4
  • Vendors 4
  • Settings 3
  • Invoicing 2
  • Telephony 1
  • Global 1

Top actions

The RepairShopr API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 155 of RepairShopr's 155 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
repairshopr.invoices.listReturns a paginated list of InvoicesReturns a paginated list of Invoices. Paged; each page is one upstream call.readfinance.invoice.list101 connectors
repairshopr.payments.listReturns a paginated list of PaymentsReturns a paginated list of Payments. Paged; each page is one upstream call.readfinance.payment.list75 connectors
repairshopr.estimates.listReturns a paginated list of EstimatesReturns a paginated list of Estimates. Paged; each page is one upstream call.readfinance.quote.list52 connectors
repairshopr.purchase_orders.listReturns a paginated list of Purchase OrdersReturns a paginated list of Purchase Orders. Paged; each page is one upstream call.readfinance.purchase_order.list45 connectors
repairshopr.tickets.listReturns a paginated list of TicketsReturns a paginated list of Tickets. Paged; each page is one upstream call.readservice.ticket.list56 connectors
repairshopr.invoices.createCreates an InvoiceCreates an Invoice.writefinance.invoice.create74 connectors
repairshopr.contacts.listReturns a paginated list of ContactsReturns a paginated list of Contacts. Paged; each page is one upstream call.readcrm.contact.list177 connectors
repairshopr.payments.createCreates a PaymentCreates a Payment.writefinance.payment.create67 connectors
repairshopr.customers.listReturns a paginated list of customersReturns a paginated list of customers. Paged; each page is one upstream call.readcrm.company.list162 connectors
repairshopr.users.getRetrieves an existing User by IDRetrieves an existing User by ID.readidentity.user.get399 connectors
repairshopr.estimates.createCreates an EstimateCreates an Estimate.writefinance.quote.create52 connectors
repairshopr.invoices.deleteDeletes an invoice by IDDeletes an invoice by ID.destructivefinance.invoice.delete56 connectors

Try it

Prompts to paste into Claude.

Each one names the RepairShopr actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which RepairShopr invoices are more than 30 days overdue? Group them by customer with the total owed.

    callsrepairshopr.invoices.list

  2. Planwrite

    Book an onsite visit against a ticket in RepairShopr. Ask me before anything is sent or changed.

    callsrepairshopr.tickets.getrepairshopr.customers.getrepairshopr.appointments.listrepairshopr.appointments.createrepairshopr.tickets.comments_create

  3. Planwrite

    Convert an accepted estimate into an invoice in RepairShopr. Ask me before anything is sent or changed.

    callsrepairshopr.estimates.getrepairshopr.line_items.listrepairshopr.estimates.convert_to_invoicerepairshopr.invoices.publishrepairshopr.invoices.email

  4. Writewrite

    Creates an Invoice in RepairShopr. Show me exactly what you will send before you save it.

    callsrepairshopr.invoices.create

  5. Across systemsread

    For each customer, how many invoices are in RepairShopr and how many tickets in HubSpot CRM?

    callsrepairshopr.invoices.listhubspot_crm.tickets.list

Across your systems

RepairShopr, joined to the rest of your business.

One ask fetches from RepairShopr and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • For each customer, how many invoices are in RepairShopr and how many tickets in HubSpot CRM?

    repairshopr.invoices.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

  • For each customer, how many invoices are in RepairShopr and how many tickets in ServiceNow?

    repairshopr.invoices.list + servicenow_table.incidents.list, on crm.company · ServiceNow

Also mapped by other connectorsidentity.user 517crm.company 227crm.contact 192commerce.product 109finance.invoice 91device.endpoint 69service.ticket 62monitoring.alert 56
ask
ask {  intent: "for each customer, how many invoices are in RepairShopr and how many tickets in HubSpot CRM",  steps: [    { action: "repairshopr.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { action: "hubspot_crm.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "inv",        right: "tix",        on: "crm.company",        group_by: "inv.company_name",        select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

The plan store

Ready-made plans for RepairShopr.

8 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

  1. Report on tickets with no recent comment

    Use it when Someone wants to see which open tickets have gone quiet and how much time is logged on them.

    Effect
    read
    Steps
    3 · loops
    Needs
    created after
    Install
    repairshopr-stale-ticket-report
  2. Triage new RMM alerts into tickets

    Use it when New monitoring alerts have arrived and each needs a ticket raised and the alert silenced.

    Effect
    write
    Steps
    3 · loops
    Needs
    created after
    Install
    repairshopr-rmm-alert-triage
  3. Charge unbilled ticket time to the ticket

    Use it when Logged technician time needs reviewing and charging onto tickets before invoicing.

    A person decidesCharge number of billable billable timer entries onto their tickets.

    Effect
    write
    Steps
    4 · loops
    Needs
    created at gt
    Install
    repairshopr-billable-timer-charge
  4. Chase unpaid invoices by email

    Use it when Someone wants to send a reminder email for every outstanding RepairShopr invoice.

    A person decidesEmail a payment reminder for chase count unpaid RepairShopr invoices.

    Effect
    write
    Steps
    4 · loops
    Install
    repairshopr-unpaid-invoice-chase
  5. Onboard a new customer record

    Use it when A new client has signed up and needs a customer record, contact, phone and portal login created.

    Effect
    write
    Steps
    5
    Needs
    business name and email
    Install
    repairshopr-new-customer-onboarding
  6. Book an onsite visit against a ticket

    Use it when A ticket needs an onsite visit scheduled and the customer told about it.

    A person decidesBook an onsite visit for business name at start at against ticket number, with number of items appointments already in that window.

    Effect
    write
    Steps
    6
    Needs
    ticket id and start at
    Install
    repairshopr-appointment-from-ticket
  7. Convert an accepted estimate into an invoice

    Use it when A customer has accepted an estimate and it should become a published, emailed invoice.

    A person decidesConvert estimate number with number of items line items into an invoice and email it.

    Effect
    write
    Steps
    6
    Needs
    estimate id
    Install
    repairshopr-estimate-to-invoice
  8. Write a wiki page documenting a customer asset

    Use it when An asset needs its configuration and installed software written up as customer documentation.

    Effect
    write
    Steps
    6
    Needs
    asset id
    Install
    repairshopr-wiki-page-for-asset
install a plan
account { op: "plans.install", slug: "repairshopr-stale-ticket-report" }
# then ask for it by name; a schedule can run it on a timetable

Governance for RepairShopr

Destructive actions wait for a yes.

25 RepairShopr actions are destructive. These are all of them:

  • Deletes an invoice by IDrepairshopr.invoices.delete
  • Deletes an Estimate by IDrepairshopr.estimates.delete
  • Deletes a Portal User by IDrepairshopr.portal_users.delete
  • Deletes a Ticket by IDrepairshopr.tickets.delete
  • Deletes a Contactrepairshopr.contacts.delete
  • Deletes a Customer by IDrepairshopr.customers.delete
  • Deletes a Contract by IDrepairshopr.contracts.delete
  • Deletes a Payment Profilerepairshopr.payment_profiles.delete
  • Deletes a Ticket Line Itemrepairshopr.tickets.line_items_delete
  • Deletes an a line item of an invoice by IDrepairshopr.invoices.line_items_delete
  • Removes a Line Item from an Invoice Schedulerepairshopr.schedules.line_items_delete
  • Removes a Line Item from an Invoice Schedule (deprecated)repairshopr.schedules.remove_line_item_legacy
  • Deletes/Clears an RMM Alert by IDrepairshopr.rmm_alerts.delete
  • Deletes a Schedule by IDrepairshopr.schedules.delete
  • Deletes a Line Itemrepairshopr.estimates.line_items_delete
  • Deletes a Canned Responserepairshopr.canned_responses.delete
  • Deletes an Appointment by IDrepairshopr.appointments.delete
  • Deletes a Ticket Timerrepairshopr.tickets.delete_timer_entry
  • Deletes a Ticket Attachmentrepairshopr.tickets.delete_attachment
  • Deletes a Product SKU by IDrepairshopr.product_skus.delete
  • Deletes a Phone by IDrepairshopr.phones.delete
  • Deletes a Wiki Page by IDrepairshopr.wiki_pages.delete
  • Deletes a Product Imagerepairshopr.products.delete_image
  • Deletes a Worksheet Resultrepairshopr.worksheet_results.delete
  • Deletes an Appointment Type by IDrepairshopr.appointment_types.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dorepairshopr.invoices.deleteconfirm_policy: human

Deletes an invoice by ID?

intent: the user asked me to deletes an invoice by ID

run suspended · waiting for a named person · key repairshopr-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "repairshopr-agent",  allowed_actions: ["repairshopr.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "repairshopr.invoices.delete", approver: "[email protected]" },    { match: "repairshopr.estimates.delete", approver: "[email protected]" },    { match: "repairshopr.portal_users.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to RepairShopr only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What RepairShopr costs on actionlake.

Every RepairShopr action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call RepairShopr refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 186 RepairShopr actions
  • 186actions pageeach page of a long list is one call
  • 74reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every RepairShopr action.

186 actions by area: the id your agent calls, what it does, and its effect.

PSA43
  • repairshopr.canned_responses.createCreates a new Canned Responsewrite
  • repairshopr.canned_responses.deleteDeletes a Canned Responsedestructive
  • repairshopr.canned_responses.listReturns a list of Canned Responses with a queryread
  • repairshopr.canned_responses.patchUpdates a Canned Responsewrite
  • repairshopr.canned_responses.settings_getReturns the settings for Canned Responsesread
  • repairshopr.new_ticket_forms.getRetrieves a Ticket Formread
  • repairshopr.new_ticket_forms.listReturns a paginated list of Ticket Formsread
  • repairshopr.new_ticket_forms.process_formCreates a new Ticket for a Ticket Formwrite
  • repairshopr.ticket_blueprints.applyCreates tickets from a Blueprintwrite
  • repairshopr.ticket_blueprints.listReturns a paginated list of Ticket Blueprintsread
  • repairshopr.ticket_comments.listReturns a paginated flat list of comments across multiple ticketsread
  • repairshopr.ticket_timers.createCreates a Ticket Timer that starts runningwrite
  • repairshopr.ticket_timers.listReturns a paginated list of Ticket Timersread
  • repairshopr.ticket_timers.patchUpdates an existing Ticket Timer by IDwrite
  • repairshopr.ticket_timers.pausePauses a running Ticket Timerwrite
  • repairshopr.ticket_timers.startStarts (or resumes a paused) Ticket Timerwrite
  • repairshopr.ticket_timers.stopStops a running or paused Ticket Timerwrite
  • repairshopr.tickets.attach_file_urlAttach a file to a Ticketwrite
  • repairshopr.tickets.charge_timer_entryCharges a Ticket Timerwrite
  • repairshopr.tickets.comments_createAdds a Comment to a Ticketwrite
  • repairshopr.tickets.comments_listReturns Comments for a Ticketread
  • repairshopr.tickets.createCreates a Ticketwrite
  • repairshopr.tickets.deleteDeletes a Ticket by IDdestructive
  • repairshopr.tickets.delete_attachmentDeletes a Ticket Attachmentdestructive
  • repairshopr.tickets.delete_timer_entryDeletes a Ticket Timerdestructive
  • repairshopr.tickets.getRetrieves a Ticket by IDread
  • repairshopr.tickets.line_items_createCreates a Ticket Line Itemwrite
  • repairshopr.tickets.line_items_deleteDeletes a Ticket Line Itemdestructive
  • repairshopr.tickets.line_items_updateUpdates an existing Ticket Line Itemwrite
  • repairshopr.tickets.listReturns a paginated list of Ticketsread
  • repairshopr.tickets.printPrints a Ticket by IDwrite
  • repairshopr.tickets.settings_getReturns Tickets Settingsread
  • repairshopr.tickets.timer_entry_createCreate a Ticket Timer for a Ticketwrite
  • repairshopr.tickets.timer_entry_updateUpdates an existing Ticket Timerwrite
  • repairshopr.tickets.updateUpdates an existing Ticket by IDwrite
  • repairshopr.timelogs.last_getReturns last Timelogread
  • repairshopr.timelogs.listReturns a paginated list of Timelogsread
  • repairshopr.timelogs.updateUpdates a Timelogwrite
  • repairshopr.worksheet_results.createCreates Worksheet Resultwrite
  • repairshopr.worksheet_results.deleteDeletes a Worksheet Resultdestructive
  • repairshopr.worksheet_results.getRetrieves a Worksheet Result by IDread
  • repairshopr.worksheet_results.listReturns a paginated list of Worksheet Resultsread
  • repairshopr.worksheet_results.updateUpdates a Worksheet Resultwrite
Catalog17
  • repairshopr.product_serials.attach_to_line_itemAdds Product Serials to a Line Itemwrite
  • repairshopr.product_serials.createCreates a Product Serialwrite
  • repairshopr.product_serials.listReturns a paginated list of Product_serialsread
  • repairshopr.product_serials.updateUpdates an existing Product Serial by IDwrite
  • repairshopr.product_skus.createCreates a Product SKUwrite
  • repairshopr.product_skus.deleteDeletes a Product SKU by IDdestructive
  • repairshopr.product_skus.listReturns a list of Product SKUsread
  • repairshopr.product_skus.updateUpdates an existing Product SKU by IDwrite
  • repairshopr.products.add_imagesCreates a Product Imagewrite
  • repairshopr.products.barcode_getReturns a Product by Barcoderead
  • repairshopr.products.categories_listReturns a paginated list of Product Categoriesread
  • repairshopr.products.createCreates a Productwrite
  • repairshopr.products.delete_imageDeletes a Product Imagedestructive
  • repairshopr.products.getRetrieves a Product by IDread
  • repairshopr.products.listReturns a paginated list of Productsread
  • repairshopr.products.location_quantities_updateUpdates a Location Quantitywrite
  • repairshopr.products.updateUpdates an existing Product by IDwrite
RMM17
  • repairshopr.assets.chat_informationRetrieves Assets by IDread
  • repairshopr.assets.createCreates an Assetwrite
  • repairshopr.assets.getRetrieves an Asset by IDread
  • repairshopr.assets.installed_applications_listRetrieves installed applications for an Assetread
  • repairshopr.assets.listReturns a paginated list of Assetsread
  • repairshopr.assets.list_by_contactReturns a list of Assets for a specific contactread
  • repairshopr.assets.patches_getRetrieves Windows patch data for an Assetread
  • repairshopr.assets.updateUpdates an existing Asset by IDwrite
  • repairshopr.rmm_alerts.createCreates an RMM Alertwrite
  • repairshopr.rmm_alerts.deleteDeletes/Clears an RMM Alert by IDdestructive
  • repairshopr.rmm_alerts.getRetrieves an RMM Alert by IDread
  • repairshopr.rmm_alerts.listReturns a paginated list of RMM Alertsread
  • repairshopr.rmm_alerts.muteMutes an RMM Alert by IDwrite
  • repairshopr.rmm_scripts.scheduleSchedules a Script on an Assetwrite
  • repairshopr.user_devices.createCreates a User Devicewrite
  • repairshopr.user_devices.getRetrieves an existing User Device by UUIDread
  • repairshopr.user_devices.updateUpdates an existing User Device by UUIDwrite
Invoicing12
  • repairshopr.invoices.createCreates an Invoicewrite
  • repairshopr.invoices.deleteDeletes an invoice by IDdestructive
  • repairshopr.invoices.emailSends invoice to customerwrite
  • repairshopr.invoices.getRetrieves an Invoice by ID or Numberread
  • repairshopr.invoices.line_items_createCreates a new line itemwrite
  • repairshopr.invoices.line_items_deleteDeletes an a line item of an invoice by IDdestructive
  • repairshopr.invoices.line_items_updateUpdates an a line item of an invoice by IDwrite
  • repairshopr.invoices.listReturns a paginated list of Invoicesread
  • repairshopr.invoices.printQueues a print job for an invoicewrite
  • repairshopr.invoices.ticket_getReturns the associated ticket for an invoiceread
  • repairshopr.invoices.updateUpdates an existing invoice by IDwrite
  • repairshopr.line_items.listReturns a paginated list of Line Itemsread
Quoting11
  • repairshopr.estimates.convert_to_invoiceConvert an Estimate to an Invoicewrite
  • repairshopr.estimates.createCreates an Estimatewrite
  • repairshopr.estimates.deleteDeletes an Estimate by IDdestructive
  • repairshopr.estimates.emailSends an Estimate to a Customerwrite
  • repairshopr.estimates.getRetrieves an Estimate by ID or numberread
  • repairshopr.estimates.line_items_createAdds a Line Item to an Estimatewrite
  • repairshopr.estimates.line_items_deleteDeletes a Line Itemdestructive
  • repairshopr.estimates.line_items_updateUpdates a Line Itemwrite
  • repairshopr.estimates.listReturns a paginated list of Estimatesread
  • repairshopr.estimates.printQueues a print job for an Estimatewrite
  • repairshopr.estimates.updateUpdates an existing Estimate by IDwrite
Recurring10
  • repairshopr.schedules.add_line_item_legacyAdds a Line Item to an Invoice Schedule (deprecated)write
  • repairshopr.schedules.createCreates an Invoice Schedulewrite
  • repairshopr.schedules.deleteDeletes a Schedule by IDdestructive
  • repairshopr.schedules.getRetrieves a Schedule by IDread
  • repairshopr.schedules.line_items_createAdds a Line Item to an Invoice Schedulewrite
  • repairshopr.schedules.line_items_deleteRemoves a Line Item from an Invoice Scheduledestructive
  • repairshopr.schedules.line_items_updateUpdates a Line Itemwrite
  • repairshopr.schedules.listReturns a paginated list of Invoice Schedulesread
  • repairshopr.schedules.remove_line_item_legacyRemoves a Line Item from an Invoice Schedule (deprecated)destructive
  • repairshopr.schedules.updateUpdates an existing Invoice Schedule by IDwrite
Scheduling10
  • repairshopr.appointment_types.createCreates an Appointment Typewrite
  • repairshopr.appointment_types.deleteDeletes an Appointment Type by IDdestructive
  • repairshopr.appointment_types.getRetrieves an Appointment Type by IDread
  • repairshopr.appointment_types.listReturns a paginated list of Appointment Typesread
  • repairshopr.appointment_types.updateUpdates an existing Appointment Type by IDwrite
  • repairshopr.appointments.createCreates an Appointmentwrite
  • repairshopr.appointments.deleteDeletes an Appointment by IDdestructive
  • repairshopr.appointments.getRetrieves an Appointment by IDread
  • repairshopr.appointments.listReturns a paginated list of Appointmentsread
  • repairshopr.appointments.updateUpdates an existing Appointment by IDwrite
Contacts9
  • repairshopr.contacts.createCreates a Contactwrite
  • repairshopr.contacts.deleteDeletes a Contactdestructive
  • repairshopr.contacts.getRetrieves a Contact by IDread
  • repairshopr.contacts.listReturns a paginated list of Contactsread
  • repairshopr.contacts.updateUpdates an existing Contactwrite
  • repairshopr.phones.createCreates a Phonewrite
  • repairshopr.phones.deleteDeletes a Phone by IDdestructive
  • repairshopr.phones.listReturns a paginated list of Phonesread
  • repairshopr.phones.updateUpdates an existing Phone by IDwrite
Payments9
  • repairshopr.payment_methods.listReturns a paginated list of Payment Methodsread
  • repairshopr.payment_profiles.createCreates a Payment Profilewrite
  • repairshopr.payment_profiles.deleteDeletes a Payment Profiledestructive
  • repairshopr.payment_profiles.getRetrieves a Payment Profile by IDread
  • repairshopr.payment_profiles.listReturns a paginated list of Payment Profilesread
  • repairshopr.payment_profiles.updateUpdates a Payment Profilewrite
  • repairshopr.payments.createCreates a Paymentwrite
  • repairshopr.payments.getRetrieves a Payment by IDread
  • repairshopr.payments.listReturns a paginated list of Paymentsread
Accounts7
  • repairshopr.customers.autocompleteReturns a paginated list of customers for autocomplete queryread
  • repairshopr.customers.createCreates a Customerwrite
  • repairshopr.customers.deleteDeletes a Customer by IDdestructive
  • repairshopr.customers.getRetrieves a Customer by IDread
  • repairshopr.customers.latest_getReturns latest Customerread
  • repairshopr.customers.listReturns a paginated list of customersread
  • repairshopr.customers.updateUpdates an existing Customer by IDwrite
Purchasing7
  • repairshopr.items.listReturns a paginated list of Part Ordersread
  • repairshopr.purchase_orders.createCreates a Purchase Orderwrite
  • repairshopr.purchase_orders.getRetrieves a Purchase Order by IDread
  • repairshopr.purchase_orders.line_items_createAdds a Product to a Purchase Orderwrite
  • repairshopr.purchase_orders.listReturns a paginated list of Purchase Ordersread
  • repairshopr.purchase_orders.receiveReceive purchase_orderwrite
  • repairshopr.purchase_orders.updateUpdates a Purchase Orderwrite
Portal5
  • repairshopr.portal_users.createCreates a Portal Userwrite
  • repairshopr.portal_users.create_invitationCreates an Invitation for a Portal Userwrite
  • repairshopr.portal_users.deleteDeletes a Portal User by IDdestructive
  • repairshopr.portal_users.listReturns a paginated list of Portal Usersread
  • repairshopr.portal_users.updateUpdates an existing Portal User by IDwrite
Knowledge5
  • repairshopr.wiki_pages.createCreates a Wiki Pagewrite
  • repairshopr.wiki_pages.deleteDeletes a Wiki Page by IDdestructive
  • repairshopr.wiki_pages.getRetrieves a Wiki Pageread
  • repairshopr.wiki_pages.listReturns a paginated list of Wiki Pagesread
  • repairshopr.wiki_pages.updateUpdates an existing Wiki Page by IDwrite
Contracts5
  • repairshopr.contracts.createCreates a Contractwrite
  • repairshopr.contracts.deleteDeletes a Contract by IDdestructive
  • repairshopr.contracts.getRetrieves a Contract by IDread
  • repairshopr.contracts.listReturns a paginated list of Contractsread
  • repairshopr.contracts.updateUpdates an existing Contract by IDwrite
Leads4
  • repairshopr.leads.createCreates a Leadwrite
  • repairshopr.leads.getRetrieves a Lead by IDread
  • repairshopr.leads.listReturns a paginated list of Leadsread
  • repairshopr.leads.updateUpdates an existing Lead by IDwrite
Users4
  • repairshopr.users.getRetrieves an existing User by IDread
  • repairshopr.users.listReturns a paginated list of Usersread
  • repairshopr.users.me_getReturns the current userread
  • repairshopr.users.otp_loginAuthorize a User with One Time Passwordwrite
Vendors4
  • repairshopr.vendors.createCreates a Vendorwrite
  • repairshopr.vendors.getRetrieves a Vendor Pageread
  • repairshopr.vendors.listReturns a paginated list of Vendorsread
  • repairshopr.vendors.updateUpdates an existing Vendor page by IDwrite
Settings3
  • repairshopr.settings.getReturns a list of Account Settings with rolloutread
  • repairshopr.settings.printing_getReturns Printing Settingsread
  • repairshopr.settings.tabs_getReturns Tabs Settingsread
Invoicing2
  • repairshopr.invoices.convert_to_draftConverts a published Invoice back to a draftwrite
  • repairshopr.invoices.publishPublishes a draft Invoicewrite
Telephony1
  • repairshopr.callerid.getGet Caller IDread
Global1
  • repairshopr.search.querySearch all the thingsread

Questions

The RepairShopr MCP server, answered.

Is there a RepairShopr MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 186 RepairShopr actions across PSA, catalog, RMM and invoicing, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by RepairShopr.

What do I need to connect RepairShopr?

RepairShopr API key (your user profile page > API Tokens). Plus your subdomain host. The free call account { op: "connections.requirements", service: "repairshopr" } lists exactly what to paste.

Can an AI agent delete or change things in RepairShopr?

Only if its key allows it, and only with an explicit confirmation. 25 RepairShopr actions are destructive, including deletes an invoice by ID, deletes an Estimate by ID and deletes a Portal User by ID. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my RepairShopr API limit?

actionlake paces every call to the limits in the RepairShopr service file: 180 calls a minute per connection. Repeated reads are answered from cache (74 RepairShopr actions can be), which never reaches RepairShopr.

What does a RepairShopr action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (186 RepairShopr actions page). Cache hits, searches, dry runs and calls RepairShopr refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which RepairShopr API does it cover?

The RepairShopr API v1 at your own repairshopr.com address, set when you connect. It is built from RepairShopr's documentation as read on 20 September 2026. 186 actions in 21 areas, each one in the signed service file (version 1.0.0).

Can I combine RepairShopr with my other systems?

Yes. ask joins RepairShopr to HubSpot CRM or ServiceNow on the same customer and returns the answer rather than every row. RepairShopr maps crm.company, which 227 other connectors also map.

Does actionlake keep my RepairShopr data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your RepairShopr credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent RepairShopr today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.