@striderlabs/mcp-ups
v1.0.0
Published
MCP server for UPS package tracking and shipping services
Readme
mcp-ups
MCP server for UPS package tracking and shipping services. Uses Playwright browser automation to interact with the UPS website.
Requirements
- Node.js 18 or higher
- Playwright (installed automatically as a dependency)
Installation
npm install -g @striderlabs/mcp-upsAfter installing, install the Playwright browser:
npx playwright install chromiumConfiguration for Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ups": {
"command": "mcp-ups"
}
}
}If using npx instead of a global install:
{
"mcpServers": {
"ups": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-ups"]
}
}
}Tools
track_package
Track a UPS package by tracking number. Returns current status, location history, and estimated delivery date.
Parameters:
tracking_number(required): UPS tracking number (e.g.,1Z999AA10123456784)
Example:
{
"tracking_number": "1Z999AA10123456784"
}Response:
{
"tracking_number": "1Z999AA10123456784",
"status": "In Transit",
"estimated_delivery": "Thursday, March 14, 2026",
"events": [
{
"date": "03/13/2026",
"time": "8:00 A.M.",
"location": "Louisville, KY, US",
"status": "In Transit",
"description": "Package transferred to destination facility"
}
]
}get_rates
Get UPS shipping rates between two ZIP codes for a package of specified dimensions and weight.
Parameters:
from_zip(required): Origin ZIP codeto_zip(required): Destination ZIP codeweight_lbs(required): Package weight in poundslength_in(optional): Package length in incheswidth_in(optional): Package width in inchesheight_in(optional): Package height in inches
Example:
{
"from_zip": "90210",
"to_zip": "10001",
"weight_lbs": 5,
"length_in": 12,
"width_in": 8,
"height_in": 6
}Response:
{
"from_zip": "90210",
"to_zip": "10001",
"weight_lbs": 5,
"rates": [
{
"service_name": "UPS Ground",
"price": "$12.34",
"delivery_time": "1-5 business days",
"guaranteed": false
},
{
"service_name": "UPS Next Day Air",
"price": "$45.67",
"delivery_time": "Next business day",
"guaranteed": true
}
]
}find_locations
Find UPS Store locations, drop boxes, and access points near a given address or ZIP code.
Parameters:
address(required): Address, city, or ZIP code to search nearradius_miles(optional): Search radius in miles (default: 5)location_type(optional): Type of location —store,dropbox,access_point, orall(default:all)
Example:
{
"address": "90210",
"radius_miles": 3,
"location_type": "store"
}Response:
{
"search_address": "90210",
"locations": [
{
"name": "The UPS Store",
"address": "123 Main St",
"city": "Beverly Hills",
"state": "CA",
"zip": "90210",
"phone": "(310) 555-1234",
"hours": "Mon-Fri 8am-7pm, Sat 9am-5pm",
"distance": "0.5 miles",
"type": "UPS Location"
}
]
}schedule_pickup
Schedule a UPS package pickup at your address. Note: This requires a UPS account login, so the tool will provide step-by-step instructions if authentication is needed.
Parameters:
address(required): Pickup street addresscity(required): Citystate(required): State (2-letter code)zip(required): ZIP codepickup_date(required): Desired pickup date inYYYY-MM-DDformatnum_packages(optional): Number of packages (default: 1)total_weight_lbs(optional): Total weight in pounds (default: 5)
Example:
{
"address": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zip": "94105",
"pickup_date": "2026-03-15",
"num_packages": 2,
"total_weight_lbs": 10
}Response:
{
"success": false,
"pickup_date": "2026-03-15",
"address": "123 Main St, San Francisco, CA 94105",
"message": "Scheduling a pickup requires a UPS account login",
"instructions": "1. Visit https://www.ups.com/pickup/schedule\n2. Sign in to your UPS account\n..."
}Notes
- This server uses Playwright browser automation to interact with the UPS website. It does not use the UPS API directly.
- Some features (e.g., scheduling pickups) require a UPS account. The server will provide instructions for completing those steps manually.
- UPS website structure may change over time, which could affect data extraction accuracy.
- The server keeps a shared browser instance to reduce overhead across tool calls.
License
MIT
