loading…
Search for a command to run...
loading…
A mock MCP server for small parcel operations, providing tools to track packages, manage delivery exceptions, and handle recipient issues for use with Salesforc
A mock MCP server for small parcel operations, providing tools to track packages, manage delivery exceptions, and handle recipient issues for use with Salesforce Agentforce.
A mock MCP (Model Context Protocol) server that simulates small parcel and package operations. Designed for use with Salesforce Agentforce, it exposes 12 tools covering the common actions a driver or package processing centre would need to remedy recipient issues.
Hosted on Railway — always on, no setup required.
| Health check | https://parcel-mcp-server-production.up.railway.app/health |
| MCP endpoint | https://parcel-mcp-server-production.up.railway.app/mcp |
| OAuth token URL | https://parcel-mcp-server-production.up.railway.app/oauth/token |
To register this server in the Salesforce Agentforce Registry, use the following settings:
| Field | Value |
|---|---|
| MCP Server Name | Parcel MCP Server |
| Server URL | https://parcel-mcp-server-production.up.railway.app/mcp |
| Authentication Method | OAuth 2.0 |
| Identity Provider URL | https://parcel-mcp-server-production.up.railway.app/oauth/token |
| Scope | read |
| Client ID | any value |
| Client Secret | any value |
The OAuth endpoint is a mock — it accepts any client ID and secret and returns a valid bearer token.
| Tool | Description |
|---|---|
track_package |
Look up status, location history, and delivery details by tracking number |
list_packages_for_driver |
List all packages assigned to a driver with status and recipient info |
update_delivery_status |
Log delivery attempts, exceptions, or completions |
correct_delivery_address |
Submit a corrected address for an invalid or undeliverable package |
schedule_redelivery |
Book a redelivery with preferred date and time window |
request_hold_for_pickup |
Hold a package at the nearest facility for recipient pickup |
initiate_return_to_sender |
Mark a package for return with a reason code |
update_recipient_contact |
Update phone or email for delivery notifications |
report_damaged_package |
File a damage claim with severity level |
get_facility_info |
Get hours, address, and accessibility info for the holding facility |
send_delivery_notification |
Send SMS or email notification to the recipient |
get_route_summary |
Get a driver's route stats — delivered, pending, exceptions |
Four packages are pre-loaded covering the main exception scenarios:
| Tracking # | Status | Scenario |
|---|---|---|
PKG-001 |
OUT_FOR_DELIVERY | Normal delivery in progress |
PKG-002 |
DELIVERY_EXCEPTION | Address not found, buzzer issue |
PKG-003 |
HELD_AT_FACILITY | Max attempts reached, awaiting pickup |
PKG-004 |
PENDING_ADDRESS_CORRECTION | Invalid ZIP code |
Two drivers are also pre-loaded: DRV-101 (Route A) and DRV-102 (Route B).
No npm install required — the server uses only Node.js built-ins.
node server.js
# Server runs on http://localhost:3333
Or use the included launcher which starts the server and an ngrok tunnel together:
bash launch.command
The launcher prints your public ngrok URL and the Salesforce connection settings automatically.
Any changes to server.js can be redeployed with:
railway up
Make sure you have the Railway CLI installed and are logged in (railway login).
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"parcel-mcp-server": {
"command": "npx",
"args": []
}
}
}