Connectors · Commerce
Linnworks MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Linnworks and the rest of your systems. It gives your agent 629 Linnworks actions (298 reads, 249 writes and 82 that wait for a confirmation) and holds the Linnworks credential itself, so the agent never does. It paces Linnworks'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/mcpdo { action: "linnworks.inventory.get_stock_locations", intent: "check which Linnworks account is connected"}# Get Stock Locations · read · 1 upstream call- 629actionsin one signed file
- 298readlook, never change
- 249writecreate and update
- 82wait for a yesdestructive, confirmed first
Set up
Connect Linnworks in three steps.
- 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 - 02
Connect Linnworks.
Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
application_idApplication ID of your Linnworks developer app (developer.linnworks.com > My Apps > the app > Edit)application_secretApplication Secret of the same Linnworks apptokenInstallation token: the token issued when the app is installed on the Linnworks account (shown on install, or under…
Found for you at connect: base url.
account { op: "connections.requirements", service: "linnworks" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "linnworks.inventory.get_stock_locations" }# get stock locations · read · 1 upstream callcheck { action: "linnworks.inventory.add_inventory_item", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Linnworks at a glance
- Sign-in
- Session login. actionlake opens the session and renews it when it expires.
- You provide
application_idapplication_secrettoken- Found for you
- base url
- Limits we pace to
- 150 calls a minute, per connection
- API covered
- Linnworks API 1.0 (Swagger 2.0, LinnSystems/PublicApiSpecs), at your Linnworks instance's API base URL, which you enter when connecting
- Built from
- Linnworks's documentation, read 23 October 2026GitHubapidocs.linnworks.net
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 298 of 298 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 4, so ask can line Linnworks up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Linnworks.
629 actions in 25 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 298readlook, never change
- 249writecreate and update
- 82destructivewait for a confirmation
Inventory
14160 read · 58 write · 23 destructive
Get Stock Locations · Add Inventory Item · Get Suppliers · Get Inventory Item By Id
Orders
10247 read · 48 write · 7 destructive
Get Order By Id · Cancel Order · Add Coupon · Add Extended Properties
Stock
5130 read · 16 write · 5 destructive
Get Stock Items · Add Rolling Stock Take · Add Variation Items · Book In Stock Batch
Warehouse transfer
4923 read · 21 write · 5 destructive
Add Item To Transfer · Add Items To Transfer · Add Transfer Bin Note · Add Transfer Item Note
Purchase order
4015 read · 20 write · 5 destructive
Add Additional Cost Types · Add Purchase Order Extended Property · Add Purchase Order Item · Add Purchase Order Note
Processed orders
3622 read · 9 write · 5 destructive
Search Processed Orders · Add Order Note · Add Return Category · Create Exchange
Rules engine
3517 read · 15 write · 3 destructive
Add Action · Copy Action · Copy Condition · Create Draft From Existing
Returns refunds
3215 read · 8 write · 9 destructive
Create Refund · Create Returns Refunds CSV · Create RMABooking · Get Booked Returns Exchange Orders
17 more areas · 143 actions
- Listings 22
- Open orders 18
- Picking 15
- Generic listings 12
- Import export 11
- WMS 11
- Print service 9
- Dashboards 7
- Settings 7
- Locations 6
- Shipping service 6
- Postal services 5
- Shipstation 5
- Email 4
- Macro 2
- Post sale 2
- Print zone 1
Top actions
The Linnworks API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 9 of Linnworks's 9 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
linnworks.inventory.get_stock_locationsGet Stock Locations | Use this call to get all stock locations | read | commerce.warehouse.list32 connectors |
linnworks.inventory.add_inventory_itemAdd Inventory Item | Use this call to add stock item. Use null for MinimumLevel to use Default Minimum Level from Settings | write | commerce.product.create92 connectors |
linnworks.inventory.get_suppliersGet Suppliers | Use this call to retrieve list of all Suppliers' names | read | asset.supplier.list41 connectors |
linnworks.inventory.get_inventory_item_by_idGet Inventory Item By Id | Use this call to get all product details | read | commerce.product.get112 connectors |
linnworks.orders.get_order_by_idGet Order By Id | Retrieves the order detail for a unique system order id identifier (pkOrderId) For working with open orders recommended to use OpenOrders/GetOpenOrdersDetails | read | commerce.order.get87 connectors |
linnworks.inventory.delete_inventory_itemsDelete Inventory Items | Use this call to delete inventory item. All associated information will be unlinked/removed from this stock item. | destructive | commerce.product.delete80 connectors |
linnworks.processed_orders.search_processed_ordersSearch Processed Orders | Search Processed Orders | read | commerce.order.search13 connectors |
linnworks.stock.get_stock_itemsGet Stock Items | Use this call to retrieve report about "Found stock items" | read | this connector |
linnworks.open_orders.get_open_ordersGet Open Orders | Get Open Orders | read | this connector |
linnworks.orders.add_couponAdd Coupon | Add a coupon to a specific order | write | this connector |
linnworks.orders.get_ordersGet Orders | Get list of open orders | read | this connector |
linnworks.inventory.add_supplierAdd Supplier | Use this call to create a new supplier | write | this connector |
Try it
Prompts to paste into Claude.
Each one names the Linnworks actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Linnworks orders from the last seven days are still unfulfilled?
calls
linnworks.open_orders.get_open_orders - Writewrite
Add Inventory Item in Linnworks. Show me exactly what you will send before you save it.
calls
linnworks.inventory.add_inventory_item
Governance for Linnworks
Destructive actions wait for a yes.
82 Linnworks actions are destructive. The first 10:
- Delete Inventory Items
linnworks.inventory.delete_inventory_items - Cancel Order
linnworks.orders.cancel_order - Create Refund
linnworks.returns_refunds.create_refund - Create RMABooking
linnworks.returns_refunds.create_rma_booking - Refund Order
linnworks.returns_refunds.refund_order - Action Refund
linnworks.returns_refunds.action_refund - Refund Services
linnworks.processed_orders.refund_services - Refund Shipping
linnworks.processed_orders.refund_shipping - Refund Free Text
linnworks.processed_orders.refund_free_text - Delete Move
linnworks.stock.delete_move
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.
Delete Inventory Items?
intent: the user asked me to delete Inventory Items
account { op: "keys.create", name: "linnworks-agent", allowed_actions: ["linnworks.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "linnworks.inventory.delete_inventory_items", approver: "[email protected]" }, { match: "linnworks.orders.cancel_order", approver: "[email protected]" }, { match: "linnworks.returns_refunds.create_refund", approver: "[email protected]" } ]}Cost
What Linnworks costs on actionlake.
Every Linnworks action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Linnworks 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 629 Linnworks actions
- 629actions pageeach page of a long list is one call
- 298reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Linnworks action.
629 actions by area: the id your agent calls, what it does, and its effect.
Inventory141
linnworks.inventory.add_inventory_itemAdd Inventory Itemwritelinnworks.inventory.get_inventory_item_by_idGet Inventory Item By Idreadlinnworks.inventory.get_stock_locationsGet Stock Locationsreadlinnworks.inventory.get_suppliersGet Suppliersreadlinnworks.inventory.add_image_to_inventory_itemAdd Image To Inventory Itemwritelinnworks.inventory.add_inventory_item_bulkAdd Inventory Item Bulkwrite- and 135 more in this area
Orders102
linnworks.orders.add_couponAdd Couponwritelinnworks.orders.add_extended_propertiesAdd Extended Propertieswritelinnworks.orders.cancel_orderCancel Orderdestructivelinnworks.orders.get_order_by_idGet Order By Idreadlinnworks.orders.add_order_itemAdd Order Itemwritelinnworks.orders.add_order_serviceAdd Order Servicewrite- and 96 more in this area
Stock51
linnworks.stock.add_rolling_stock_takeAdd Rolling Stock Takewritelinnworks.stock.add_variation_itemsAdd Variation Itemswritelinnworks.stock.book_in_stock_batchBook In Stock Batchwritelinnworks.stock.get_stock_itemsGet Stock Itemsreadlinnworks.stock.batch_stock_level_deltaBatch Stock Level Deltawritelinnworks.stock.book_in_stock_itemBook In Stock Itemwrite- and 45 more in this area
Warehouse transfer49
linnworks.warehouse_transfer.add_item_to_transferAdd Item To Transferwritelinnworks.warehouse_transfer.add_items_to_transferAdd Items To Transferwritelinnworks.warehouse_transfer.add_transfer_bin_noteAdd Transfer Bin Notewritelinnworks.warehouse_transfer.add_transfer_item_noteAdd Transfer Item Notewritelinnworks.warehouse_transfer.add_transfer_noteAdd Transfer Notewritelinnworks.warehouse_transfer.add_transfer_propertyAdd Transfer Propertywrite- and 43 more in this area
Purchase order40
linnworks.purchase_order.add_additional_cost_typesAdd Additional Cost Typeswritelinnworks.purchase_order.add_purchase_order_extended_propertyAdd Purchase Order Extended Propertywritelinnworks.purchase_order.add_purchase_order_itemAdd Purchase Order Itemwritelinnworks.purchase_order.add_purchase_order_noteAdd Purchase Order Notewritelinnworks.purchase_order.change_purchase_order_statusChange Purchase Order Statuswritelinnworks.purchase_order.create_pos_from_inventoryCreate POs From Inventorywrite- and 34 more in this area
Processed orders36
linnworks.processed_orders.add_order_noteAdd Order Notewritelinnworks.processed_orders.add_return_categoryAdd Return Categorywritelinnworks.processed_orders.create_exchangeCreate Exchangewritelinnworks.processed_orders.search_processed_ordersSearch Processed Ordersreadlinnworks.processed_orders.change_order_noteChange Order Notewritelinnworks.processed_orders.check_order_fully_returnedCheck Order Fully Returnedread- and 30 more in this area
Rules engine35
linnworks.rules_engine.add_actionAdd Actionwritelinnworks.rules_engine.copy_actionCopy Actionwritelinnworks.rules_engine.copy_conditionCopy Conditionwritelinnworks.rules_engine.create_draft_from_existingCreate Draft From Existingwritelinnworks.rules_engine.check_condition_name_existsCheck Condition Name Existsreadlinnworks.rules_engine.create_new_conditionCreate New Conditionwrite- and 29 more in this area
Returns refunds32
linnworks.returns_refunds.create_refundCreate Refunddestructivelinnworks.returns_refunds.create_returns_refunds_csvCreate Returns Refunds CSVwritelinnworks.returns_refunds.create_rma_bookingCreate RMABookingdestructivelinnworks.returns_refunds.get_booked_returns_exchange_ordersGet Booked Returns Exchange Ordersreadlinnworks.returns_refunds.acknowledge_refund_errorsAcknowledge Refund Errorswritelinnworks.returns_refunds.acknowledge_rma_errorsAcknowledge RMAErrorswrite- and 26 more in this area
Listings22
linnworks.listings.create_bigcommerce_configuratorsCreate Bigcommerce Configuratorswritelinnworks.listings.create_bigcommerce_templatesCreate Bigcommerce Templateswritelinnworks.listings.create_ebay_configuratorsCreate eBay Configuratorswritelinnworks.listings.create_ebay_templatesCreate eBay Templateswritelinnworks.listings.cancel_listing_bulk_operationCancel Listing Bulk Operationdestructivelinnworks.listings.create_templates_from_view_in_bulkCreate Templates From View In Bulkwrite- and 16 more in this area
Open orders18
linnworks.open_orders.filter_not_processed_open_ordersFilter Not Processed Open Ordersreadlinnworks.open_orders.get_identifiersGet Identifiersreadlinnworks.open_orders.get_identifiers_by_order_idsGet Identifiers By Order Idsreadlinnworks.open_orders.get_open_ordersGet Open Ordersreadlinnworks.open_orders.assign_order_identifierAssign Order Identifierwritelinnworks.open_orders.assign_stock_to_ordersAssign Stock To Orderswrite- and 12 more in this area
Picking15
linnworks.picking.check_allocatable_to_pickwaveCheck Allocatable To Pickwavereadlinnworks.picking.generate_picking_waveGenerate Picking Wavewritelinnworks.picking.get_all_picking_wave_headersGet All Picking Wave Headersreadlinnworks.picking.get_pickingwave_despatch_data_by_locationGet Pickingwave Despatch Data By Locationreadlinnworks.picking.delete_orders_from_picking_wavesDelete Orders From Picking Wavesdestructivelinnworks.picking.get_all_picking_wavesGet All Picking Wavesread- and 9 more in this area
Generic listings12
linnworks.generic_listings.create_configuratorCreate Configuratorwritelinnworks.generic_listings.create_templatesCreate Templateswritelinnworks.generic_listings.get_configurator_dataGet Configurator Datareadlinnworks.generic_listings.get_configurator_descriptionGet Configurator Descriptionreadlinnworks.generic_listings.delete_configuratorsDelete Configuratorsdestructivelinnworks.generic_listings.get_configurators_info_pagedGet Configurators Info Pagedread- and 6 more in this area
Import export11
linnworks.import_export.enable_exportEnable Exportwritelinnworks.import_export.enable_importEnable Importwritelinnworks.import_export.run_now_exportRun Now Exportwritelinnworks.import_export.run_now_importRun Now Importwritelinnworks.import_export.delete_exportDelete Exportdestructivelinnworks.import_export.delete_importDelete Importdestructive- and 5 more in this area
WMS11
linnworks.wms.add_warehouse_zoneAdd Warehouse Zonewritelinnworks.wms.add_warehouse_zone_typeAdd Warehouse Zone Typewritelinnworks.wms.get_binrack_zones_by_binrack_id_or_nameGet Binrack Zones By Binrack Id Or Namereadlinnworks.wms.get_binrack_zones_by_zone_id_or_nameGet Binrack Zones By Zone Id Or Namereadlinnworks.wms.delete_warehouse_zoneDelete Warehouse Zonedestructivelinnworks.wms.delete_warehouse_zone_typeDelete Warehouse Zone Typedestructive- and 5 more in this area
Print service9
linnworks.print_service.create_pdf_from_job_force_templateCreate PDFfrom Job Force Templatewritelinnworks.print_service.create_pdf_from_job_force_template_stock_inCreate PDFfrom Job Force Template Stock Inwritelinnworks.print_service.create_pdf_from_job_force_template_with_quantitiesCreate PDFfrom Job Force Template With Quantitieswritelinnworks.print_service.create_return_shipping_labels_pdfCreate Return Shipping Labels PDFwritelinnworks.print_service.create_return_shipping_labels_pdf_with_skusCreate Return Shipping Labels PDFWith SKUswritelinnworks.print_service.get_template_listGet Template Listread- and 3 more in this area
Dashboards7
linnworks.dashboards.get_inventory_location_categories_dataGet Inventory Location Categories Datareadlinnworks.dashboards.get_inventory_location_dataGet Inventory Location Datareadlinnworks.dashboards.get_low_stock_levelGet Low Stock Levelreadlinnworks.dashboards.get_performance_table_dataGet Performance Table Datareadlinnworks.dashboards.get_inventory_location_products_dataGet Inventory Location Products Datareadlinnworks.dashboards.get_performance_detailGet Performance Detailread- and 1 more in this area
Settings7
linnworks.settings.get_available_time_zonesGet Available Time Zonesreadlinnworks.settings.get_currency_conversion_ratesGet Currency Conversion Ratesreadlinnworks.settings.get_latest_currency_rateGet Latest Currency Ratereadlinnworks.settings.insert_currency_conversion_ratesInsert Currency Conversion Rateswritelinnworks.settings.delete_currency_conversion_ratesDelete Currency Conversion Ratesdestructivelinnworks.settings.get_measuresGet Measuresread- and 1 more in this area
Locations6
linnworks.locations.add_locationAdd Locationwritelinnworks.locations.get_locationGet Locationreadlinnworks.locations.get_warehouse_totesGet Warehouse TOTEsreadlinnworks.locations.update_locationUpdate Locationwritelinnworks.locations.delete_locationDelete Locationdestructivelinnworks.locations.delete_warehouse_toteDelete Warehouse TOTEdestructive
Shipping service6
linnworks.shipping_service.get_consignments_by_manifestGet Consignments By Manifestreadlinnworks.shipping_service.get_filed_manifests_by_vendorGet Filed Manifests By Vendorreadlinnworks.shipping_service.get_integrationsGet Integrationsreadlinnworks.shipping_service.post_shipment_uploadPost Shipment Uploadwritelinnworks.shipping_service.cancel_order_shipping_labelCancel Order Shipping Labeldestructivelinnworks.shipping_service.get_shipping_quoteGet Shipping Quoteread
Postal services5
linnworks.postal_services.create_postal_serviceCreate Postal Servicewritelinnworks.postal_services.get_channel_linksGet Channel Linksreadlinnworks.postal_services.get_postal_servicesGet Postal Servicesreadlinnworks.postal_services.update_postal_serviceUpdate Postal Servicewritelinnworks.postal_services.delete_postal_serviceDelete Postal Servicedestructive
Shipstation5
linnworks.shipstation.create_shipstation_integrationCreate Ship Station Integrationwritelinnworks.shipstation.edit_shipstation_integrationEdit Ship Station Integrationwritelinnworks.shipstation.get_shipstation_integrationGet Ship Station Integrationreadlinnworks.shipstation.get_shipstation_integrationsGet Ship Station Integrationsreadlinnworks.shipstation.delete_shipstation_integrationDelete Ship Station Integrationdestructive
Email4
linnworks.email.generate_adhoc_emailGenerate Adhoc Emailwritelinnworks.email.generate_free_text_emailGenerate Free Text Emailwritelinnworks.email.get_email_templateGet Email Templatereadlinnworks.email.get_email_templatesGet Email Templatesread
Macro2
linnworks.macro.get_installed_macrosGet Installed Macrosreadlinnworks.macro.get_macro_configurationsGet Macro Configurationsread
Post sale2
linnworks.post_sale.create_cancellationCreate Cancellationwritelinnworks.post_sale.get_cancellation_optionsGet Cancellation Optionsread
Print zone1
linnworks.print_zone.get_all_print_zonesGet All Print Zonesread
This index shows a sample of each area. All 629 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Linnworks MCP server, answered.
Is there a Linnworks MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 629 Linnworks actions across inventory, orders, stock and warehouse transfer, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Linnworks.
What do I need to connect Linnworks?
Application ID of your Linnworks developer app (developer.linnworks.com > My Apps > the app > Edit), Application Secret of the same Linnworks app and Installation token: the token issued when the app is installed on the Linnworks account (shown on install, or under…. actionlake finds base url for you when you connect. The free call account { op: "connections.requirements", service: "linnworks" } lists exactly what to paste.
Can an AI agent delete or change things in Linnworks?
Only if its key allows it, and only with an explicit confirmation. 82 Linnworks actions are destructive, including delete Inventory Items, cancel Order and create Refund. 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 Linnworks API limit?
actionlake paces every call to the limits in the Linnworks service file: 150 calls a minute per connection. Repeated reads are answered from cache (298 Linnworks actions can be), which never reaches Linnworks.
What does a Linnworks action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (629 Linnworks actions page). Cache hits, searches, dry runs and calls Linnworks 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 Linnworks API does it cover?
The Linnworks API 1.0 (Swagger 2.0, LinnSystems/PublicApiSpecs) at your Linnworks instance's API base URL, which you enter when connecting. It is built from Linnworks's documentation as read on 23 October 2026. 629 actions in 25 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Linnworks 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 Linnworks 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 Linnworks today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.