# Shipmondo MCP

> Shipmondo MCP Server connects your AI agent directly to multi-carrier e-commerce logistics across Scandinavia and Europe. Use one platform to create labels, get real-time quotes from carriers like PostNord and UPS, manage returns, track shipments, and check account balances. It handles the complexity of global shipping data without you ever logging into a carrier portal.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** order-fulfillment, label-printing, multi-carrier, return-management, logistics-automation, warehouse-operations

## Description

**Shipmondo MCP Server** connects your AI agent straight to multi-carrier e-commerce logistics across Scandinavia and Europe. You use one platform to create labels, grab real-time quotes from carriers like PostNord and UPS, manage returns, track everything that moves, and check account balances. It handles the whole mess of global shipping data so you never gotta log into a carrier portal again.

You're running your operation through natural conversation—that's it. The server uses Shipmondo's full API to process sales orders, manage multi-carrier shipments, and point you to delivery spots globally.

### Getting the Job Done

**Managing Your Inventory & Setup:** You can check all your configured warehouse locations using `list_warehouses`. If you need to know which carriers you've set up, running `list_carriers` gives you that list. Before you ship a thing, you gotta make sure you got the dough; checking available funds is easy with `get_account_balance`. For tracking incoming problems, `list_returns` pulls together every single return shipment waiting for you to process it. 

**Understanding Your Orders:** You can pull up a list of all sales orders that need attention using `list_orders`. If you wanna deep dive on one specific sale, `get_order` gives you the full details just by providing the order ID.

**Planning the Shipment:** Gotta figure out how much it's gonna cost? You run `get_shipping_quote` with the package dimensions and route to calculate the exact cost and estimated time. If you need a drop-off spot, `list_pickpoints` finds the closest available points based on your location or carrier code. When you're ready to ship, `create_shipment` generates that new tracking label for an outgoing package.

**Tracking Everything:** You can see a comprehensive list of every shipment—past and present—by running `list_shipments`. Need the status on one specific box? `get_shipment` pulls up its current location and tracking info. It’s all there, right in your agent.

This whole setup means you never gotta switch between carrier websites or deal with multiple APIs; your AI client acts like a dedicated logistics coordinator for everything from initial order placement through to the final delivery confirmation.

## Tools

### create_shipment
Generates a new tracking label for an outgoing package.

### get_account_balance
Checks the available funds in your Shipmondo account.

### get_order
Retrieves specific details for a single sales order ID.

### get_shipment
Pulls the current status and tracking information for one shipment.

### get_shipping_quote
Calculates the cost and estimated time to ship a package based on its size and route.

### list_carriers
Lists every shipping carrier configured in your Shipmondo account.

### list_orders
Provides a list of all sales orders needing fulfillment attention.

### list_pickpoints
Finds the nearest drop-off points for packages based on location and carrier code.

### list_returns
Gathers a list of all incoming return shipments that need processing.

### list_shipments
Retrieves a comprehensive list of all existing and historical shipments.

### list_warehouses
Shows all warehouse locations configured in your account.

## Prompt Examples

**Prompt:** 
```
Find DHL pickpoints in Denmark for zip code 2100.
```

**Response:** 
```
Searching for pickpoints... I found 3 DHL locations in zip code 2100: 'ServicePoint A', 'ServicePoint B', and 'Convenience Store C'. Which one would you like to select?
```

**Prompt:** 
```
Show me all shipments from this week with carrier performance and delivery status breakdown.
```

**Response:** 
```
145 shipments this week. Delivered (98): 67.6% (avg delivery: 2.1 days). In transit (34): 23.4%. Processing (8): 5.5%. Exception (5): 3.4% (2 address issues, 2 customs holds, 1 damaged). By carrier: PostNord (67 shipments, 97% on-time), GLS (45, 94% on-time), UPS (23, 98% on-time), DHL (10, 100% on-time). Average shipping cost: €5.40. Total shipping spend: €783. International shipments: 23 (16%). Returns processed: 12.
```

**Prompt:** 
```
Get shipping rate quotes for a 5kg package from Copenhagen to Berlin with all available carriers.
```

**Response:** 
```
Shipping quotes for 5kg package (30x20x15cm), Copenhagen → Berlin. PostNord Economy: €4.20 (5-7 business days). GLS Standard: €6.80 (3-4 days). UPS Standard: €8.90 (2-3 days). DHL Express: €14.50 (1-2 days). UPS Express: €16.20 (next day). Best value: PostNord Economy at €4.20. Fastest: UPS Express at €16.20. Recommended: GLS Standard (best price-to-speed ratio). All include tracking. Insurance available: +€1.50 (up to €500 coverage).
```

## Capabilities

### Process Shipment Creation and Tracking
The agent generates new shipment records or retrieves the status of existing packages using `create_shipment`, `get_shipment`, and `list_shipments`.

### Manage Orders and Returns
It allows you to pull full sales order details (`get_order`) or list all incoming return shipments for processing via `list_returns`.

### Get Rates and Locations
The system calculates shipping quotes using specific dimensions and locations with `get_shipping_quote`, or finds local drop-off points using `list_pickpoints`.

### Inventory and Account Lookup
You can check configured warehouse lists (`list_warehouses`), list all available carriers (`list_carriers`), or verify current funding with `get_account_balance`.

## Use Cases

### Bulk Quote Generation for New Products
A new product launch requires calculating shipping costs to 10 different European cities. Instead of visiting ten carrier websites, the agent runs `list_pickpoints` and then loops through those locations using `get_shipping_quote`. It returns a single table with all rates, allowing the pricing team to finalize margins immediately.

### Processing a High Volume Return Batch
A customer submits 25 items for return. Instead of manually logging them, the agent uses `list_returns` to get a batch ID, then calls `get_order` on those IDs. It determines which carrier is best suited and queues up the necessary label printing via `create_shipment`.

### Diagnosing an Order Fulfillment Stall
An order hasn't shipped for three days, and no one knows why. The agent pulls all data: first checking `get_order` for the original status, then running `list_shipments` to see if a label was created, finally using `get_shipping_quote` to check for rate changes that might have stalled the process.

### Mapping Warehouse Locations
The company is expanding into a new region. Instead of getting physical site visits, the operations team uses `list_warehouses` and cross-references it with `list_pickpoints` to ensure local drop-off points are available near all newly listed inventory centers.

## Benefits

- Stop paying for manual data entry. Use `get_order` and `list_orders` to pull full sales order details instantly, feeding that info directly into your label creation workflow.
- Cut down on quoting time by using `get_shipping_quote`. Give the agent the package dimensions and endpoints, and it returns rates from multiple carriers at once. No more switching tabs.
- Handle complex logistics without a dedicated team. The server lets you track every shipment (`list_shipments`) while also managing returns through `list_returns`—all in one chat window.
- Know your limits before you ship. Use `get_account_balance` to check funds and avoid processing a large batch of orders only to hit an account credit wall mid-day.
- Find the quickest drop-off point, no matter where the customer is. Run `list_pickpoints` with just a zip code and carrier name, and you get multiple location options back instantly.

## How It Works

The bottom line is, your AI client handles all API calls and complex logistics logic so you don't have to write a single script.

1. Subscribe to the server and provide your Shipmondo API User and API Key.
2. Your AI agent sends a request (e.g., 'Get quote for 5kg from London to Paris').
3. The agent uses the necessary tools (`get_shipping_quote`) and returns the structured data directly in the chat.

## Frequently Asked Questions

**How do I check rates before making an actual shipment using get_shipping_quote?**
You run `get_shipping_quote` by providing the package dimensions, origin zip code, and destination zip code. The tool returns multiple carriers' current costs and estimated delivery times without reserving any labels or creating records.

**Does list_orders give me everything I need to ship a product?**
It gives you the initial order details, which is necessary for fulfillment. You should run `get_order` immediately after using `list_orders` to get specific metadata required by the shipping tools.

**What if I need to track a shipment that was created last year? Can list_shipments find it?**
Yes, `list_shipments` covers historical data. Just provide the date range or key identifiers you have, and the tool compiles a history of all records associated with your account.

**How do I know if my shipping account has enough money?**
Use `get_account_balance`. This tool pulls your real-time balance directly from Shipmondo, preventing unexpected payment failures when running bulk label creations using `create_shipment`.

**What happens if I use `create_shipment` with invalid or incomplete package dimensions?**
The tool returns a specific error code and details exactly which field failed validation. You'll get back the required correction, like 'Dimensions must be positive' or 'Weight exceeds carrier limit.' This prevents bad data from entering your logistics stream.

**How can I use `list_pickpoints` to find locations that support a specific service, like same-day drop-off?**
You pass the required service code or type identifier in your query parameters. The tool filters results based on carrier capability flags, not just location name. This lets you narrow down options quickly.

**Does running `list_returns` require a return authorization number (RMA)?**
Yes, providing the RMA or RA number is necessary to narrow down results and prevent listing unrelated returns. It's the primary identifier needed for processing that specific reverse logistics workflow.

**If I have a very large volume of sales orders, how do I handle pagination when using `list_orders`?**
The API supports cursor-based pagination. You'll receive a `next_page_token` in the response payload; you use that token to fetch the next batch of records until all orders are retrieved.

**Can my AI find pickpoints for a specific carrier like PostNord or DHL?**
Yes! Use the `list_pickpoints` tool with the carrier code (e.g., 'pnd' for PostNord, 'dhl' for DHL) and the zip code. Your agent will return a list of available locations instantly.

**How do I check if I have enough balance to generate new labels?**
Simply ask the AI to run the `get_account_balance` action. It will retrieve your real-time balance directly from your Shipmondo account.

**Where do I find my API credentials?**
Log in to your Shipmondo account, go to **Settings** > **API** > **Access**, and you will find your API User and API Key there.