# 99Minutos Express MCP MCP

> 99Minutos Express connects your AI client directly to a physical courier network, treating it like a dispatch terminal for Latin American e-commerce logistics. It lets you get instant point-to-point shipping quotes between zip codes and automatically trigger real-world pickup missions through natural language commands.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** last-mile-delivery, courier-services, logistics-automation, shipping-quotes, same-day-delivery

## Description

This MCP transforms your AI agent from a simple chatbot into a heavy dispatcher terminal. Instead of manually jumping between carrier websites to estimate costs, you feed two zip codes, and the system instantly calculates exactly what it takes to move goods via Express or Next-Day services across LatAm.

The core loop is dispatching: write a request like 'Call a courier delivering at XYZ,' and your agent executes that as a real pickup mission. You can manage the entire lifecycle, from checking if a zone is even covered using `list_coverage` to tracking a package in real time with `get_tracking`. This kind of deep logistical integration was previously locked behind complex API keys or manual web scraping. Now, Vinkius makes it available through one simple connection, letting you handle everything right from your chat interface.

## Tools

### cancel_order
Voids an existing, active courier pickup mission.

### create_order
Requests a new express delivery service between two points.

### create_store
Registers a brand new local dispatch warehouse or node location.

### create_webhook
Sets up an HTTP endpoint to receive automated delivery status updates.

### get_order
Retrieves the detailed status and history for a specific express order number.

### get_rates
Checks the cost to move goods between any two specified zip codes on the same day.

### get_tracking
Pulls live, real-time GPS coordinates for a package currently in transit.

### list_coverage
Checks the operational service range and coverage status of various LatAm zip codes.

### list_orders
Pulls a list of all active, currently running express orders in one area.

### list_return_orders
Shows the status and details for goods coming back to the store (reverse logistics).

### list_stores
Lists all registered physical dispatch nodes or warehouses.

### list_webhooks
Scans and reports on the active webhook endpoints set up for system communication.

## Prompt Examples

**Prompt:** 
```
Find out exactly how much it costs right now a Same-Day deployment taking my package picking up from 14002 ending at 16003.
```

**Response:** 
```
Rates extracted actively from the logistics hub natively. Connecting point 14002 to 16003 yields an estimation of roughly $85 MXN applying under the classic 'sameday' ruleset capacity. Would you like me to ping the order and dispatch natively?
```

**Prompt:** 
```
Query the grid tracking node extracting recent geographic updates pushing for order NN-7729.
```

**Response:** 
```
Sourced heavily! Digging into tracking loops revealed NN-7729 shows state 'On Route'. Valid GPS logs register moving out of hub 30 minutes ago safely. Courier identity attached natively. ETA preserved clean.
```

**Prompt:** 
```
List my physical stores
```

**Response:** 
```
Here.
```

## Capabilities

### Get instant shipping quotes
Input two zip codes and receive a calculated cost for express or next-day delivery services.

### Dispatch real pickup missions
Trigger a live courier service request simply by specifying the target location in natural language.

### Monitor package locations
Pull current GPS data to see exactly where an active vehicle is at any given moment.

### Check market coverage zones
Verify if specific geographical bounds are currently within the courier's active service grid.

### Manage orders and returns
View, list, or cancel both outgoing shipments and reverse logistics (returns).

## Use Cases

### A customer asks for shipping cost estimates
The agent receives a request: 'How much does it cost to send this product from 14002 to 16003?' The system uses `get_rates` immediately, providing the client with an accurate quote and allowing the user to proceed directly to creating the sale.

### A shipment goes missing or is delayed
The operations manager inputs the order ID. The agent calls `get_tracking`, pulling real-time data that shows the package moved out of a local hub thirty minutes ago, giving them an immediate status update and ETA.

### Managing post-sale returns
A customer sends back a faulty item. Instead of manual logging, the agent runs `list_return_orders`, showing the entire history and current location of the returned goods for processing.

## Benefits

- Stop guessing costs. Use `get_rates` to get an immediate cost estimate for any point-to-point delivery run before you even commit to the sale.
- Automate dispatching. Instead of writing code to trigger pickups, just ask your agent to 'Call a courier...' and use `create_order` to execute it.
- Eliminate tracking blind spots. Use `get_tracking` to pull live GPS updates, knowing exactly if a package is delayed or on time.
- Scale logistics coverage. Before accepting an order, run `list_coverage` to confirm the zip code falls within the current active service grid.
- Simplify post-sale ops. Manage both outgoing shipments and incoming returns by listing all necessary items via `list_orders` and `list_return_orders`.

## How It Works

The bottom line is you talk to your agent like talking to a logistics coordinator; it handles all the underlying API calls.

1. Install the node mapping within your environment.
2. Fetch your 99 API Bearer Code by extracting it from the merchant layout.
3. Use natural phrases to tell the AI client what needs doing, and the MCP translates that into a physical dispatch command.

## Frequently Asked Questions

**How do I check if my desired zip code is covered using list_coverage?**
You run `list_coverage` and provide your specific ZIP codes. The tool responds by confirming if those bounds fall within the courier's currently active service grid.

**Is there a way to see all my current shipments with list_orders?**
Yes, running `list_orders` pulls a comprehensive list of every active express order in your area. This is useful for quick inventory checks and status overviews.

**What if I need to stop an order that was just created using cancel_order?**
Use `cancel_order` with the relevant order ID. The tool voids the active courier run, preventing further charges or dispatch efforts for that specific mission.

**Can I check real-time location data using get_tracking?**
Absolutely. `get_tracking` pulls live GPS coordinates for a package on its way to you, giving you the most current status and estimated arrival time.

**When using `get_rates`, what are the requirements for calculating costs between multiple points?**
The tool requires a structured list of coordinates or postal codes. You must pass all start and end points in a single request payload, not one by one. This allows you to calculate complex multi-stop routes instantly.

**How do I monitor the status of returned items using `list_return_orders`?**
This tool shows all reverse logistics flows and returns. You can filter results by return date or original order ID to track where the package is in the return process.

**What do I need to know when using `create_store` to register a new dispatch warehouse?**
You must provide the physical address, operational hours, and necessary local permits for the node. This registers the location in our network so it can accept courier pickups.

**If my automated system fails to receive status updates, how do I use `list_webhooks`?**
Use this tool to audit all active HTTP delivery ping receptors. It lists the endpoints and their last successful trigger time, helping you verify if your integration is running.

**Are the pickup locations visible if I list coverage endpoints openly?**
No. The system protects sensitive core nodes. Also, the primary Bearer Token connecting the logistic grid behaves with absolute `sensitive: true` markings eliminating API key peeking internally or across screen sharing software.

**Is it possible to estimate costs exclusively without mistakenly dispatching a live courier?**
Definitely! Estimations are securely isolated using exclusively the `get_rates` endpoint. This acts as an inert sandbox fetching pure monetary quotes based on dimensions without generating 'Orders'. Live dispatch strictly requires `create_order` action flags limiting accidental triggers.

**Can I add multiple webhooks?**
Yes, via the agent.