Skip to content

Connectors · Accounting & finance

Simpro MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Simpro and the rest of your systems. It gives your agent 1,491 Simpro actions (719 reads, 537 writes and 235 that wait for a confirmation) and holds the Simpro credential itself, so the agent never does. It paces Simpro'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: "simpro.contacts.list",  intent: "check which Simpro account is connected"}# List all contacts · read · 1 upstream call
  • 1,491actionsin one signed file
  • 719readlook, never change
  • 537writecreate and update
  • 235wait for a yesdestructive, confirmed first

Set up

Connect Simpro 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 Simpro.

    OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_idClient ID from the key file Simpro issues for a Client Credentials application (System > Setup > API > Applications…
    • client_secretClient secret from the same key file
    • tenant_hostWhere your Simpro lives: your tenant host
    account { op: "connections.requirements", service: "simpro" }
    # 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: "simpro.contacts.list" }# list all contacts · read · 1 upstream callcheck { action: "simpro.contacts.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Simpro at a glance

Sign-in
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
You provide
client_idclient_secret
Setup fields
tenant_host
Limits we pace to
10 calls a second, per connection
API covered
Simpro REST API v1.0 (Swagger 2.0, swagger.zip), at your Simpro instance's API base URL, which you enter when connecting (path /api/v1.0)
Built from
Simpro's documentation, read 23 October 2026developer.simprogroup.comdeveloper.simprogroup.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
719 of 719 reads, for up to 5 minutes; a write clears what it affects
Shared entities
13, so ask can line Simpro up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Simpro.

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

  • 719readlook, never change
  • 537writecreate and update
  • 235destructivewait for a confirmation
  1. Setup

    350

    150 read · 134 write · 66 destructive

    Create a new accounting category · List all accounting categories · Create a new business group · List all business groups

  2. Jobs

    135

    60 read · 55 write · 20 destructive

    List all jobs · Create a new job · Retrieve details for a specific job · Update a job

  3. Recurring

    127

    58 read · 48 write · 21 destructive

    List all cost centers · List all recurring invoice sections · Create a new recurring invoice · List all recurring invoices

  4. Quotes

    112

    49 read · 46 write · 17 destructive

    List all quotes · Create a new quote · Retrieve details for a specific quote · Update a quote

  5. Customers

    87

    42 read · 31 write · 14 destructive

    List all company customers · Create a new company customer · Retrieve details for a specific company customer · Update a company customer

  6. Sites

    81

    35 read · 32 write · 14 destructive

    List all sites · Create a new site · Retrieve details for a specific site · Update a site

  7. Vendor

    70

    39 read · 23 write · 8 destructive

    List all vendor orders · Create a new vendor order · Retrieve details for a specific vendor order · Update a vendor order

  8. Take

    43

    16 read · 18 write · 9 destructive

    Create a new take off template group · List all take off template groups · Create a new take off template sub group · List all take off template sub groups

39 more areas · 486 actions
  • Invoices 37
  • Catalogs 35
  • Plant 35
  • Contractors 34
  • Employees 34
  • Vendors 31
  • Contractor 30
  • Prebuilds 29
  • Customer 23
  • Leads 23
  • Logs 20
  • Tasks 18
  • Job 17
  • Credit 15
  • Accounts 12
  • Catalog 11
  • Prebuild 11
  • Stock 10
  • Contacts 8
  • Storage 8
  • Activity 5
  • Data 4
  • Quote 4
  • Schedules 4
  • Work 4
  • Companies 3
  • Notes 3
  • Inventory 2
  • Plants 2
  • Reports 2
  • Staff 2
  • Test 2
  • Timesheets 2
  • Available 1
  • Current 1
  • Info 1
  • Licences 1
  • Send 1
  • SMS 1

Top actions

The Simpro API, shaped for agents.

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

ActionWhat it doesEffectSame name in
simpro.contacts.listList all contactsList all contacts.readcrm.contact.list177 connectors
simpro.customers_companies.listList all company customersList all company customers.readcrm.company.list162 connectors
simpro.sites.listList all sitesList all sites.readcrm.location.list48 connectors
simpro.leads.listList all leadsList all leads.readcrm.lead.list28 connectors
simpro.contacts.createCreate a new contactCreate a new contact.writecrm.contact.create161 connectors
simpro.invoices.listList all invoicesList all invoices.readfinance.invoice.list101 connectors
simpro.customers_companies.createCreate a new company customerCreate a new company customer.writecrm.company.create142 connectors
simpro.quotes.listList all quotesList all quotes.readfinance.quote.list52 connectors
simpro.vendor_orders.listList all vendor ordersList all vendor orders.readfinance.purchase_order.list45 connectors
simpro.contacts.updateUpdate a contactUpdate a contact.writecrm.contact.update159 connectors
simpro.credit_notes.listList all credit notesList all credit notes.readfinance.credit_note.list33 connectors
simpro.contacts.deleteDelete a contactDelete a contact.destructivecrm.contact.delete147 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

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

    callssimpro.invoices.list

  2. Writewrite

    Create a new contact in Simpro. Show me exactly what you will send before you save it.

    callssimpro.contacts.create

  3. Across systemsread

    For each customer, how many invoices are in Simpro and how many tickets in ConnectWise PSA?

    callssimpro.invoices.listconnectwise_manage.tickets.list

Across your systems

Simpro, joined to the rest of your business.

One ask fetches from Simpro 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 Simpro and how many tickets in ConnectWise PSA?

    simpro.invoices.list + connectwise_manage.tickets.list, on crm.company · ConnectWise PSA

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

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

Also mapped by other connectorscrm.company 227crm.contact 192work.project 116work.task 105finance.invoice 91hr.employee 63crm.location 49finance.quote 45
ask
ask {  intent: "for each customer, how many invoices are in Simpro and how many tickets in ConnectWise PSA",  steps: [    { action: "simpro.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.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.

Governance for Simpro

Destructive actions wait for a yes.

235 Simpro actions are destructive. The first 10:

  • Delete a contactsimpro.contacts.delete
  • Delete a company customersimpro.customers_companies.delete
  • Delete a sitesimpro.sites.delete
  • Delete a leadsimpro.leads.delete
  • Delete an invoicesimpro.invoices.delete
  • Delete a quotesimpro.quotes.delete
  • Delete a tasksimpro.tasks.delete
  • Delete a vendor ordersimpro.vendor_orders.delete
  • Delete a jobsimpro.jobs.delete
  • Delete a credit notesimpro.credit_notes.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.

dosimpro.contacts.deleteconfirm_policy: human

Delete a contact?

intent: the user asked me to delete a contact

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

Cost

What Simpro costs on actionlake.

Every Simpro action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Simpro 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 1,491 Simpro actions
  • 1,491actions pageeach page of a long list is one call
  • 719reads 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 Simpro action.

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

Setup350
  • simpro.setup_accounts_acc_categories.createCreate a new accounting categorywrite
  • simpro.setup_accounts_acc_categories.listList all accounting categoriesread
  • simpro.setup_accounts_business_groups.createCreate a new business groupwrite
  • simpro.setup_accounts_business_groups.listList all business groupsread
  • simpro.setup_accounts_acc_categories.deleteDelete an accounting categorydestructive
  • simpro.setup_accounts_acc_categories.getRetrieve details for a specific accounting categoryread
  • and 344 more in this area
Jobs135
  • simpro.jobs.createCreate a new jobwrite
  • simpro.jobs.getRetrieve details for a specific jobread
  • simpro.jobs.listList all jobsread
  • simpro.jobs.updateUpdate a jobwrite
  • simpro.jobs.deleteDelete a jobdestructive
  • simpro.jobs_attach_form.createCreate a new job attach formwrite
  • and 129 more in this area
Recurring127
  • simpro.recurring_invoice_cost_centers.listList all cost centersread
  • simpro.recurring_invoice_sections.listList all recurring invoice sectionsread
  • simpro.recurring_invoices.createCreate a new recurring invoicewrite
  • simpro.recurring_invoices.listList all recurring invoicesread
  • simpro.recurring_invoices_sections.listList all recurring invoice sectionsread
  • simpro.recurring_job_cost_centers.listList all cost centersread
  • and 121 more in this area
Quotes112
  • simpro.quotes.createCreate a new quotewrite
  • simpro.quotes.getRetrieve details for a specific quoteread
  • simpro.quotes.listList all quotesread
  • simpro.quotes.updateUpdate a quotewrite
  • simpro.quotes.deleteDelete a quotedestructive
  • simpro.quotes_attachments_files.createCreate a new quote attachmentwrite
  • and 106 more in this area
Customers87
  • simpro.customers_companies.createCreate a new company customerwrite
  • simpro.customers_companies.getRetrieve details for a specific company customerread
  • simpro.customers_companies.listList all company customersread
  • simpro.customers_companies.updateUpdate a company customerwrite
  • simpro.customers.listList all customersread
  • simpro.customers_assigned_companies.createCreate a new customer assigned companieswrite
  • and 81 more in this area
Sites81
  • simpro.sites.createCreate a new sitewrite
  • simpro.sites.getRetrieve details for a specific siteread
  • simpro.sites.listList all sitesread
  • simpro.sites.updateUpdate a sitewrite
  • simpro.sites.deleteDelete a sitedestructive
  • simpro.sites_assets.createCreate a new customer assetwrite
  • and 75 more in this area
Vendor70
  • simpro.vendor_orders.createCreate a new vendor orderwrite
  • simpro.vendor_orders.getRetrieve details for a specific vendor orderread
  • simpro.vendor_orders.listList all vendor ordersread
  • simpro.vendor_orders.updateUpdate a vendor orderwrite
  • simpro.vendor_branches.getRetrieve details for a specific vendor branchread
  • simpro.vendor_branches.listList all vendor branchesread
  • and 64 more in this area
Take43
  • simpro.take_off_template_groups.createCreate a new take off template groupwrite
  • simpro.take_off_template_groups.listList all take off template groupsread
  • simpro.take_off_template_groups_sub_groups.createCreate a new take off template sub groupwrite
  • simpro.take_off_template_groups_sub_groups.listList all take off template sub groupsread
  • simpro.take_off_template_groups.deleteDelete a take off template groupdestructive
  • simpro.take_off_template_groups.getRetrieve details for a specific take off template groupread
  • and 37 more in this area
Invoices37
  • simpro.invoices.createCreate a new invoicewrite
  • simpro.invoices.getRetrieve details for a specific invoiceread
  • simpro.invoices.listList all invoicesread
  • simpro.invoices.updateUpdate an invoicewrite
  • simpro.invoices.deleteDelete an invoicedestructive
  • simpro.invoices_attach_form.createCreate a new invoice attach formwrite
  • and 31 more in this area
Catalogs35
  • simpro.catalogs.createCreate a new catalog itemwrite
  • simpro.catalogs.listList all catalog itemsread
  • simpro.catalogs_attachments_files.createCreate a new catalog attachmentwrite
  • simpro.catalogs_attachments_files.listList all catalog attachmentsread
  • simpro.catalogs.deleteDelete a catalog itemdestructive
  • simpro.catalogs.getRetrieve details for a specific catalog itemread
  • and 29 more in this area
Plant35
  • simpro.plant_type_custom_fields.listList all plant type custom fieldsread
  • simpro.plant_types.createCreate a new plant typewrite
  • simpro.plant_types.listList all plant typesread
  • simpro.plant_types_custom_fields.createCreate a new plant type custom fieldwrite
  • simpro.plant_types_custom_fields.listList all plant type custom fieldsread
  • simpro.plant_type_custom_fields.getRetrieve details for a specific plant type custom fieldread
  • and 29 more in this area
Contractors34
  • simpro.contractors.createCreate a new contractorwrite
  • simpro.contractors.getRetrieve details for a specific contractorread
  • simpro.contractors.listList all contractorsread
  • simpro.contractors.updateUpdate a contractorwrite
  • simpro.contractors.deleteDelete a contractordestructive
  • simpro.contractors_attachments_files.createCreate a new contractor attachmentwrite
  • and 28 more in this area
Employees34
  • simpro.employees.createCreate a new employeewrite
  • simpro.employees.getRetrieve details for a specific employeeread
  • simpro.employees.listList all employeesread
  • simpro.employees.updateUpdate an employeewrite
  • simpro.employees.deleteDelete an employeedestructive
  • simpro.employees_attachments_files.createCreate a new employee attachmentwrite
  • and 28 more in this area
Vendors31
  • simpro.vendors.createCreate a new vendorwrite
  • simpro.vendors.getRetrieve details for a specific vendorread
  • simpro.vendors.listList all vendorsread
  • simpro.vendors.updateUpdate a vendorwrite
  • simpro.vendors.deleteDelete a vendordestructive
  • simpro.vendors_attachments_files.createCreate a new vendor attachmentwrite
  • and 25 more in this area
Contractor30
  • simpro.contractor_invoices.createCreate a new contractor invoicewrite
  • simpro.contractor_invoices.listList all contractor invoicesread
  • simpro.contractor_invoices_attachments_files.createCreate a new contractor invoice attachmentwrite
  • simpro.contractor_invoices_attachments_files.listList all contractor invoice attachmentsread
  • simpro.contractor_invoices.deleteDelete a contractor invoicedestructive
  • simpro.contractor_invoices.getRetrieve details for a specific contractor invoiceread
  • and 24 more in this area
Prebuilds29
  • simpro.prebuilds.listList all prebuildsread
  • simpro.prebuilds_attachments_files.createCreate a new prebuild attachmentwrite
  • simpro.prebuilds_attachments_files.listList all prebuild attachmentsread
  • simpro.prebuilds_attachments_folders.createCreate a new prebuild attachment folderwrite
  • simpro.prebuilds_attachments_files.deleteDelete a prebuild attachmentdestructive
  • simpro.prebuilds_attachments_files.getRetrieve details for a specific prebuild attachmentread
  • and 23 more in this area
Customer23
  • simpro.customer_assets.listList all customer assets with sitesread
  • simpro.customer_assets_service_levels.createCreate a new asset service levelwrite
  • simpro.customer_assets_service_levels.listList all asset service levelsread
  • simpro.customer_assets_test_history.listList all asset test historiesread
  • simpro.customer_assets.getRetrieve details for a specific customer asset with siteread
  • simpro.customer_assets_service_levels.deleteDelete an asset service leveldestructive
  • and 17 more in this area
Leads23
  • simpro.leads.createCreate a new leadwrite
  • simpro.leads.getRetrieve details for a specific leadread
  • simpro.leads.listList all leadsread
  • simpro.leads.updateUpdate a leadwrite
  • simpro.leads.deleteDelete a leaddestructive
  • simpro.leads_attachments_files.createCreate a new lead attachmentwrite
  • and 17 more in this area
Logs20
  • simpro.logs_contacts.listList all contact logsread
  • simpro.logs_contractor_jobs.listList all contractor job logsread
  • simpro.logs_customer_invoices.listList all customer invoice logsread
  • simpro.logs_customers.listList all customer logsread
  • simpro.logs_contacts.getRetrieve details for a specific contact logread
  • simpro.logs_contractor_jobs.getRetrieve details for a specific contractor job logread
  • and 14 more in this area
Tasks18
  • simpro.tasks.createCreate a new taskwrite
  • simpro.tasks.getRetrieve details for a specific taskread
  • simpro.tasks.listList all tasksread
  • simpro.tasks.updateUpdate a taskwrite
  • simpro.tasks.deleteDelete a taskdestructive
  • simpro.tasks_attachments_files.createCreate a new task attachmentwrite
  • and 12 more in this area
Job17
  • simpro.job_cost_centers.listList all cost centersread
  • simpro.job_cost_centers_assets.listList all job cost center assetsread
  • simpro.job_cost_centers_catalogs.listList all job cost center catalog itemsread
  • simpro.job_cost_centers_labor.listList all job cost center labor itemsread
  • simpro.job_cost_centers_assets.getRetrieve details for a specific job cost center assetread
  • simpro.job_cost_centers_catalogs.getRetrieve details for a specific job cost center catalog itemread
  • and 11 more in this area
Credit15
  • simpro.credit_notes.createCreate a new credit notewrite
  • simpro.credit_notes.getRetrieve details for a specific credit noteread
  • simpro.credit_notes.listList all credit notesread
  • simpro.credit_notes.updateUpdate a credit notewrite
  • simpro.credit_notes.deleteDelete a credit notedestructive
  • simpro.credit_notes_allocations.createCreate multiple new credit note allocationswrite
  • and 9 more in this area
Accounts12
  • simpro.accounts_journals.listList all journalsread
  • simpro.accounts_payable_contacts.listList all payable contactsread
  • simpro.accounts_payable_invoices.listList all payable invoicesread
  • simpro.accounts_receivable_contacts.listList all receivable contactsread
  • simpro.accounts_payable_contacts.getRetrieve details for a specific payable contactread
  • simpro.accounts_receivable_contacts.getRetrieve details for a specific receivable contactread
  • and 6 more in this area
Catalog11
  • simpro.catalog_groups.createCreate a new catalog groupwrite
  • simpro.catalog_groups.listList all catalog groupsread
  • simpro.catalog_groups_sub_groups.createCreate a new catalog sub groupwrite
  • simpro.catalog_groups_sub_groups.listList all catalog sub groupsread
  • simpro.catalog_groups.deleteDelete a catalog groupdestructive
  • simpro.catalog_groups.getRetrieve details for a specific catalog groupread
  • and 5 more in this area
Prebuild11
  • simpro.prebuild_catalogs.listList all prebuild catalogsread
  • simpro.prebuild_groups.createCreate a new prebuild groupwrite
  • simpro.prebuild_groups.listList all prebuild groupsread
  • simpro.prebuild_groups_sub_groups.createCreate a new prebuild sub groupwrite
  • simpro.prebuild_groups.deleteDelete a prebuild groupdestructive
  • simpro.prebuild_groups.getRetrieve details for a specific prebuild groupread
  • and 5 more in this area
Stock10
  • simpro.stock_allocations.listList all stock allocationsread
  • simpro.stock_takes.createCreate a new stock takewrite
  • simpro.stock_takes.listList all stock takesread
  • simpro.stock_transfer.createCreate a new stock transferwrite
  • simpro.stock_allocations.getRetrieve details for a specific stock allocationread
  • simpro.stock_takes.deleteDelete a stock takedestructive
  • and 4 more in this area
Contacts8
  • simpro.contacts.createCreate a new contactwrite
  • simpro.contacts.getRetrieve details for a specific contactread
  • simpro.contacts.listList all contactsread
  • simpro.contacts.updateUpdate a contactwrite
  • simpro.contacts.deleteDelete a contactdestructive
  • simpro.contacts_custom_fields.getRetrieve details for a specific custom fieldread
  • and 2 more in this area
Storage8
  • simpro.storage_device_stock.listList all stock itemsread
  • simpro.storage_devices.createCreate a new storage devicewrite
  • simpro.storage_devices.listList all storage devicesread
  • simpro.storage_devices_stock.listList all stock itemsread
  • simpro.storage_devices.deleteDelete a storage devicedestructive
  • simpro.storage_devices.getRetrieve details for a specific storage deviceread
  • and 2 more in this area
Activity5
  • simpro.activity_schedules.createCreate a new activity schedulewrite
  • simpro.activity_schedules.getRetrieve details for a specific activity scheduleread
  • simpro.activity_schedules.listList all activity schedulesread
  • simpro.activity_schedules.updateUpdate an activity schedulewrite
  • simpro.activity_schedules.deleteDelete an activity scheduledestructive
Data4
  • simpro.data_feed_events.createCreate a new datafeedeventwrite
  • simpro.data_feed_events.deleteDelete a datafeedeventdestructive
  • simpro.data_feed_events.getRetrieve details for a specific datafeedeventread
  • simpro.data_feed_events.listList all datafeedeventsread
Quote4
  • simpro.quote_cost_centers.getRetrieve details for a specific cost centerread
  • simpro.quote_cost_centers.listList all cost centersread
  • simpro.quote_work_orders.getRetrieve details for a specific quote work orderread
  • simpro.quote_work_orders.listList all quote work ordersread
Schedules4
  • simpro.schedules.createCreate a new schedulewrite
  • simpro.schedules.deleteDelete a scheduledestructive
  • simpro.schedules.getRetrieve details for a specific scheduleread
  • simpro.schedules.listList all schedulesread
Work4
  • simpro.work_orders.getRetrieve details for a specific work orderread
  • simpro.work_orders.listList all work ordersread
  • simpro.work_orders_assets.getRetrieve details for a specific work order assetread
  • simpro.work_orders_assets.listList all work order assetsread
Companies3
  • simpro.companies.getRetrieve details for a specific companyread
  • simpro.companies.listList all companiesread
  • simpro.companies.updateUpdate a companywrite
Notes3
  • simpro.notes_customers.listList all notesread
  • simpro.notes_jobs.listList all notesread
  • simpro.notes_recurring_jobs.listList all notesread
Inventory2
  • simpro.inventory_journals.getRetrieve details for a specific inventory journalread
  • simpro.inventory_journals.listList all inventory journalsread
Plants2
  • simpro.plants.getRetrieve details for a specific plant and equipmentread
  • simpro.plants.listList all plant and equipmentread
Reports2
  • simpro.reports_jobs_cost_to_complete_financial.listReport: cost to complete - financial viewread
  • simpro.reports_jobs_cost_to_complete_operations.listReport: cost to complete - operations viewread
Staff2
  • simpro.staff.getRetrieve details for a specific staffread
  • simpro.staff.listList all staffread
Test2
  • simpro.test_histories.getRetrieve details for a specific test historyread
  • simpro.test_histories.listList all test historiesread
Timesheets2
  • simpro.timesheets.listList all timesheetsread
  • simpro.timesheets_lock.listList all timesheet lockread
Available1
  • simpro.available_technicians.listList all technician availabilitiesread
Current1
  • simpro.current_user.getList all current userread
Info1
  • simpro.info.getRetrieve details for a specific inforead
Licences1
  • simpro.licences.listList all licencesread
Send1
  • simpro.send_sms.createCreate a new send smswrite
SMS1
  • simpro.sms_plan.getRetrieve details for a specific sms planread

This index shows a sample of each area. All 1,491 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The Simpro MCP server, answered.

Is there a Simpro MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 1,491 Simpro actions across setup, jobs, recurring and quotes, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Simpro.

What do I need to connect Simpro?

Client ID from the key file Simpro issues for a Client Credentials application (System > Setup > API > Applications… and Client secret from the same key file. Plus your tenant host. The free call account { op: "connections.requirements", service: "simpro" } lists exactly what to paste.

Can an AI agent delete or change things in Simpro?

Only if its key allows it, and only with an explicit confirmation. 235 Simpro actions are destructive, including delete a contact, delete a company customer and delete a site. 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 Simpro API limit?

actionlake paces every call to the limits in the Simpro service file: 10 calls a second per connection. Repeated reads are answered from cache (719 Simpro actions can be), which never reaches Simpro.

What does a Simpro action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (1,491 Simpro actions page). Cache hits, searches, dry runs and calls Simpro 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 Simpro API does it cover?

The Simpro REST API v1.0 (Swagger 2.0, swagger.zip) at your Simpro instance's API base URL, which you enter when connecting (path /api/v1.0). It is built from Simpro's documentation as read on 23 October 2026. 1,491 actions in 47 areas, each one in the signed service file (version 1.0.0).

Can I combine Simpro with my other systems?

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

Does actionlake keep my Simpro data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, 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 Simpro 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 Simpro today.

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