Linnworks MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.0.0 · published by io.usefulapi
Read Linnworks inventory, stock and orders; set stock levels and add order notes.
17 tools: 2 can delete or cancel things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads15Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http linnworks https://linnworks.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Deletes or cancels 2Claude Code: deny
linnworks_add_order_noteWRITE: add a note to an order (open or processed).No findings
Why it is in this group
- The name "linnworks_add_order_note" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: add a note to an order (open or processed). Internal notes are visible only inside Linnworks; external notes may be passed to the sales channel. Adds a new note each call (not idempotent). POST /api/Orders/AddOrdersNote.
Annotations the server declares
- title: Add order note
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
linnworks_set_stock_levelWRITE: set the stock level of one product (by SKU) at one location to an absolute quantity.No findings
Why it is in this group
- The name "linnworks_set_stock_level" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: set the stock level of one product (by SKU) at one location to an absolute quantity. This overwrites the current level and flows to the sales channels the item is listed on. Check the current level with linnworks_get_stock_levels first. POST /api/Stock/SetStockLevel.
Annotations the server declares
- title: Set stock level
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Only reads 15Claude Code: allow
linnworks_find_order_by_numberFind one order, open or processed, by its Linnworks order number (the integer shown in the order book).No findings
Why it is in this group
- The name "linnworks_find_order_by_number" says "find": a word for reading.
Description, as the server wrote it Find one order, open or processed, by its Linnworks order number (the integer shown in the order book). Returns an empty order when none matches. GET /api/Orders/GetOrderDetailsByNumOrderId.
Annotations the server declares
- title: Find order by order number
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_find_orders_by_referenceFind orders by their channel reference number (for example an Amazon or eBay order number) or secondary reference.No findings
Why it is in this group
- The name "linnworks_find_orders_by_reference" says "find": a word for reading.
Description, as the server wrote it Find orders by their channel reference number (for example an Amazon or eBay order number) or secondary reference. Returns at most 50 orders. GET /api/Orders/GetOrderDetailsByReferenceId.
Annotations the server declares
- title: Find orders by channel reference
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_get_inventory_itemOne product by its stock item id: SKU (ItemNumber), title, barcode, quantities (in stock, in orders, due, available), prices, tax rate, category, dimensions and weight.No findings
Why it is in this group
- The name "linnworks_get_inventory_item" says "get": a word for reading.
Description, as the server wrote it One product by its stock item id: SKU (ItemNumber), title, barcode, quantities (in stock, in orders, due, available), prices, tax rate, category, dimensions and weight. GET /api/Inventory/GetInventoryItemById.
Annotations the server declares
- title: Get inventory item
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_get_open_orders_detailsFull details of open orders by their ids (up to 50): general info, shipping, customer, totals, items, folders, notes, identifiers, extended properties and bin racks.No findings
Why it is in this group
- The name "linnworks_get_open_orders_details" says "get": a word for reading.
Description, as the server wrote it Full details of open orders by their ids (up to 50): general info, shipping, customer, totals, items, folders, notes, identifiers, extended properties and bin racks. Pass include to load only some of the optional parts. Only works for open orders. POST /api/OpenOrders/GetOpenOrdersDetails.
Annotations the server declares
- title: Get open order details
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_get_orderOne order, open or processed, by its order id (a GUID): general info, shipping, customer, totals, items, notes.No findings
Why it is in this group
- The name "linnworks_get_order" says "get": a word for reading.
Description, as the server wrote it One order, open or processed, by its order id (a GUID): general info, shipping, customer, totals, items, notes. GET /api/Orders/GetOrderById.
Annotations the server declares
- title: Get order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_get_order_notesThe notes on an order (text, internal or external, who wrote them and when).No findings
Why it is in this group
- The name "linnworks_get_order_notes" says "get": a word for reading.
Description, as the server wrote it The notes on an order (text, internal or external, who wrote them and when). GET /api/Orders/GetOrderNotes.
Annotations the server declares
- title: Get order notes
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_get_stock_historyThe stock-level change history of one product (date, new level, change quantity, value, note), newest data first as Linnworks returns it; optionally for a single location, otherwis…No findings
Why it is in this group
- The name "linnworks_get_stock_history" says "get": a word for reading.
Description, as the server wrote it The stock-level change history of one product (date, new level, change quantity, value, note), newest data first as Linnworks returns it; optionally for a single location, otherwise combined. GET /api/Stock/GetItemChangesHistory.
Annotations the server declares
- title: Get stock change history
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_get_stock_levelsThe stock level of one product at every location: in stock, in open orders, due on purchase orders, available, minimum level, unit cost and when it last changed.No findings
Why it is in this group
- The name "linnworks_get_stock_levels" says "get": a word for reading.
Description, as the server wrote it The stock level of one product at every location: in stock, in open orders, due on purchase orders, available, minimum level, unit cost and when it last changed. GET /api/Stock/GetStockLevel.
Annotations the server declares
- title: Get stock levels
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_list_categoriesList the product categories (id and name).No findings
Why it is in this group
- The name "linnworks_list_categories" says "list": a word for reading.
Description, as the server wrote it List the product categories (id and name). GET /api/Inventory/GetCategories.
Annotations the server declares
- title: List categories
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_list_open_ordersPage through the open (not yet processed) orders of a fulfilment location, with general info (status, reference, source, received date), shipping, customer, totals and items.No findings
Why it is in this group
- The name "linnworks_list_open_orders" says "list": a word for reading.
Description, as the server wrote it Page through the open (not yet processed) orders of a fulfilment location, with general info (status, reference, source, received date), shipping, customer, totals and items. Narrow with text filters (reference, customer, SKU ...) and a received-date range. POST /api/Orders/GetOpenOrders.
Annotations the server declares
- title: List open orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_list_postal_servicesList the postal (shipping) services with their courier vendor, tracking and weight requirements and linked channels.No findings
Why it is in this group
- The name "linnworks_list_postal_services" says "list": a word for reading.
Description, as the server wrote it List the postal (shipping) services with their courier vendor, tracking and weight requirements and linked channels. GET /api/PostalServices/GetPostalServices.
Annotations the server declares
- title: List postal services
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_list_stock_locationsList the stock locations (warehouses, fulfilment centres) of the Linnworks account: id, name, address, whether it is a fulfilment centre.No findings
Why it is in this group
- The name "linnworks_list_stock_locations" says "list": a word for reading.
Description, as the server wrote it List the stock locations (warehouses, fulfilment centres) of the Linnworks account: id, name, address, whether it is a fulfilment centre. Use the ids as location_id in other tools. GET /api/Inventory/GetStockLocations.
Annotations the server declares
- title: List stock locations
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_list_suppliersList the suppliers: id, name, contact, address, email, web page and currency.No findings
Why it is in this group
- The name "linnworks_list_suppliers" says "list": a word for reading.
Description, as the server wrote it List the suppliers: id, name, contact, address, email, web page and currency. GET /api/Inventory/GetSuppliers.
Annotations the server declares
- title: List suppliers
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_search_inventorySearch the product catalogue by SKU, title or barcode and return the items with their stock levels per location (and optionally pricing, suppliers, images, extended properties).No findings
Why it is in this group
- The name "linnworks_search_inventory" says "search": a word for reading.
Description, as the server wrote it Search the product catalogue by SKU, title or barcode and return the items with their stock levels per location (and optionally pricing, suppliers, images, extended properties). An empty keyword lists items. POST /api/Stock/GetStockItemsFull.
Annotations the server declares
- title: Search inventory
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
linnworks_search_processed_ordersSearch processed (despatched) orders.No findings
Why it is in this group
- The name "linnworks_search_processed_orders" says "search": a word for reading.
Description, as the server wrote it Search processed (despatched) orders. Search by order number, tracking number, channel reference, customer name, email, postcode, address, SKU, source or sub-source, optionally within a date range (at most 3 months; a non-exact search covers only the last 3 months). POST /api/ProcessedOrders/SearchProcessedOrdersPaged.
Annotations the server declares
- title: Search processed orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http linnworks https://linnworks.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__linnworks__linnworks_list_stock_locations",
"mcp__linnworks__linnworks_search_inventory",
"mcp__linnworks__linnworks_get_inventory_item",
"mcp__linnworks__linnworks_get_stock_levels",
"mcp__linnworks__linnworks_get_stock_history",
"mcp__linnworks__linnworks_list_categories",
"mcp__linnworks__linnworks_list_suppliers",
"mcp__linnworks__linnworks_list_open_orders",
"mcp__linnworks__linnworks_get_open_orders_details",
"mcp__linnworks__linnworks_get_order",
"mcp__linnworks__linnworks_find_order_by_number",
"mcp__linnworks__linnworks_find_orders_by_reference",
"mcp__linnworks__linnworks_search_processed_orders",
"mcp__linnworks__linnworks_get_order_notes",
"mcp__linnworks__linnworks_list_postal_services"
],
"ask": [],
"deny": [
"mcp__linnworks__linnworks_set_stock_level",
"mcp__linnworks__linnworks_add_order_note"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as linnworks. Review it before you use it.