# FedEx MCP

> FedEx MCP Server handles all your logistics data. Your AI client can track shipments, get real-time rates, validate addresses, and generate labels directly from FedEx's systems. Manage complex shipping operations—from initial rate quoting to final proof of delivery—using natural language commands. Stop clicking through carrier websites; let your agent do the heavy lifting.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** shipping-management, package-tracking, address-validation, logistics-automation, shipping-rates

## Description

**Track Shipment Status**
Your AI client tracks single or multiple packages using `track_package` or `track_multiple_packages`, giving you the current location, scan history, and estimated delivery date. **Calculate Shipping Costs**
You can run `get_rates` to compare shipping costs and estimate transit times for Ground, Express, or Freight services between two points, using the origin/destination codes and package weight. **Create and Label Shipments**
You generate labels and initiate outbound shipments directly with `create_shipment`, just by providing the package, weight, and recipient details. **Address Validation**
Before you ship anything, `validate_address` checks and standardizes a shipping address, flagging errors so you don't get failed deliveries. **Find Local Services**
Need a drop-off point? `find_locations` finds nearby FedEx facilities, offices, or ship centers, giving you their hours and services. `get_postal_code` validates a ZIP code and retrieves associated location details. **Verify Delivery Proof**
When a package arrives, you pull the proof of delivery document using `get_proof_of_delivery`, which shows the signature status and the delivery date for completed shipments.

## Tools

### check_service_availability
Verifies if FedEx shipping services (Express, Ground, Freight) run between two specific postal codes.

### create_shipment
Generates a shipping label and initiates a shipment using package, weight, and recipient details.

### find_locations
Finds nearby FedEx drop-off points, offices, or ship centers, including their hours and services.

### get_postal_code
Validates a postal/ZIP code and retrieves associated location details.

### get_proof_of_delivery
Retrieves the proof of delivery document, showing signatures and the delivery date for a completed package.

### get_rates
Calculates shipping costs and estimated transit times for FedEx services between two points.

### track_multiple_packages
Checks the status and history of several FedEx packages in one request.

### track_package
Monitors the progress and status of a single FedEx package using its tracking number.

### validate_address
Checks and standardizes a shipping address, flagging errors to prevent failed deliveries.

## Prompt Examples

**Prompt:** 
```
Track package 123456789012 and tell me when it will be delivered
```

**Response:** 
```
I'll retrieve the tracking history and estimated delivery date for your package.
```

**Prompt:** 
```
How much to ship a 5lb box from 10001 to 90210 via FedEx Ground?
```

**Response:** 
```
I'll get rate quotes for all available FedEx services between those ZIP codes.
```

**Prompt:** 
```
Find the nearest FedEx drop-off location to 37201
```

**Response:** 
```
I'll search for FedEx locations near that ZIP code and show you the closest options.
```

## Capabilities

### Track Shipment Status
Get the current location, scan history, and estimated delivery date for single or multiple FedEx packages.

### Calculate Shipping Costs
Compare rates and estimate transit times for any service (Ground, Express, etc.) given origin/destination codes and package weight.

### Create and Label Shipments
Generate shipping labels and initiate outbound shipments using specific package details.

### Verify Delivery Proof
Retrieve proof of delivery documents, including signature status and delivery dates, for completed shipments.

### Address Validation
Check and standardize a shipping address to prevent failed deliveries before sending a label.

### Find Local Services
Locate the nearest FedEx facility, including office hours and available drop-off points.

## Use Cases

### Checking 20 customer packages after a major sale
A fulfillment manager needs to know where 20 different customer orders are. Instead of opening 20 tabs, they ask the agent to `track_multiple_packages`. The agent runs the tool, pulls all 20 statuses, and gives a consolidated update. Problem solved.

### Quote rates for a new international client
A sales coordinator needs to tell a client how much a 5lb box costs from Miami to Seattle. They ask the agent to `get_rates` with the two ZIP codes. The agent compares all services and returns a rate comparison table. The client gets a quote instantly.

### Finding the closest drop-off point right now
A warehouse employee needs to drop off 15 packages by 5 PM. They ask the agent to `find_locations` using their current ZIP code. The agent lists the nearest options, confirms if they accept packages, and gives the hours. No more guessing.

### Verifying a tricky customer address
A customer support agent gets an address that looks weird. They use the agent to `validate_address` with the input. The agent checks the format, corrects typos, and gives a standardized, deliverable address. The shipment goes out the first time.

## Benefits

- Track any package using `track_package` or `track_multiple_packages`. Get the full history and current status instantly, without visiting the carrier's tracking website.
- Eliminate billing disputes by using `get_proof_of_delivery`. You get the official document right in your chat, confirming who signed for the package and when.
- Save money and time by using `get_rates`. You compare costs and transit times for Ground, Express, and Freight services immediately, helping you pick the best option.
- Stop failed deliveries with `validate_address`. Before you even generate a label, the agent confirms the address is correct and standardized, saving you postage and headaches.
- Never waste time looking up a drop-off point. Use `find_locations` to find the closest FedEx office or drop box, complete with operating hours.
- Streamline fulfillment by using `create_shipment`. Generate labels and process outbound shipments in a single command, getting the tracking number right away.

## How It Works

The bottom line is, your AI client runs the complex API calls behind the scenes, so you just talk to it.

1. Start by providing your AI agent with the necessary FedEx API credentials.
2. Tell your agent the goal (e.g., 'I need to ship a box from ZIP X to ZIP Y').
3. The agent runs the necessary tools (like `get_rates` and `validate_address`), and you get the final result directly in the chat.

## Frequently Asked Questions

**How do I use the `get_rates` tool with the FedEx MCP Server?**
You simply tell your agent the origin, destination, and package details. The agent runs `get_rates` and returns a comparison of all available services and their costs.

**What is the difference between `track_package` and `track_multiple_packages`?**
`track_package` handles a single tracking number. Use `track_multiple_packages` when you need the status of an array of tracking numbers at once.

**Can the FedEx MCP Server validate an address before I create a shipment?**
Yes, always run `validate_address` first. This tool standardizes the address and ensures it meets FedEx requirements before you try to ship anything.

**What tool do I use to find a local FedEx drop-off point?**
Use the `find_locations` tool. It searches for the nearest facility and gives you its operating hours and what services it offers.

**Do I need to call `get_proof_of_delivery` for every shipment?**
No. You call `get_proof_of_delivery` only when you need confirmation of successful delivery, usually for insurance or billing purposes.

**How do I use the `create_shipment` tool to process returns?**
You pass the returner and original recipient details to `create_shipment`. This generates the necessary return label and tracking number for the return shipment.

**What should I use if I need to check service availability between two specific postal codes? (Tool: `check_service_availability`)**
Use `check_service_availability` to confirm if services like Ground or Express run between those codes. It returns service names and transit times before you book anything.

**If my address is wrong, should I use `validate_address` or `get_postal_code` first? (Tools: `validate_address`, `get_postal_code`)**
Always use `validate_address` first. It checks the full street, city, and state. `get_postal_code` only verifies the ZIP code itself.

**Do I need a FedEx account to use this MCP server?**
For tracking and address validation, you only need free API credentials from the FedEx Developer Portal. For creating shipments and generating labels, a valid FedEx shipping account number is required.

**Can this MCP server generate shipping labels?**
Yes! The create_shipment tool generates a shipping label (PDF format) and returns the tracking number. You'll need your FedEx account number, shipper/recipient details, and package specifications. The label is returned as a URL or encoded string ready for printing.

**How many packages can I track at once?**
The track_multiple_packages tool allows tracking up to 30 packages in a single request. For larger batch tracking, you can make multiple requests. Each individual tracking request returns full scan history and delivery status.