Order Desk MCP by usefulapi
REMOTE · ORDER-DESK.USEFULAPI.IO
Search Order Desk orders and inventory; read order items and shipments; create or update orders.
Available components
Last scanned (1 hour ago)
Scores higher than 47% of remote servers
Reachable. Last reached 25 Oct 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security78
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2422 tokens (~161/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 72% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Oct 26 +1
- Server version: 1.5.0 → 1.5.2 functional
- 24 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Server version: 1.4.0 → 1.5.0 functional
- Server version: 1.3.0 → 1.4.0 functional
- Server version: 1.1.0 → 1.3.0 functional
- 23 Oct 26 0
- Server version: 1.0.1 → 1.1.0 functional
- 22 Oct 26 +1
- Server version: 1.0.0 → 1.0.1 functional
- 21 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 20 Oct 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Oct 2026 · Probed https://order-desk.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d9be3287b0fde9630e825ba1f79bff3f |
| SANs: usefulapi.io, *.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of order-desk.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690, 57355 | 8, 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 302 |
WWW-Authenticate challenge Bearer realm="OAuth", resource_metadata="https://order-desk.usefulapi.io/.well-known/oauth-protected-resource/mcp"
Bearer realm="OAuth", resource_metadata="https://order-desk.usefulapi.io/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://order-desk.usefulapi.io/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://order-desk.usefulapi.io/mcp |
| Authorisation server | https://order-desk.usefulapi.io |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://order-desk.usefulapi.io/mcp | Redirected | 302 | https://usefulapi.io/order-desk/ |
| http (plaintext) | http://order-desk.usefulapi.io/mcp | Inconclusive | 302 | http://order-desk.usefulapi.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
orderdesk_add_order_item Add order item ~75
WRITE: add one line item to an existing order; Order Desk recalculates the totals. POST /orders/{order_id}/order-items.
| Name | Type | Req | Description |
|---|---|---|---|
| item | object | yes | The line item to add (name, code, price, quantity...). |
| order_id | integer | yes | Order Desk's internal order id. |
No output schema declared.
No examples provided.
orderdesk_add_order_note Add order history note ~102
WRITE: append an entry to an order's history. History is append-only (entries cannot be edited or removed) and an order holds at most 250 entries, so do not use it for routine polling. POST /orders/{order_id}/order-history.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | yes | The note text. |
| order_id | integer | yes | Order Desk's internal order id. |
| source_name | string | – | What wrote the entry (default API). |
No output schema declared.
No examples provided.
orderdesk_add_shipment Add shipment ~165
WRITE: record a shipment (carrier and tracking number) against an order. One shipment per parcel; several shipments represent a partial fulfillment. Use "n/a" when there is no tracking number. If tracking_url is omitted Order Desk derives it. POST /orders/{order_id}/shipments.
| Name | Type | Req | Description |
|---|---|---|---|
| carrier_code | string | – | Carrier code such as USPS or FedEx. |
| cost | number | – | Your cost to send the shipment. |
| order_id | integer | yes | Order Desk's internal order id. |
| shipment_method | string | – | Shipping service name, e.g. First Class International. |
| tracking_number | string | yes | Carrier tracking number, or "n/a". |
| tracking_url | string | – | – |
| weight | number | – | Final shipment weight. |
No output schema declared.
No examples provided.
orderdesk_create_inventory_item Create inventory item ~124
WRITE: add an inventory item. The code (SKU) must match the code your orders arrive with. POST /inventory-items.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Unique SKU. |
| cost | number | – | Item cost. |
| location | string | – | Warehouse or fulfillment method. |
| manufacturer_sku | string | – | – |
| metadata | object | – | – |
| name | string | yes | Product name. |
| price | number | – | – |
| stock | integer | – | Units available. |
| variation_list | object | – | – |
| weight | number | – | Shipping weight. |
No output schema declared.
No examples provided.
orderdesk_create_order Create order ~291
WRITE: add a new order to the store. Needs at least one item, and a name or company in the shipping or customer address (if only one address is given the other is copied from it). Omit folder_id to land in the first folder. Order Desk rejects an order it recognizes as a duplicate and names the existing order id. POST /orders.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_data | object | – | Editable extra order details (max 3,500 characters as JSON). |
| customer | object | – | Customer (billing) address. |
| string | – | Customer e-mail address. | |
| folder_id | integer | – | Folder to put the order in (see orderdesk_get_store). |
| handling_total | number | – | – |
| order_items | array | yes | Line items (at least one). |
| order_metadata | object | – | Hidden extra order details (max 2,000 characters as JSON). |
| payment_status | string | – | Defaults to Captured. |
| payment_type | string | – | Visa, MasterCard, PayPal, ... |
| shipping | object | – | Shipping address. |
| shipping_method | string | – | – |
| shipping_total | number | – | – |
| source_id | string | – | Your own order id (the order's Order Desk id is used when blank). |
| source_name | string | – | Order source / cart name (default Order Desk). |
| tax_total | number | – | – |
No output schema declared.
No examples provided.
orderdesk_get_inventory_item Get inventory item ~53
One inventory item by Order Desk's internal id. GET /inventory-items/{inventory_item_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| inventory_item_id | integer | yes | Order Desk's internal inventory item id (see orderdesk_list_inventory_items). |
No output schema declared.
No examples provided.
orderdesk_get_order Get order ~82
One order by Order Desk's internal id: addresses, items, totals, payment, notes, discounts, checkout data and shipments. To find an order by your own id, use orderdesk_list_orders with source_id. GET /orders/{order_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | integer | yes | Order Desk's internal order id (not the cart's order number). |
No output schema declared.
No examples provided.
orderdesk_get_store Get store settings and folders ~71
The store's name, id, FOLDERS (id -> name; orders live in exactly one folder, and folder ids are needed to filter and move orders) and key settings (timezone, locale, stock behavior, shipping methods). The API key and mail credentials are never returned. GET /store.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
orderdesk_list_inventory_items List inventory items ~170
Search the store's inventory (SKU, name, price, cost, weight, stock, location). Order Desk returns every match with no paging, so narrow with search/code/name; limit and offset slice the result here. GET /inventory-items.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | – | Exact SKU. |
| limit | integer | – | How many items to return, 1-200 (default 50). |
| location | string | – | Warehouse or fulfillment method. |
| manufacturer_sku | string | – | – |
| name | string | – | Product name. |
| offset | integer | – | Records to skip (default 0). Pass the previous reply's next_offset. |
| search | string | – | Matches name, code and metadata together. |
| updated_from | string | – | Items updated on or after this time. |
No output schema declared.
No examples provided.
orderdesk_list_order_items List order items ~57
The line items of one order (name, SKU, price, quantity, weight, delivery type, variations). GET /orders/{order_id}/order-items.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | integer | yes | Order Desk's internal order id. |
No output schema declared.
No examples provided.
orderdesk_list_order_shipments List order shipments ~58
The shipments recorded against an order: carrier, tracking number and URL, method, weight, cost, dates. GET /orders/{order_id}/shipments.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | integer | yes | Order Desk's internal order id. |
No output schema declared.
No examples provided.
orderdesk_list_orders List orders ~365
Search orders, newest first, with items, addresses, totals, payment and shipments. Filters combine with AND. Prefer a date range: Order Desk asks clients to avoid open-ended queries. Page with limit and offset (next_offset). GET /orders.
| Name | Type | Req | Description |
|---|---|---|---|
| added_from | string | – | Orders added on or after this time (a date means the start of that UTC day). |
| added_to | string | – | Orders added on or before this time (a date means the end of that UTC day). |
| customer_first_name | string | – | – |
| customer_id | string | – | Customer id in the originating system. |
| customer_last_name | string | – | – |
| string | – | Customer e-mail address. | |
| folder_id | string | – | Folder id, or several separated by commas (see orderdesk_get_store). |
| folder_name | string | – | The folder's exact name instead of its id. |
| include_history | boolean | – | Include each order's history (slow; use with a small limit). |
| limit | integer | – | How many records to return, 1-100 (default 20). |
| modified_from | string | – | Orders modified on or after this time. |
| modified_to | string | – | Orders modified on or before this time. |
| offset | integer | – | Records to skip (default 0). Pass the previous reply's next_offset. |
| order | string | – | Sort direction (default DESC). |
| order_by | string | – | Order field to sort by (default date_added). |
| shipping_first_name | string | – | – |
| shipping_last_name | string | – | – |
| source_id | string | – | Your original order id from the cart or marketplace. |
| source_name | string | – | Order source name (cart or marketplace). |
No output schema declared.
No examples provided.
orderdesk_move_orders Move orders to a folder ~122
WRITE: move one or more orders to another folder. Moving runs the rules attached to the destination folder (which can send e-mail, call fulfillment services, etc.) and writes a history entry. Pass exactly one of destination_folder_id or destination_folder_name (see orderdesk_get_store). Returns each order's previous folder. POST /move-orders.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_folder_id | integer | – | Folder id to move to. |
| destination_folder_name | string | – | Exact folder name to move to. |
| order_ids | array | yes | Order Desk's internal order ids. |
No output schema declared.
No examples provided.
orderdesk_update_inventory_item Update inventory item ~189
WRITE: change fields of an inventory item, for example its stock count. Order Desk's PUT replaces the whole record, so this reads the item, applies only the fields you pass (metadata and variation keys are merged) and sends the complete record back. PUT /inventory-items/{inventory_item_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | – | SKU. |
| cost | number | – | – |
| inventory_item_id | integer | yes | Order Desk's internal inventory item id. |
| location | string | – | – |
| manufacturer_sku | string | – | – |
| metadata | object | – | Metadata keys to set (others are kept). |
| name | string | – | – |
| price | number | – | – |
| stock | integer | – | The new units-available count (replaces the old one). |
| variation_list | object | – | Variation keys to set (others are kept). |
| weight | number | – | – |
No output schema declared.
No examples provided.
orderdesk_update_order Update order ~223
WRITE: change fields of an existing order. Order Desk's PUT replaces the whole record, so this reads the order, applies only the fields you pass (shipping/customer address fields and checkout_data/order_metadata keys are merged into what is there, other values replaced) and sends the complete record back, items included. The order keeps its folder; use orderdesk_move_orders to move it. PUT /orders/{order_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_data | object | – | Checkout data keys to set (other keys are kept). |
| customer | object | – | Customer address fields to change (others are kept). |
| string | – | – | |
| handling_total | number | – | – |
| order_id | integer | yes | Order Desk's internal order id. |
| order_metadata | object | – | Order metadata keys to set (other keys are kept). |
| payment_status | string | – | – |
| shipping | object | – | Shipping address fields to change (others are kept). |
| shipping_method | string | – | – |
| shipping_total | number | – | – |
| tax_total | number | – | – |
No output schema declared.
No examples provided.
How do I install the Order Desk MCP by usefulapi server?
Order Desk MCP by usefulapi is a hosted endpoint at https://order-desk.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · order-desk.usefulapi.io
claude mcp add --transport http io-usefulapi-order-desk 'https://order-desk.usefulapi.io/mcp'
What is the Order Desk MCP by usefulapi server?
Order Desk MCP by usefulapi is listed in the public MCP registry as io.usefulapi/order-desk. Search Order Desk orders and inventory; read order items and shipments; create or update orders. This page covers its hosted endpoint (https://order-desk.usefulapi.io/mcp).
Is the Order Desk MCP by usefulapi server safe to use?
Order Desk MCP by usefulapi scores 63 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Order Desk MCP by usefulapi server expose?
Order Desk MCP by usefulapi exposes 15 tools: orderdesk_get_store, orderdesk_list_orders, orderdesk_get_order, orderdesk_list_order_items, orderdesk_list_order_shipments, and 10 more. Their descriptions and schemas cost roughly 2,147 tokens of context every time the server is loaded.
Does the Order Desk MCP by usefulapi server require authentication?
Yes. Order Desk MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Order Desk MCP by usefulapi server still maintained?
Order Desk MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.