# Order Desk — MCP server on mcp.ai > Connect your Order Desk account and use 20 tools for ecommerce straight from your AI agent. Connect with your own API key. Order Desk is an order management platform for managing orders, shipments, inventory, and store data across ecommerce integrations. By: mcp.ai · official Page: https://mcp.ai/order_desk ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_order_desk?ms=1787291340000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/order_desk/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/order_desk/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/order_desk/skill.md Postman collection (v2.1): https://mcp.ai/order_desk/postman.json ## Tools - order_desk_add_order_history_note(note: string, order_id: integer, source_name?: string) — Append a timestamped note permanently to an existing order's history. Order history is append-only, so this tool cannot edit or remove the entry. - order_desk_add_order_item(code?: string, name: string, price?: number, weight?: number, metadata?: object, order_id: integer, quantity?: integer, category_code?: string, delivery_type?: string, variation_list?: object) — Add one line item to an existing order. - order_desk_add_order_items(items: object[], order_id: integer) — Add two to 10 line items sequentially to the same order and return a result for every processed item. This batch is not atomic. - order_desk_create_inventory_item(code: string, cost?: number, name: string, price?: number, stock?: number, weight?: number, location?: string, metadata?: object, update_source?: string, variation_list?: object, manufacturer_sku?: string) — Create one inventory item with a unique SKU and return its positive Order Desk ID and complete created representation. - order_desk_create_inventory_items(items: object[]) — Create two to 10 inventory items sequentially and return each created ID or error. This batch is not atomic. - order_desk_create_shipments(shipments: object[]) — Create one or more shipment records across orders in one request and report the success or error returned for every shipment. - order_desk_delete_inventory_item(inventory_item_id: integer) — Permanently delete one inventory item by its positive Order Desk ID. This destructive action cannot be undone; verify the ID before calling it. - order_desk_delete_order_item(order_id: integer, order_item_id: integer) — Permanently remove one line item from an order. This destructive action cannot be undone by this tool; verify both IDs before calling it. - order_desk_delete_shipment(order_id: integer, shipment_id: integer) — Permanently remove one shipment record from an order. This destructive action cannot be undone by this tool; verify both IDs before calling it. - order_desk_get_inventory_item(inventory_item_id: integer) — Get one inventory item by its positive Order Desk ID. - order_desk_get_order(order_id: integer) — Get one order and its addresses, line items, shipments, metadata, notes, and discounts by Order Desk internal ID. - order_desk_get_store_metadata() — Return safe store identity, locale, timezone, page-size settings, and folder IDs and names without exposing credentials or email configuration. - order_desk_list_inventory_items(code?: string, name?: string, search?: string, location?: string, metadata?: string, manufacturer_sku?: string, inventory_item_id?: integer, updated_start_date?: string, exclude_update_source?: string) — Search inventory items in the connected store by ID, SKU, name, metadata, manufacturer SKU, location, or update time. - order_desk_list_order_items(order_id: integer) — Return all line items for one order. - order_desk_list_order_shipments(order_id: integer) — Return all shipments recorded for one order. - order_desk_list_orders(email?: string, limit?: integer, order_by?: string, folder_id?: string, source_id?: string, sort_order?: string, customer_id?: string, folder_name?: string, next_cursor?: string, source_name?: string, search_end_date?: string, customer_company?: string, shipping_company?: string, modified_end_date?: string, search_start_date?: string, customer_last_name?: string, shipping_last_name?: string, customer_first_name?: string, modified_start_date?: string, shipping_first_name?: string, include_order_history?: boolean, search_end_date_local?: string, search_start_date_local?: string) — Find orders in the connected store using at least one narrowing filter and return one bounded page. Use next_cursor to continue the same query. - order_desk_move_orders(order_ids: integer[], destination_folder_id?: integer, destination_folder_name?: string) — Move one or more orders to exactly one destination folder selected by positive ID or exact name, with a result for every order. - order_desk_update_inventory_items(updates: object[]) — Safely update selected fields on one or more inventory items while preserving every omitted field. - order_desk_update_order_item(changes: object, order_id: integer, order_item_id: integer) — Safely update selected fields on one order line item while preserving every omitted field. - order_desk_update_shipment(changes: object, order_id: integer, shipment_id: integer) — Safely update selected fields on one shipment while preserving every omitted field. ## Example prompts - "What can I do in Order Desk?" - "Show me a summary of my Order Desk account" ## Links Docs: https://mcp.ai/docs/mcps/order_desk Website: https://mcp.ai/mcps/order_desk