This is the carrier's own server, authenticated with OAuth client credentials you create on the UPS Developer Portal, so the answers come from the same tracking API the UPS site uses. The test environment is one variable away, which makes it safe to wire up before pointing it at live shipments.
UPS's own MCP server over the UPS Tracking API: give it a tracking number and it returns the package's status, latest transit activity, and expected delivery date and time.
- Tracking by inquiry number, checked for length before the call goes out
- Current status and the latest transit scan for a shipment
- Expected delivery date and time
- Optional extras on a lookup: delivery milestones, proof of delivery, signature
- Responses localised by language and country code
- A test (CIE) environment alongside production, selected by one variable
A Client ID and Client Secret from an application you create on the UPS Developer Portal, and ENVIRONMENT set to test or production. Python 3.12 or higher plus uv; it runs with uvx straight from the repository.
One command plus a key — uvx --from git+https://github.com/UPS-API/ups-mcp ups-mcp, then supply credentials
