Skip to content

Connectors · Accounting & finance

Epicor Kinetic MCP server for AI agents.

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

Set up

Connect Epicor Kinetic 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 Epicor Kinetic.

    Header credentials. 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_keyEpicor API key (Kinetic
    • usernameEpicor user id (integration user)
    • passwordEpicor user password
    • companyYour Epicor Kinetic company
    • hostWhere your Epicor Kinetic lives: your host
    • instanceWhere your Epicor Kinetic lives: your instance
    account { op: "connections.requirements", service: "epicor_kinetic" }
    # 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: "epicor_kinetic.ar_invoices.list" }# list ar invoices · read · 1 upstream callcheck { action: "epicor_kinetic.ar_invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Epicor Kinetic at a glance

Sign-in
Header credentials. 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_keyusernamepassword
Setup fields
companyhostinstance
Limits we pace to
600 calls a minute, per connection
API covered
Epicor Kinetic ERP (REST API v2, OData) API REST v2 (OData v4), at your Epicor Kinetic instance's API base URL, which you enter when connecting
Built from
Epicor Kinetic's documentation, read 23 October 2026epicor.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
194 of 194 reads, for up to 5 minutes; a write clears what it affects
Shared entities
11, so ask can line Epicor Kinetic up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Epicor Kinetic.

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

  • 194readlook, never change
  • 154writecreate and update
  • 96destructivewait for a confirmation
  1. Ap invoices

    9

    4 read · 3 write · 2 destructive

    List AP invoices · Create an AP invoice · Get an AP invoice · Update an AP invoice

  2. Ar invoices

    9

    4 read · 3 write · 2 destructive

    List AR invoices · Create an AR invoice · Get an AR invoice · Update an AR invoice

  3. Countries

    9

    4 read · 3 write · 2 destructive

    Create a country · List countries · Get a country · Update a country

  4. Currencies

    9

    4 read · 3 write · 2 destructive

    List currencies · Create a currency · Get a currency · Update a currency

  5. Customer contacts

    9

    4 read · 3 write · 2 destructive

    List customer contacts · Create a customer contact · Get a customer contact · Update a customer contact

  6. Customer groups

    9

    4 read · 3 write · 2 destructive

    Create a customer group · List customer groups · Get a customer group · Update a customer group

  7. Customer shipments

    9

    4 read · 3 write · 2 destructive

    Create a customer shipment · List customer shipments · Get a customer shipment · Update a customer shipment

  8. Customers

    9

    4 read · 3 write · 2 destructive

    List customers · Create a customer · Get a customer · Update a customer

51 more areas · 372 actions
  • Employees 9
  • GL accounts 9
  • Jobs 9
  • Part classes 9
  • Parts 9
  • Payment terms 9
  • Person contacts 9
  • Price lists 9
  • Product groups 9
  • Projects 9
  • Purchase orders 9
  • Quotes 9
  • Reason codes 9
  • Sales orders 9
  • Sales reps 9
  • Ship vias 9
  • Sites 9
  • Ud01 9
  • Ud02 9
  • Ud03 9
  • Ud04 9
  • Ud05 9
  • Ud06 9
  • Ud07 9
  • Ud08 9
  • Ud09 9
  • Ud10 9
  • Users 9
  • Vendor contacts 9
  • Vendors 9
  • Warehouses 9
  • Odata 7
  • Ap invoice lines 5
  • Ar invoice lines 5
  • Customer ship tos 5
  • Customer shipment lines 5
  • Job assemblies 5
  • Job materials 5
  • Job operations 5
  • Labor details 5
  • Labor headers 5
  • Part plants 5
  • Part revisions 5
  • Purchase order lines 5
  • Purchase order releases 5
  • Quote lines 5
  • Sales order lines 5
  • Sales order releases 5
  • Labor 4
  • Baqs 1
  • Functions 1

Top actions

The Epicor Kinetic API, shaped for agents.

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

ActionWhat it doesEffectSame name in
epicor_kinetic.ar_invoices.listList AR invoicesList AR invoices (Erp.BO.ARInvoiceSvc/ARInvoices) with OData filtering.readfinance.invoice.list101 connectors
epicor_kinetic.quotes.listList quotesList quotes (Erp.BO.QuoteSvc/Quotes) with OData filtering.readfinance.quote.list52 connectors
epicor_kinetic.purchase_orders.listList purchase ordersList purchase orders (Erp.BO.POSvc/POes) with OData filtering.readfinance.purchase_order.list45 connectors
epicor_kinetic.ap_invoices.listList AP invoicesList AP invoices (Erp.BO.APInvoiceSvc/APInvoices) with OData filtering.readfinance.bill.list31 connectors
epicor_kinetic.parts.listList partsList parts (Erp.BO.PartSvc/Parts) with OData filtering.readcommerce.product.list112 connectors
epicor_kinetic.sales_orders.listList sales ordersList sales orders (Erp.BO.SalesOrderSvc/SalesOrders) with OData filtering.readcommerce.order.list82 connectors
epicor_kinetic.ar_invoices.createCreate an AR invoiceCreate a AR invoice (POST to ARInvoices).writefinance.invoice.create74 connectors
epicor_kinetic.customer_contacts.listList customer contactsList customer contacts (Erp.BO.CustCntSvc/CustCnts) with OData filtering.readcrm.contact.list177 connectors
epicor_kinetic.customers.listList customersList customers (Erp.BO.CustomerSvc/Customers) with OData filtering.readcrm.company.list162 connectors
epicor_kinetic.quotes.createCreate a quoteCreate a quote (POST to Quotes).writefinance.quote.create52 connectors
epicor_kinetic.purchase_orders.createCreate a purchase orderCreate a purchase order (POST to POes).writefinance.purchase_order.create43 connectors
epicor_kinetic.ar_invoices.deleteDelete an AR invoiceDelete a AR invoice by key.destructivefinance.invoice.delete56 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

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

    callsepicor_kinetic.ar_invoices.list

  2. Writewrite

    Create an AR invoice in Epicor Kinetic. Show me exactly what you will send before you save it.

    callsepicor_kinetic.ar_invoices.create

  3. Across systemsread

    Which Epicor Kinetic companies have invoices in ConnectWise PSA, and how many each?

    callsepicor_kinetic.customers.listconnectwise_manage.invoices.list

Across your systems

Epicor Kinetic, joined to the rest of your business.

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

  • Which Epicor Kinetic companies have invoices in ConnectWise PSA, and how many each?

    epicor_kinetic.customers.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which Epicor Kinetic companies have tickets in HubSpot CRM, and how many each?

    epicor_kinetic.customers.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorscrm.company 227crm.contact 192work.project 116commerce.product 109finance.invoice 91commerce.order 86hr.employee 63finance.quote 45
ask
ask {  intent: "which Epicor Kinetic companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "epicor_kinetic.customers.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Epicor Kinetic

Destructive actions wait for a yes.

96 Epicor Kinetic actions are destructive. The first 10:

  • Delete an AR invoiceepicor_kinetic.ar_invoices.delete
  • Delete a quoteepicor_kinetic.quotes.delete
  • Delete a purchase orderepicor_kinetic.purchase_orders.delete
  • Delete an AP invoiceepicor_kinetic.ap_invoices.delete
  • Delete a partepicor_kinetic.parts.delete
  • Delete a sales orderepicor_kinetic.sales_orders.delete
  • Delete a customer contactepicor_kinetic.customer_contacts.delete
  • Delete a customerepicor_kinetic.customers.delete
  • Delete a projectepicor_kinetic.projects.delete
  • Delete an employeeepicor_kinetic.employees.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.

doepicor_kinetic.ar_invoices.deleteconfirm_policy: human

Delete an AR invoice?

intent: the user asked me to delete an AR invoice

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

Cost

What Epicor Kinetic costs on actionlake.

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

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

Ap invoices9
  • epicor_kinetic.ap_invoices.createCreate an AP invoicewrite
  • epicor_kinetic.ap_invoices.getGet an AP invoiceread
  • epicor_kinetic.ap_invoices.listList AP invoicesread
  • epicor_kinetic.ap_invoices.updateUpdate an AP invoicewrite
  • epicor_kinetic.ap_invoices.deleteDelete an AP invoicedestructive
  • epicor_kinetic.ap_invoices.delete_by_idDelete AP (supplier) invoice (DeleteByID)destructive
  • and 3 more in this area
Ar invoices9
  • epicor_kinetic.ar_invoices.createCreate an AR invoicewrite
  • epicor_kinetic.ar_invoices.getGet an AR invoiceread
  • epicor_kinetic.ar_invoices.listList AR invoicesread
  • epicor_kinetic.ar_invoices.updateUpdate an AR invoicewrite
  • epicor_kinetic.ar_invoices.deleteDelete an AR invoicedestructive
  • epicor_kinetic.ar_invoices.delete_by_idDelete AR (customer) invoice (DeleteByID)destructive
  • and 3 more in this area
Countries9
  • epicor_kinetic.countries.createCreate a countrywrite
  • epicor_kinetic.countries.getGet a countryread
  • epicor_kinetic.countries.listList countriesread
  • epicor_kinetic.countries.updateUpdate a countrywrite
  • epicor_kinetic.countries.deleteDelete a countrydestructive
  • epicor_kinetic.countries.delete_by_idDelete country (DeleteByID)destructive
  • and 3 more in this area
Currencies9
  • epicor_kinetic.currencies.createCreate a currencywrite
  • epicor_kinetic.currencies.getGet a currencyread
  • epicor_kinetic.currencies.listList currenciesread
  • epicor_kinetic.currencies.updateUpdate a currencywrite
  • epicor_kinetic.currencies.deleteDelete a currencydestructive
  • epicor_kinetic.currencies.delete_by_idDelete currency (DeleteByID)destructive
  • and 3 more in this area
Customer contacts9
  • epicor_kinetic.customer_contacts.createCreate a customer contactwrite
  • epicor_kinetic.customer_contacts.getGet a customer contactread
  • epicor_kinetic.customer_contacts.listList customer contactsread
  • epicor_kinetic.customer_contacts.updateUpdate a customer contactwrite
  • epicor_kinetic.customer_contacts.deleteDelete a customer contactdestructive
  • epicor_kinetic.customer_contacts.delete_by_idDelete customer contact (DeleteByID)destructive
  • and 3 more in this area
Customer groups9
  • epicor_kinetic.customer_groups.createCreate a customer groupwrite
  • epicor_kinetic.customer_groups.getGet a customer groupread
  • epicor_kinetic.customer_groups.listList customer groupsread
  • epicor_kinetic.customer_groups.updateUpdate a customer groupwrite
  • epicor_kinetic.customer_groups.deleteDelete a customer groupdestructive
  • epicor_kinetic.customer_groups.delete_by_idDelete customer group (DeleteByID)destructive
  • and 3 more in this area
Customer shipments9
  • epicor_kinetic.customer_shipments.createCreate a customer shipmentwrite
  • epicor_kinetic.customer_shipments.getGet a customer shipmentread
  • epicor_kinetic.customer_shipments.listList customer shipmentsread
  • epicor_kinetic.customer_shipments.updateUpdate a customer shipmentwrite
  • epicor_kinetic.customer_shipments.deleteDelete a customer shipmentdestructive
  • epicor_kinetic.customer_shipments.delete_by_idDelete customer shipment (pack slip) (DeleteByID)destructive
  • and 3 more in this area
Customers9
  • epicor_kinetic.customers.createCreate a customerwrite
  • epicor_kinetic.customers.getGet a customerread
  • epicor_kinetic.customers.listList customersread
  • epicor_kinetic.customers.updateUpdate a customerwrite
  • epicor_kinetic.customers.deleteDelete a customerdestructive
  • epicor_kinetic.customers.delete_by_idDelete customer (DeleteByID)destructive
  • and 3 more in this area
Employees9
  • epicor_kinetic.employees.createCreate an employeewrite
  • epicor_kinetic.employees.getGet an employeeread
  • epicor_kinetic.employees.listList employeesread
  • epicor_kinetic.employees.updateUpdate an employeewrite
  • epicor_kinetic.employees.deleteDelete an employeedestructive
  • epicor_kinetic.employees.delete_by_idDelete employee (DeleteByID)destructive
  • and 3 more in this area
GL accounts9
  • epicor_kinetic.gl_accounts.createCreate a GL accountwrite
  • epicor_kinetic.gl_accounts.getGet a GL accountread
  • epicor_kinetic.gl_accounts.listList GL accountsread
  • epicor_kinetic.gl_accounts.updateUpdate a GL accountwrite
  • epicor_kinetic.gl_accounts.deleteDelete a GL accountdestructive
  • epicor_kinetic.gl_accounts.delete_by_idDelete GL account (DeleteByID)destructive
  • and 3 more in this area
Jobs9
  • epicor_kinetic.jobs.createCreate a jobwrite
  • epicor_kinetic.jobs.getGet a jobread
  • epicor_kinetic.jobs.listList jobsread
  • epicor_kinetic.jobs.updateUpdate a jobwrite
  • epicor_kinetic.jobs.deleteDelete a jobdestructive
  • epicor_kinetic.jobs.delete_by_idDelete job (DeleteByID)destructive
  • and 3 more in this area
Part classes9
  • epicor_kinetic.part_classes.createCreate a part classwrite
  • epicor_kinetic.part_classes.getGet a part classread
  • epicor_kinetic.part_classes.listList part classesread
  • epicor_kinetic.part_classes.updateUpdate a part classwrite
  • epicor_kinetic.part_classes.deleteDelete a part classdestructive
  • epicor_kinetic.part_classes.delete_by_idDelete part class (DeleteByID)destructive
  • and 3 more in this area
Parts9
  • epicor_kinetic.parts.createCreate a partwrite
  • epicor_kinetic.parts.getGet a partread
  • epicor_kinetic.parts.listList partsread
  • epicor_kinetic.parts.updateUpdate a partwrite
  • epicor_kinetic.parts.deleteDelete a partdestructive
  • epicor_kinetic.parts.delete_by_idDelete part (DeleteByID)destructive
  • and 3 more in this area
Payment terms9
  • epicor_kinetic.payment_terms.createCreate a payment terms codewrite
  • epicor_kinetic.payment_terms.getGet a payment terms coderead
  • epicor_kinetic.payment_terms.listList payment terms codesread
  • epicor_kinetic.payment_terms.updateUpdate a payment terms codewrite
  • epicor_kinetic.payment_terms.deleteDelete a payment terms codedestructive
  • epicor_kinetic.payment_terms.delete_by_idDelete payment terms code (DeleteByID)destructive
  • and 3 more in this area
Person contacts9
  • epicor_kinetic.person_contacts.createCreate a person/contact recordwrite
  • epicor_kinetic.person_contacts.getGet a person/contact recordread
  • epicor_kinetic.person_contacts.listList person/contact recordsread
  • epicor_kinetic.person_contacts.updateUpdate a person/contact recordwrite
  • epicor_kinetic.person_contacts.deleteDelete a person/contact recorddestructive
  • epicor_kinetic.person_contacts.delete_by_idDelete person/contact (DeleteByID)destructive
  • and 3 more in this area
Price lists9
  • epicor_kinetic.price_lists.createCreate a price listwrite
  • epicor_kinetic.price_lists.getGet a price listread
  • epicor_kinetic.price_lists.listList price listsread
  • epicor_kinetic.price_lists.updateUpdate a price listwrite
  • epicor_kinetic.price_lists.deleteDelete a price listdestructive
  • epicor_kinetic.price_lists.delete_by_idDelete price list (DeleteByID)destructive
  • and 3 more in this area
Product groups9
  • epicor_kinetic.product_groups.createCreate a product groupwrite
  • epicor_kinetic.product_groups.getGet a product groupread
  • epicor_kinetic.product_groups.listList product groupsread
  • epicor_kinetic.product_groups.updateUpdate a product groupwrite
  • epicor_kinetic.product_groups.deleteDelete a product groupdestructive
  • epicor_kinetic.product_groups.delete_by_idDelete product group (DeleteByID)destructive
  • and 3 more in this area
Projects9
  • epicor_kinetic.projects.createCreate a projectwrite
  • epicor_kinetic.projects.getGet a projectread
  • epicor_kinetic.projects.listList projectsread
  • epicor_kinetic.projects.updateUpdate a projectwrite
  • epicor_kinetic.projects.deleteDelete a projectdestructive
  • epicor_kinetic.projects.delete_by_idDelete project (DeleteByID)destructive
  • and 3 more in this area
Purchase orders9
  • epicor_kinetic.purchase_orders.createCreate a purchase orderwrite
  • epicor_kinetic.purchase_orders.getGet a purchase orderread
  • epicor_kinetic.purchase_orders.listList purchase ordersread
  • epicor_kinetic.purchase_orders.updateUpdate a purchase orderwrite
  • epicor_kinetic.purchase_orders.deleteDelete a purchase orderdestructive
  • epicor_kinetic.purchase_orders.delete_by_idDelete purchase order (DeleteByID)destructive
  • and 3 more in this area
Quotes9
  • epicor_kinetic.quotes.createCreate a quotewrite
  • epicor_kinetic.quotes.getGet a quoteread
  • epicor_kinetic.quotes.listList quotesread
  • epicor_kinetic.quotes.updateUpdate a quotewrite
  • epicor_kinetic.quotes.deleteDelete a quotedestructive
  • epicor_kinetic.quotes.delete_by_idDelete quote (DeleteByID)destructive
  • and 3 more in this area
Reason codes9
  • epicor_kinetic.reason_codes.createCreate a reason codewrite
  • epicor_kinetic.reason_codes.getGet a reason coderead
  • epicor_kinetic.reason_codes.listList reason codesread
  • epicor_kinetic.reason_codes.updateUpdate a reason codewrite
  • epicor_kinetic.reason_codes.deleteDelete a reason codedestructive
  • epicor_kinetic.reason_codes.delete_by_idDelete reason code (DeleteByID)destructive
  • and 3 more in this area
Sales orders9
  • epicor_kinetic.sales_orders.createCreate a sales orderwrite
  • epicor_kinetic.sales_orders.getGet a sales orderread
  • epicor_kinetic.sales_orders.listList sales ordersread
  • epicor_kinetic.sales_orders.updateUpdate a sales orderwrite
  • epicor_kinetic.sales_orders.deleteDelete a sales orderdestructive
  • epicor_kinetic.sales_orders.delete_by_idDelete sales order (DeleteByID)destructive
  • and 3 more in this area
Sales reps9
  • epicor_kinetic.sales_reps.createCreate a sales representativewrite
  • epicor_kinetic.sales_reps.getGet a sales representativeread
  • epicor_kinetic.sales_reps.listList sales representativesread
  • epicor_kinetic.sales_reps.updateUpdate a sales representativewrite
  • epicor_kinetic.sales_reps.deleteDelete a sales representativedestructive
  • epicor_kinetic.sales_reps.delete_by_idDelete sales representative (DeleteByID)destructive
  • and 3 more in this area
Ship vias9
  • epicor_kinetic.ship_vias.createCreate a ship via codewrite
  • epicor_kinetic.ship_vias.getGet a ship via coderead
  • epicor_kinetic.ship_vias.listList ship via codesread
  • epicor_kinetic.ship_vias.updateUpdate a ship via codewrite
  • epicor_kinetic.ship_vias.deleteDelete a ship via codedestructive
  • epicor_kinetic.ship_vias.delete_by_idDelete ship via (carrier) code (DeleteByID)destructive
  • and 3 more in this area
Sites9
  • epicor_kinetic.sites.createCreate a site (plant)write
  • epicor_kinetic.sites.getGet a site (plant)read
  • epicor_kinetic.sites.listList sites (plants)read
  • epicor_kinetic.sites.updateUpdate a site (plant)write
  • epicor_kinetic.sites.deleteDelete a site (plant)destructive
  • epicor_kinetic.sites.delete_by_idDelete site (plant) (DeleteByID)destructive
  • and 3 more in this area
Ud019
  • epicor_kinetic.ud01.createCreate a UD01 rowwrite
  • epicor_kinetic.ud01.getGet a UD01 rowread
  • epicor_kinetic.ud01.listList UD01 rowsread
  • epicor_kinetic.ud01.updateUpdate a UD01 rowwrite
  • epicor_kinetic.ud01.deleteDelete a UD01 rowdestructive
  • epicor_kinetic.ud01.delete_by_idDelete UD01 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud029
  • epicor_kinetic.ud02.createCreate a UD02 rowwrite
  • epicor_kinetic.ud02.getGet a UD02 rowread
  • epicor_kinetic.ud02.listList UD02 rowsread
  • epicor_kinetic.ud02.updateUpdate a UD02 rowwrite
  • epicor_kinetic.ud02.deleteDelete a UD02 rowdestructive
  • epicor_kinetic.ud02.delete_by_idDelete UD02 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud039
  • epicor_kinetic.ud03.createCreate a UD03 rowwrite
  • epicor_kinetic.ud03.getGet a UD03 rowread
  • epicor_kinetic.ud03.listList UD03 rowsread
  • epicor_kinetic.ud03.updateUpdate a UD03 rowwrite
  • epicor_kinetic.ud03.deleteDelete a UD03 rowdestructive
  • epicor_kinetic.ud03.delete_by_idDelete UD03 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud049
  • epicor_kinetic.ud04.createCreate a UD04 rowwrite
  • epicor_kinetic.ud04.getGet a UD04 rowread
  • epicor_kinetic.ud04.listList UD04 rowsread
  • epicor_kinetic.ud04.updateUpdate a UD04 rowwrite
  • epicor_kinetic.ud04.deleteDelete a UD04 rowdestructive
  • epicor_kinetic.ud04.delete_by_idDelete UD04 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud059
  • epicor_kinetic.ud05.createCreate a UD05 rowwrite
  • epicor_kinetic.ud05.getGet a UD05 rowread
  • epicor_kinetic.ud05.listList UD05 rowsread
  • epicor_kinetic.ud05.updateUpdate a UD05 rowwrite
  • epicor_kinetic.ud05.deleteDelete a UD05 rowdestructive
  • epicor_kinetic.ud05.delete_by_idDelete UD05 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud069
  • epicor_kinetic.ud06.createCreate a UD06 rowwrite
  • epicor_kinetic.ud06.getGet a UD06 rowread
  • epicor_kinetic.ud06.listList UD06 rowsread
  • epicor_kinetic.ud06.updateUpdate a UD06 rowwrite
  • epicor_kinetic.ud06.deleteDelete a UD06 rowdestructive
  • epicor_kinetic.ud06.delete_by_idDelete UD06 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud079
  • epicor_kinetic.ud07.createCreate a UD07 rowwrite
  • epicor_kinetic.ud07.getGet a UD07 rowread
  • epicor_kinetic.ud07.listList UD07 rowsread
  • epicor_kinetic.ud07.updateUpdate a UD07 rowwrite
  • epicor_kinetic.ud07.deleteDelete a UD07 rowdestructive
  • epicor_kinetic.ud07.delete_by_idDelete UD07 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud089
  • epicor_kinetic.ud08.createCreate a UD08 rowwrite
  • epicor_kinetic.ud08.getGet a UD08 rowread
  • epicor_kinetic.ud08.listList UD08 rowsread
  • epicor_kinetic.ud08.updateUpdate a UD08 rowwrite
  • epicor_kinetic.ud08.deleteDelete a UD08 rowdestructive
  • epicor_kinetic.ud08.delete_by_idDelete UD08 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud099
  • epicor_kinetic.ud09.createCreate a UD09 rowwrite
  • epicor_kinetic.ud09.getGet a UD09 rowread
  • epicor_kinetic.ud09.listList UD09 rowsread
  • epicor_kinetic.ud09.updateUpdate a UD09 rowwrite
  • epicor_kinetic.ud09.deleteDelete a UD09 rowdestructive
  • epicor_kinetic.ud09.delete_by_idDelete UD09 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Ud109
  • epicor_kinetic.ud10.createCreate a UD10 rowwrite
  • epicor_kinetic.ud10.getGet a UD10 rowread
  • epicor_kinetic.ud10.listList UD10 rowsread
  • epicor_kinetic.ud10.updateUpdate a UD10 rowwrite
  • epicor_kinetic.ud10.deleteDelete a UD10 rowdestructive
  • epicor_kinetic.ud10.delete_by_idDelete UD10 user-defined table row (DeleteByID)destructive
  • and 3 more in this area
Users9
  • epicor_kinetic.users.createCreate a user accountwrite
  • epicor_kinetic.users.getGet a user accountread
  • epicor_kinetic.users.listList user accountsread
  • epicor_kinetic.users.updateUpdate a user accountwrite
  • epicor_kinetic.users.deleteDelete a user accountdestructive
  • epicor_kinetic.users.delete_by_idDelete user account (DeleteByID)destructive
  • and 3 more in this area
Vendor contacts9
  • epicor_kinetic.vendor_contacts.createCreate a supplier contactwrite
  • epicor_kinetic.vendor_contacts.getGet a supplier contactread
  • epicor_kinetic.vendor_contacts.listList supplier contactsread
  • epicor_kinetic.vendor_contacts.updateUpdate a supplier contactwrite
  • epicor_kinetic.vendor_contacts.deleteDelete a supplier contactdestructive
  • epicor_kinetic.vendor_contacts.delete_by_idDelete supplier contact (DeleteByID)destructive
  • and 3 more in this area
Vendors9
  • epicor_kinetic.vendors.createCreate a supplier (vendor)write
  • epicor_kinetic.vendors.getGet a supplier (vendor)read
  • epicor_kinetic.vendors.listList suppliers (vendors)read
  • epicor_kinetic.vendors.updateUpdate a supplier (vendor)write
  • epicor_kinetic.vendors.deleteDelete a supplier (vendor)destructive
  • epicor_kinetic.vendors.delete_by_idDelete supplier (vendor) (DeleteByID)destructive
  • and 3 more in this area
Warehouses9
  • epicor_kinetic.warehouses.createCreate a warehousewrite
  • epicor_kinetic.warehouses.getGet a warehouseread
  • epicor_kinetic.warehouses.listList warehousesread
  • epicor_kinetic.warehouses.updateUpdate a warehousewrite
  • epicor_kinetic.warehouses.deleteDelete a warehousedestructive
  • epicor_kinetic.warehouses.delete_by_idDelete warehouse (DeleteByID)destructive
  • and 3 more in this area
Odata7
  • epicor_kinetic.odata.entities.createCreate a row in any entity setwrite
  • epicor_kinetic.odata.entities.getGet a row of any entity setread
  • epicor_kinetic.odata.entities.listList rows of any entity setread
  • epicor_kinetic.odata.entities.updateUpdate a row in any entity setwrite
  • epicor_kinetic.odata.entities.deleteDelete a row in any entity setdestructive
  • epicor_kinetic.odata.methods.callCall a business-object methodwrite
  • and 1 more in this area
Ap invoice lines5
  • epicor_kinetic.ap_invoice_lines.createCreate an AP invoice linewrite
  • epicor_kinetic.ap_invoice_lines.getGet an AP invoice lineread
  • epicor_kinetic.ap_invoice_lines.listList AP invoice linesread
  • epicor_kinetic.ap_invoice_lines.updateUpdate an AP invoice linewrite
  • epicor_kinetic.ap_invoice_lines.deleteDelete an AP invoice linedestructive
Ar invoice lines5
  • epicor_kinetic.ar_invoice_lines.createCreate an AR invoice linewrite
  • epicor_kinetic.ar_invoice_lines.getGet an AR invoice lineread
  • epicor_kinetic.ar_invoice_lines.listList AR invoice linesread
  • epicor_kinetic.ar_invoice_lines.updateUpdate an AR invoice linewrite
  • epicor_kinetic.ar_invoice_lines.deleteDelete an AR invoice linedestructive
Customer ship tos5
  • epicor_kinetic.customer_ship_tos.createCreate a customer ship-to addresswrite
  • epicor_kinetic.customer_ship_tos.getGet a customer ship-to addressread
  • epicor_kinetic.customer_ship_tos.listList customer ship-to addressesread
  • epicor_kinetic.customer_ship_tos.updateUpdate a customer ship-to addresswrite
  • epicor_kinetic.customer_ship_tos.deleteDelete a customer ship-to addressdestructive
Customer shipment lines5
  • epicor_kinetic.customer_shipment_lines.createCreate a customer shipment linewrite
  • epicor_kinetic.customer_shipment_lines.getGet a customer shipment lineread
  • epicor_kinetic.customer_shipment_lines.listList customer shipment linesread
  • epicor_kinetic.customer_shipment_lines.updateUpdate a customer shipment linewrite
  • epicor_kinetic.customer_shipment_lines.deleteDelete a customer shipment linedestructive
Job assemblies5
  • epicor_kinetic.job_assemblies.createCreate a job assemblywrite
  • epicor_kinetic.job_assemblies.getGet a job assemblyread
  • epicor_kinetic.job_assemblies.listList job assembliesread
  • epicor_kinetic.job_assemblies.updateUpdate a job assemblywrite
  • epicor_kinetic.job_assemblies.deleteDelete a job assemblydestructive
Job materials5
  • epicor_kinetic.job_materials.createCreate a job materialwrite
  • epicor_kinetic.job_materials.getGet a job materialread
  • epicor_kinetic.job_materials.listList job materialsread
  • epicor_kinetic.job_materials.updateUpdate a job materialwrite
  • epicor_kinetic.job_materials.deleteDelete a job materialdestructive
Job operations5
  • epicor_kinetic.job_operations.createCreate a job operationwrite
  • epicor_kinetic.job_operations.getGet a job operationread
  • epicor_kinetic.job_operations.listList job operationsread
  • epicor_kinetic.job_operations.updateUpdate a job operationwrite
  • epicor_kinetic.job_operations.deleteDelete a job operationdestructive
Labor details5
  • epicor_kinetic.labor_details.createCreate a labor detailwrite
  • epicor_kinetic.labor_details.getGet a labor detailread
  • epicor_kinetic.labor_details.listList labor detailsread
  • epicor_kinetic.labor_details.updateUpdate a labor detailwrite
  • epicor_kinetic.labor_details.deleteDelete a labor detaildestructive
Labor headers5
  • epicor_kinetic.labor_headers.createCreate a labor headerwrite
  • epicor_kinetic.labor_headers.getGet a labor headerread
  • epicor_kinetic.labor_headers.listList labor headersread
  • epicor_kinetic.labor_headers.updateUpdate a labor headerwrite
  • epicor_kinetic.labor_headers.deleteDelete a labor headerdestructive
Part plants5
  • epicor_kinetic.part_plants.createCreate a part plant (site) recordwrite
  • epicor_kinetic.part_plants.getGet a part plant (site) recordread
  • epicor_kinetic.part_plants.listList part plant (site) recordsread
  • epicor_kinetic.part_plants.updateUpdate a part plant (site) recordwrite
  • epicor_kinetic.part_plants.deleteDelete a part plant (site) recorddestructive
Part revisions5
  • epicor_kinetic.part_revisions.createCreate a part revisionwrite
  • epicor_kinetic.part_revisions.getGet a part revisionread
  • epicor_kinetic.part_revisions.listList part revisionsread
  • epicor_kinetic.part_revisions.updateUpdate a part revisionwrite
  • epicor_kinetic.part_revisions.deleteDelete a part revisiondestructive
Purchase order lines5
  • epicor_kinetic.purchase_order_lines.createCreate a purchase order linewrite
  • epicor_kinetic.purchase_order_lines.getGet a purchase order lineread
  • epicor_kinetic.purchase_order_lines.listList purchase order linesread
  • epicor_kinetic.purchase_order_lines.updateUpdate a purchase order linewrite
  • epicor_kinetic.purchase_order_lines.deleteDelete a purchase order linedestructive
Purchase order releases5
  • epicor_kinetic.purchase_order_releases.createCreate a purchase order releasewrite
  • epicor_kinetic.purchase_order_releases.getGet a purchase order releaseread
  • epicor_kinetic.purchase_order_releases.listList purchase order releasesread
  • epicor_kinetic.purchase_order_releases.updateUpdate a purchase order releasewrite
  • epicor_kinetic.purchase_order_releases.deleteDelete a purchase order releasedestructive
Quote lines5
  • epicor_kinetic.quote_lines.createCreate a quote linewrite
  • epicor_kinetic.quote_lines.getGet a quote lineread
  • epicor_kinetic.quote_lines.listList quote linesread
  • epicor_kinetic.quote_lines.updateUpdate a quote linewrite
  • epicor_kinetic.quote_lines.deleteDelete a quote linedestructive
Sales order lines5
  • epicor_kinetic.sales_order_lines.createCreate a sales order linewrite
  • epicor_kinetic.sales_order_lines.getGet a sales order lineread
  • epicor_kinetic.sales_order_lines.listList sales order linesread
  • epicor_kinetic.sales_order_lines.updateUpdate a sales order linewrite
  • epicor_kinetic.sales_order_lines.deleteDelete a sales order linedestructive
Sales order releases5
  • epicor_kinetic.sales_order_releases.createCreate a sales order releasewrite
  • epicor_kinetic.sales_order_releases.getGet a sales order releaseread
  • epicor_kinetic.sales_order_releases.listList sales order releasesread
  • epicor_kinetic.sales_order_releases.updateUpdate a sales order releasewrite
  • epicor_kinetic.sales_order_releases.deleteDelete a sales order releasedestructive
Labor4
  • epicor_kinetic.labor.delete_by_idDelete labor (time entry) header (DeleteByID)destructive
  • epicor_kinetic.labor.get_by_idGet labor (time entry) header dataset by idread
  • epicor_kinetic.labor.get_listSearch labor (time entry) header list (GetList)read
  • epicor_kinetic.labor.update_datasetSave labor (time entry) header dataset (Update)write
Baqs1
  • epicor_kinetic.baqs.data.listRun a BAQ (Business Activity Query)read
Functions1
  • epicor_kinetic.functions.callCall an Epicor Functionwrite

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

Questions

The Epicor Kinetic MCP server, answered.

Is there an Epicor Kinetic MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 444 Epicor Kinetic actions across ap invoices, ar invoices, countries and currencies, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Epicor Kinetic.

What do I need to connect Epicor Kinetic?

Epicor API key (Kinetic, Epicor user id (integration user) and Epicor user password. Plus your company, your host and your instance. The free call account { op: "connections.requirements", service: "epicor_kinetic" } lists exactly what to paste.

Can an AI agent delete or change things in Epicor Kinetic?

Only if its key allows it, and only with an explicit confirmation. 96 Epicor Kinetic actions are destructive, including delete an AR invoice, delete a quote and delete a purchase order. 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 Epicor Kinetic API limit?

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

What does an Epicor Kinetic action cost?

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

The Epicor Kinetic ERP (REST API v2, OData) API REST v2 (OData v4) at your Epicor Kinetic instance's API base URL, which you enter when connecting. It is built from Epicor Kinetic's documentation as read on 23 October 2026. 444 actions in 59 areas, each one in the signed service file (version 1.0.0).

Can I combine Epicor Kinetic with my other systems?

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

Does actionlake keep my Epicor Kinetic 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 Epicor Kinetic 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 Epicor Kinetic today.

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