Veeqo MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.7.3 · published by io.usefulapi
Read Veeqo orders, products, stock, warehouses, customers and POs; add notes, tag, set stock.
22 tools: 3 can delete or cancel things and 19 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads19Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http veeqo https://veeqo.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
The description mentions "credentials".
What this check looks forMatched text
description: "...to filter orders by store. Marketplace credentials and integration settings are never retu..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
22 tools
Deletes or cancels 3Claude Code: deny
veeqo_add_order_noteWRITE: add an internal (employee) note to an order, e.g.No findings
Why it is in this group
- The name "veeqo_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 an internal (employee) note to an order, e.g. 'Customer asked for gift wrap'. It is visible to your Veeqo team on the order; it is not emailed to the customer. Notes cannot be deleted through the API. POST /orders/{order_id}/notes.
Annotations the server declares
- title: Add order note
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
veeqo_set_stock_levelWRITE: set the physical stock level of ONE sellable in ONE warehouse (a stock count correction), optionally its bin location.No findings
Why it is in this group
- The name "veeqo_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 physical stock level of ONE sellable in ONE warehouse (a stock count correction), optionally its bin location. This overwrites the current on-hand quantity, and Veeqo may push the new available stock to the connected sales channels. The entry's infinite-stock setting is read first and kept as it is (this tool never changes it). Veeqo marks this endpoint 'Paid plan only'. GET then PUT /sellables/{sellable_id}/warehouses/{warehouse_id}/stock_entry.
Annotations the server declares
- title: Set stock level
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
veeqo_tag_ordersWRITE: apply existing tags (ids from veeqo_list_tags) to up to 50 orders.No findings
Why it is in this group
- The description's first verb is "write": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: apply existing tags (ids from veeqo_list_tags) to up to 50 orders. Tags can drive Veeqo automation rules and filters. Tagging an order that already has the tag changes nothing. POST /bulk_tagging.
Annotations the server declares
- title: Tag orders
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Only reads 19Claude Code: allow
veeqo_get_companyThe Veeqo company this API key belongs to: id, name, product (e.g.No findings
Why it is in this group
- The name "veeqo_get_company" says "get": a word for reading.
Description, as the server wrote it The Veeqo company this API key belongs to: id, name, product (e.g. veeqo-shipping), paying/trial state, address and company settings (currency, weight/dimension units, timezone). The employee list and billing internals are not returned. GET /current_company.
Annotations the server declares
- title: Get company
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_customerOne customer by id with billing and shipping addresses and notes.No findings
Why it is in this group
- The name "veeqo_get_customer" says "get": a word for reading.
Description, as the server wrote it One customer by id with billing and shipping addresses and notes. GET /customers/{id}.
Annotations the server declares
- title: Get customer
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_orderOne order by id: status, totals, line items (sellable ids, SKUs, quantities), customer and delivery address, store, notes, tags, allocations and shipments with tracking numbers.No findings
Why it is in this group
- The name "veeqo_get_order" says "get": a word for reading.
Description, as the server wrote it One order by id: status, totals, line items (sellable ids, SKUs, quantities), customer and delivery address, store, notes, tags, allocations and shipments with tracking numbers. GET /orders/{id}.
Annotations the server declares
- title: Get order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_order_returnsReturns (RMAs) recorded on an order for one of its sellables: return number, status, reason, returned line items and received quantities.No findings
Why it is in this group
- The name "veeqo_get_order_returns" says "get": a word for reading.
Description, as the server wrote it Returns (RMAs) recorded on an order for one of its sellables: return number, status, reason, returned line items and received quantities. Veeqo's reference requires the sellable id (an order line item's sellable.id). GET /orders/{id}/returns?sellable_id=.
Annotations the server declares
- title: Get order returns
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_productOne product by id with all sellables (variants), prices, weights, customs data and stock entries per warehouse.No findings
Why it is in this group
- The name "veeqo_get_product" says "get": a word for reading.
Description, as the server wrote it One product by id with all sellables (variants), prices, weights, customs data and stock entries per warehouse. GET /products/{id}.
Annotations the server declares
- title: Get product
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_purchase_orderOne purchase order by id with supplier, destination warehouse and every line item.No findings
Why it is in this group
- The name "veeqo_get_purchase_order" says "get": a word for reading.
Description, as the server wrote it One purchase order by id with supplier, destination warehouse and every line item. Paid Veeqo plans only. GET /purchase_orders/{id}.
Annotations the server declares
- title: Get purchase order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_shipment_trackingTracking events (timestamp, status, description, location) for a shipment.No findings
Why it is in this group
- The name "veeqo_get_shipment_tracking" says "get": a word for reading.
Description, as the server wrote it Tracking events (timestamp, status, description, location) for a shipment. Available when the label was bought in Veeqo. The shipment id is in an order's allocations[].shipment. GET /shipping/tracking_events/{shipment_id}.
Annotations the server declares
- title: Get shipment tracking
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_stock_entryStock of one sellable (variant) in one warehouse: physical, allocated, available, incoming (purchase orders) and in-transit levels, bin location and the low-stock flag.No findings
Why it is in this group
- The name "veeqo_get_stock_entry" says "get": a word for reading.
Description, as the server wrote it Stock of one sellable (variant) in one warehouse: physical, allocated, available, incoming (purchase orders) and in-transit levels, bin location and the low-stock flag. GET /sellables/{sellable_id}/warehouses/{warehouse_id}/stock_entry.
Annotations the server declares
- title: Get stock level
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_supplierOne supplier by id (bank details are not returned).No findings
Why it is in this group
- The name "veeqo_get_supplier" says "get": a word for reading.
Description, as the server wrote it One supplier by id (bank details are not returned). Paid Veeqo plans only. GET /suppliers/{id}.
Annotations the server declares
- title: Get supplier
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_get_warehouseOne warehouse by id.No findings
Why it is in this group
- The name "veeqo_get_warehouse" says "get": a word for reading.
Description, as the server wrote it One warehouse by id. GET /warehouses/{id}.
Annotations the server declares
- title: Get warehouse
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_customersList or search customers with email, phone, billing address and shipping addresses.No findings
Why it is in this group
- The name "veeqo_list_customers" says "list": a word for reading.
Description, as the server wrote it List or search customers with email, phone, billing address and shipping addresses. GET /customers.
Annotations the server declares
- title: List customers
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_delivery_methodsList the delivery methods orders can use (id, name, cost).No findings
Why it is in this group
- The name "veeqo_list_delivery_methods" says "list": a word for reading.
Description, as the server wrote it List the delivery methods orders can use (id, name, cost). GET /delivery_methods.
Annotations the server declares
- title: List delivery methods
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_ordersList or search orders, newest first, with line items, customer, delivery address, store, allocations and shipments (tracking numbers).No findings
Why it is in this group
- The name "veeqo_list_orders" says "list": a word for reading.
Description, as the server wrote it List or search orders, newest first, with line items, customer, delivery address, store, allocations and shipments (tracking numbers). Filter by status, store, tag, free text, created/due date or update time. GET /orders.
Annotations the server declares
- title: List orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_productsList or search products with their sellables (variants): SKU, UPC, price, cost, and per-warehouse stock entries (physical, allocated, available).No findings
Why it is in this group
- The name "veeqo_list_products" says "list": a word for reading.
Description, as the server wrote it List or search products with their sellables (variants): SKU, UPC, price, cost, and per-warehouse stock entries (physical, allocated, available). GET /products.
Annotations the server declares
- title: List products
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_purchase_ordersList or search purchase orders with supplier, destination warehouse and line items (ordered/received quantities, cost).No findings
Why it is in this group
- The name "veeqo_list_purchase_orders" says "list": a word for reading.
Description, as the server wrote it List or search purchase orders with supplier, destination warehouse and line items (ordered/received quantities, cost). Search-index backed, so a just-changed PO may be stale here — confirm with veeqo_get_purchase_order. Paid Veeqo plans only. GET /purchase_orders.
Annotations the server declares
- title: List purchase orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_storesList the sales channels (stores) connected to Veeqo — Amazon, eBay, Shopify, POS, etc.1 finding
Why it is in this group
- The name "veeqo_list_stores" says "list": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...to filter orders by store. Marketplace credentials and integration settings are never retu..."
Description, as the server wrote it List the sales channels (stores) connected to Veeqo — Amazon, eBay, Shopify, POS, etc. — with id, name, type and state. Use the ids to filter orders by store. Marketplace credentials and integration settings are never returned. GET /channels.
Annotations the server declares
- title: List stores
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_suppliersList suppliers with address, sales/accounting contacts, currency, credit limit and open/completed purchase-order counts (bank details are not returned).No findings
Why it is in this group
- The name "veeqo_list_suppliers" says "list": a word for reading.
Description, as the server wrote it List suppliers with address, sales/accounting contacts, currency, credit limit and open/completed purchase-order counts (bank details are not returned). Paid Veeqo plans only. GET /suppliers.
Annotations the server declares
- title: List suppliers
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_tagsAll tags in the account (id, name, colour, how many records use it).No findings
Why it is in this group
- The name "veeqo_list_tags" says "list": a word for reading.
Description, as the server wrote it All tags in the account (id, name, colour, how many records use it). Use the ids with veeqo_tag_orders. GET /tags.
Annotations the server declares
- title: List tags
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
veeqo_list_warehousesList warehouses with address, phone and dispatch cut-off times.No findings
Why it is in this group
- The name "veeqo_list_warehouses" says "list": a word for reading.
Description, as the server wrote it List warehouses with address, phone and dispatch cut-off times. Use the ids for stock levels and warehouse filters. GET /warehouses.
Annotations the server declares
- title: List warehouses
- 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.7.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http veeqo https://veeqo.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__veeqo__veeqo_get_company",
"mcp__veeqo__veeqo_list_stores",
"mcp__veeqo__veeqo_list_warehouses",
"mcp__veeqo__veeqo_get_warehouse",
"mcp__veeqo__veeqo_list_orders",
"mcp__veeqo__veeqo_get_order",
"mcp__veeqo__veeqo_get_order_returns",
"mcp__veeqo__veeqo_get_shipment_tracking",
"mcp__veeqo__veeqo_list_products",
"mcp__veeqo__veeqo_get_product",
"mcp__veeqo__veeqo_get_stock_entry",
"mcp__veeqo__veeqo_list_customers",
"mcp__veeqo__veeqo_get_customer",
"mcp__veeqo__veeqo_list_suppliers",
"mcp__veeqo__veeqo_get_supplier",
"mcp__veeqo__veeqo_list_purchase_orders",
"mcp__veeqo__veeqo_get_purchase_order",
"mcp__veeqo__veeqo_list_tags",
"mcp__veeqo__veeqo_list_delivery_methods"
],
"ask": [],
"deny": [
"mcp__veeqo__veeqo_set_stock_level",
"mcp__veeqo__veeqo_add_order_note",
"mcp__veeqo__veeqo_tag_orders"
]
}
}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 veeqo. Review it before you use it.