MCP server for FedEx — track packages, get shipping rates, find drop-off locations, and schedule pickups via Playwright browser automation.
- track_package — Track any FedEx shipment by tracking number with full event history
- get_rates — Get shipping rate estimates between two zip codes with transit times
- find_locations — Find nearby FedEx Office stores, drop-off points, and authorized shipping centers
- schedule_pickup — Schedule a FedEx package pickup at a residential or business address
- Node.js 18+
- Playwright Chromium browser
npm install @striderlabs/mcp-fedex
npx playwright install chromium{
"mcpServers": {
"fedex": {
"command": "node",
"args": ["/path/to/node_modules/@striderlabs/mcp-fedex/dist/index.js"]
}
}
}{
"mcpServers": {
"fedex": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-fedex"]
}
}
}Track a FedEx shipment status and delivery events.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
tracking_number |
string | Yes | FedEx tracking number (12-22 digits) |
Example:
{
"tracking_number": "449044304137821"
}Returns: Current status, estimated delivery date, last known location, service type, and full scan event history.
Get FedEx shipping rate estimates between two zip codes.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
from_zip |
string | Yes | Origin zip code |
to_zip |
string | Yes | Destination zip code |
weight_lbs |
number | No | Package weight in pounds (default: 1) |
package_type |
string | No | YOUR_PACKAGING, FEDEX_ENVELOPE, FEDEX_BOX, FEDEX_TUBE |
length_in |
number | No | Length in inches |
width_in |
number | No | Width in inches |
height_in |
number | No | Height in inches |
Example:
{
"from_zip": "90210",
"to_zip": "10001",
"weight_lbs": 2.5,
"package_type": "YOUR_PACKAGING"
}Returns: List of available FedEx services with prices, transit days, and estimated delivery dates.
Find FedEx locations near an address or zip code.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
address |
string | Yes | Address, city, or zip code to search near |
max_results |
number | No | Max locations to return (default: 5) |
services |
string | No | dropoff, office, or all (default: all) |
Example:
{
"address": "Austin TX",
"max_results": 3,
"services": "office"
}Returns: List of nearby FedEx locations with addresses, hours, phone numbers, distances, and available services.
Schedule a FedEx package pickup at an address.
Note: Always confirm pickup details with the user before calling this tool, as it initiates a real pickup request. FedEx may require account login for pickup scheduling.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
address |
string | Yes | Street address |
city |
string | Yes | City |
state |
string | Yes | State abbreviation |
zip |
string | Yes | Zip code |
contact_name |
string | Yes | Contact person's name |
phone |
string | Yes | Contact phone number |
pickup_date |
string | Yes | Date in YYYY-MM-DD format |
ready_time |
string | No | When packages are ready, 24h HH:MM (default: "14:00") |
latest_time |
string | No | Latest driver arrival, 24h HH:MM (default: "18:00") |
package_count |
number | No | Number of packages (default: 1) |
total_weight_lbs |
number | No | Total weight in pounds |
location_type |
string | No | residential or business (default: residential) |
Example:
{
"address": "123 Main St",
"city": "Memphis",
"state": "TN",
"zip": "38103",
"contact_name": "Jane Smith",
"phone": "901-555-1234",
"pickup_date": "2025-02-15",
"ready_time": "13:00",
"latest_time": "17:00",
"package_count": 2,
"total_weight_lbs": 5.0,
"location_type": "residential"
}Returns: Confirmation number, pickup date/window, or instructions to complete scheduling via FedEx account login if required.
- Browser automation: This package uses Playwright with stealth mode to interact with the FedEx website. Results depend on FedEx's current website structure.
- Bot detection: FedEx uses Akamai Bot Manager. The stealth plugin mitigates most detection, but occasional challenges may occur.
- Pickup scheduling: FedEx may require account login for pickup scheduling. If login is required, the tool will return the direct URL.
- Rate estimates: Rates shown are estimates. Final rates may vary based on package dimensions, declared value, and account pricing.
- Not affiliated: This package is not affiliated with or endorsed by FedEx Corporation.
git clone https://github.com/markswendsen-code/mcp-fedex
cd mcp-fedex
npm install
npx playwright install chromium
npm run buildMIT