track_packageLABSCO SUMMARY
UPS package tracking, wired into the assistant.
It authenticates with OAuth client credentials you create on the UPS Developer Portal, and its answers come from the UPS Tracking API. The test environment is one variable away, which makes it safe to wire up before pointing it at live shipments.
What it is
An MCP server over the UPS Tracking API, published under the UPS-API GitHub organisation: give it a tracking number and it returns the package's status, latest transit activity, and expected delivery date and time.
What you get
- 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
Requirements
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.
Setup effort
One command plus credentials — uvx --from git+https://github.com/UPS-API/ups-mcp ups-mcp, then supply credentials
USE CASES
Answering 'where is my order'
One tracking number returns status, latest scan and expected delivery in a single answer.
Checking whether something really was delivered
A lookup can ask for proof of delivery and the signature alongside the status, rather than taking 'delivered' on trust.
Chasing a shipment that has stopped moving
The latest transit activity shows where the last scan happened, which is what separates stuck from simply in transit.
Wiring it up without touching real shipments
Set ENVIRONMENT to test and calls go to the UPS CIE environment; change it to production when you are ready.
Answering in the customer's language
Each lookup takes a locale — language and country code — so the returned status text matches the person asking.
2 tools
Listed in project docs. Your client may show a different list.
validate_addressBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
- Python 3.12 or later
- CLIENT_ID in your environment
- CLIENT_SECRET in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx --from git+https://github.com/UPS-API/ups-mcp ups-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"ups-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/UPS-API/ups-mcp",
"ups-mcp"
],
"env": {
"CLIENT_ID": "<YOUR_CLIENT_ID>",
"CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"ENVIRONMENT": "test"
}
}
}
}GitHub Copilot in VS Code
{
"servers": {
"ups-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/UPS-API/ups-mcp",
"ups-mcp"
],
"env": {
"CLIENT_ID": "<YOUR_CLIENT_ID>",
"CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"ENVIRONMENT": "test"
}
}
}
}