# Order Desk MCP

> Order Desk MCP Server connects your AI agent directly to a multi-channel order management system. It lets you handle e-commerce fulfillment—from listing new orders and checking real-time inventory to updating stock counts and adding shipment tracking numbers—all through natural conversation. No need to log into separate dashboards for Shopify, Amazon, or your WMS.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** order-management, orderdesk, inventory-api, shipping-automation, fulfillment-orchestration, multichannel-ecommerce, order-tracking, mcp

## Description

Listen up. The Order Desk MCP Server connects your AI agent directly to your whole multi-channel order system. It lets you handle all that e-commerce fulfillment stuff—from listing new orders to checking inventory and adding tracking numbers—without ever logging into a dozen separate dashboards like Shopify, Amazon, or whatever WMS you're using. Your agent does the heavy lifting through plain conversation.

**Listing and Retrieval:**

You can get a bird's-eye view of everything happening by listing multiple orders across every connected sales channel using `list_store_orders`. If you need more detail, pulling full metadata for just one order ID is simple; your agent uses `get_order_details` to pull in all the line items and any custom data points attached. Need to know what was purchased? You can list every product and the quantity sold within a specific order using `list_order_items`. To see all shipment history on an existing order, your agent pulls those details with `list_order_shipments`. Of course, if you need to check inventory first, you've got two options: run `list_inventory_items` to get a list of every SKU the system is tracking, or use `get_inventory_item` when you only care about one specific product's stock and details. Need to see what kind of orders are coming in? You can search for current and historical listings using `list_store_orders`, filtering through those results as needed.

**Modifying Records:**

If something changes, your agent handles it. You can create a brand new order placeholder record in the store system using `create_store_order`. If you're dealing with an existing order that needs correcting—say, changing the shipping status or adding notes for the customer service team—you run `update_store_order` to modify those specific details. And if an order was placed by mistake and needs to be wiped from the books entirely, your agent can delete it using `delete_store_order`. When you're ready to ship that stuff out, you use `create_order_shipment` to add a shipment record with all the necessary tracking numbers right onto that existing order. You'll also need to keep those inventory counts accurate; if you sell something and the system doesn't know it, your agent helps fix that by updating stock levels when required.

**Getting Set Up:**

Before you start messing with orders, you gotta make sure everything talks to each other. Your AI client runs `test_orderdesk_connection` first; this verifies that the API keys and connection between Vinkius and your Order Desk platform are working right out of the gate.

## Tools

### create_order_shipment
Adds a shipment record with tracking details to an existing order.

### create_store_order
Creates a new, placeholder order within the store system records.

### delete_store_order
Removes an existing order record from the store's data set.

### get_inventory_item
Retrieves detailed stock and product information for a single specific inventory SKU.

### get_order_details
Pulls all metadata, including line items and custom data, for one specified order ID.

### list_inventory_items
Returns a list of all SKUs currently tracked in the inventory system.

### list_order_items
Lists every product and quantity sold within a specific order.

### list_order_shipments
Retrieves all recorded shipment details for an order ID.

### list_store_orders
Gets a summary list of multiple orders across all connected channels.

### test_orderdesk_connection
Verifies that your API keys and connection to the Order Desk platform are working correctly.

### update_store_order
Modifies specific details, like shipping status or customer notes, on an existing order.

## Prompt Examples

**Prompt:** 
```
List all active orders in Order Desk.
```

**Response:** 
```
I've retrieved your orders. You have 15 active shipments across your channels. Notable recent orders include #1234 from Shopify and #5678 from Amazon. Which one would you like to see details for?
```

**Prompt:** 
```
Show me all orders placed today and their current fulfillment status.
```

**Response:** 
```
You have 23 orders placed today. 8 are in Processing status, 11 have been Shipped (tracking numbers available), 2 are On Hold awaiting payment confirmation, and 2 are in Partial Fulfillment. Total revenue today: $4,287.50. The largest order is #ORD-9847 for $892 containing 6 line items.
```

**Prompt:** 
```
Check the inventory levels for SKU WIDGET-PRO-BLK and update the stock count to 250.
```

**Response:** 
```
SKU WIDGET-PRO-BLK ("Widget Pro Black Edition") found. Previous stock: 47 units. I have updated the inventory count to 250 units. The item is mapped to 3 active sales channels and has a reorder point set at 25 units. Last shipment received: May 5th (200 units from supplier Acme Widgets).
```

## Capabilities

### List and filter all store orders
Retrieves lists of historical and active orders from every connected sales channel.

### Get specific order details
Pulls full metadata for a single order ID, including line items and custom data points.

### Manage inventory levels
Checks current stock via `get_inventory_item` or lists all available SKUs using `list_inventory_items`, and updates counts when necessary.

### Create new orders
Allows you to manually create a brand new order record in the system.

### Track shipments on an existing order
Adds specific tracking numbers and shipment records to any current or past order.

## Use Cases

### Handling a Rush Order Inquiry
A customer calls asking for the status of #500. Instead of checking three different systems (Amazon's portal, Shopify's order page, and the shipping carrier site), your agent runs `get_order_details` to pull all metadata. It then uses `list_order_shipments` to confirm the tracking number is active and reports back instantly.

### Restocking After a Sale
The team just sold 50 units of SKU XYZ, but the WMS hasn't updated. You run `get_inventory_item` to check stock, confirm it's low, and then use `update_store_order` alongside inventory tools to flag the item for immediate reordering.

### Processing a Bulk Shipment Manifest
You have 20 orders needing shipping today. You ask your agent to 'List all active orders and mark them as shipped.' The agent runs `list_store_orders` on the batch, then uses `create_order_shipment` for each one, completing a task that would take hours of manual logging.

### Debugging Order Data
An order is showing missing line items. You run `get_order_details`, which executes `list_order_items`. This immediately shows the agent exactly what products were purchased, allowing the ops team to correct the fulfillment record.

## Benefits

- Inventory checks are instant. Use `get_inventory_item` to verify stock levels for any SKU without logging into your WMS dashboard. You know exactly how many units you have before promising a delivery date.
- Fulfillment tracking is handled automatically. Instead of manual entry, use `create_order_shipment` to add carrier numbers and shipment dates to an order with just plain language prompts.
- Handle status changes instantly. If an item gets back-ordered or needs a note added, run `update_store_order` to modify the record directly through your agent's chat interface.
- Visibility across all channels. Running `list_store_orders` pulls data from every connected cart and storefront into one summary list, eliminating platform blind spots.
- Full order context retrieval. Use `get_order_details` when you need to know everything about an old order—who bought it, what they got, and where it went.

## How It Works

The bottom line is, your AI client runs the entire fulfillment process—from checking stock to marking an order as shipped—without you ever leaving the conversation window.

1. Subscribe to the Order Desk server and input your store's unique ID and API Key.
2. Your AI agent reads your request (e.g., 'Check stock for SKU X and create a shipment').
3. The agent sequences calls using tools like `get_inventory_item` and `create_order_shipment`, returning the final status to you in chat.

## Frequently Asked Questions

**How do I connect my inventory data using get_inventory_item?**
You pass the SKU identifier to `get_inventory_item`. The tool returns current stock levels and details about which sales channels map to that specific product. This is your first step when checking availability.

**Can I list all orders from multiple sources with list_store_orders?**
Yes, `list_store_orders` pulls a summary of orders across all connected sales channels in one go. This is great for quickly seeing the volume and status of your entire backlog.

**What if I need to change an order's shipping address? Do I use update_store_order?**
You use `update_store_order`. Make sure you have the Order ID and the new data ready. The tool modifies existing records directly, so always confirm the specific field you plan to change.

**Does list_order_items tell me what was bought?**
Yes, `list_order_items` returns a line-item breakdown for an order. It shows exactly which SKUs and how many units were purchased in that specific transaction.

**What steps do I take if my API connection fails when running `test_orderdesk_connection`?**
First, double-check your Store ID and API Key in the Order Desk dashboard. If credentials are correct, verify that your account has read/write permissions for orders and inventory.

**When I use `create_order_shipment`, what mandatory data must I provide besides the order number?**
You must supply the carrier name, the tracking number, and accurate weight/dimensions. The tool needs these specific details to successfully attach the shipment record to an existing order.

**Can I use `delete_store_order` if I just want to mark an order as canceled?**
No, using `delete_store_order` permanently removes the record. If you only need it marked canceled, look for a dedicated 'update status' endpoint or workflow outside of this specific deletion tool.

**If I use `get_order_details`, how do I retrieve custom fields not listed in the standard order data?**
The tool retrieves all available metadata, including custom fields. You must specify the exact field key and what you expect to find when writing your prompt.

**Can my AI automatically find the details for a specific order by its ID?**
Yes! Use the `get_order` tool with the Order ID. Your agent will respond with complete metadata for the record, including customer information, items, and status in seconds.

**How do I find my Order Desk Store ID and API Key?**
Log in to your Order Desk store, navigate to **Store Settings** > **API**, and you will find your unique Store ID and generate your secret API key there.

**Can I update inventory levels using the AI?**
Absolutely. Use the `update_inventory` tool. Provide the Inventory Item ID and the new stock quantity, and the agent will sync the update to Order Desk immediately.