Parcel MCP Server
Provides tools for managing parcel and package operations, designed for use with Salesforce Agentforce.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Parcel MCP ServerTrack package PKG-001"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Parcel MCP Server
A mock MCP (Model Context Protocol) server that simulates small parcel and package operations. Designed for use with AI agents, it exposes 12 tools covering the common actions a driver or package processing centre would need to remedy recipient issues.
Live Server
Hosted on Railway — always on, no setup required.
Health check | |
MCP endpoint | |
OAuth token URL | https://parcel-mcp-server-production.up.railway.app/oauth/token |
Salesforce Agentforce Registry Connection
To register this server in the Salesforce Agentforce Registry, use the following settings:
Field | Value |
MCP Server Name | Parcel MCP Server |
Server URL |
|
Authentication Method | OAuth 2.0 |
Identity Provider URL |
|
Scope |
|
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.
Tools
Tool | Description |
| List all active drivers with IDs, names, routes, and package counts — use this first to look up a driver by name |
| Look up status, location history, and delivery details by tracking number |
| List all packages assigned to a driver with status and recipient info |
| Log delivery attempts, exceptions, or completions |
| Submit a corrected address for an invalid or undeliverable package |
| Book a redelivery with preferred date and time window |
| Hold a package at the nearest facility for recipient pickup |
| Mark a package for return with a reason code |
| Update phone or email for delivery notifications |
| File a damage claim with severity level |
| Get hours, address, and accessibility info for the holding facility |
| Send SMS or email notification to the recipient |
| Get a driver's route stats — delivered, pending, exceptions |
Mock Data
Ten packages across four driver routes cover all major delivery scenarios:
Tracking # | Status | Recipient | Driver |
| OUT_FOR_DELIVERY | Jane Smith, Denver CO | DRV-101 Carlos Rivera |
| DELIVERY_EXCEPTION | Bob Johnson, Denver CO | DRV-101 Carlos Rivera |
| DELIVERED | Susan Park, Denver CO | DRV-101 Carlos Rivera |
| HELD_AT_FACILITY | Maria Garcia, Aurora CO | DRV-102 Priya Patel |
| PENDING_ADDRESS_CORRECTION | Tom Lee, Denver CO | DRV-102 Priya Patel |
| DELIVERED | David Kim, Aurora CO | DRV-102 Priya Patel |
| OUT_FOR_DELIVERY | Rachel Torres, Denver CO | DRV-103 Marcus Webb |
| DELIVERY_EXCEPTION | Kevin Nguyen, Denver CO | DRV-103 Marcus Webb |
| IN_TRANSIT | Amanda Foster, Denver CO | DRV-104 Lisa Chen |
| REDELIVERY_SCHEDULED | Chris Mendoza, Denver CO | DRV-104 Lisa Chen |
Four drivers are pre-loaded:
Driver ID | Name | Route | Packages |
| Carlos Rivera | ROUTE-A | 3 |
| Priya Patel | ROUTE-B | 3 |
| Marcus Webb | ROUTE-C | 2 |
| Lisa Chen | ROUTE-D | 2 |
Use list_drivers to look up driver IDs by name before calling driver-specific tools.
Architecture
The diagram below shows the full request flow from Agentforce through the Salesforce Apex invocable action to this MCP server.
┌─────────────────┐ invoke action ┌──────────────────────┐
│ Agentforce │ ─────────────────────► │ TrackParcelAction │
│ Agent Studio │ ◄───────────────────── │ (@InvocableMethod) │
└─────────────────┘ response └──────────┬───────────┘
│
POST /oauth/token │ POST /mcp
┌─────────────────────────────┤
▼ ▼
┌──────────────────┐ ┌───────────────────────┐
│ OAuth Server │ │ Parcel MCP Server │
│ client_creds JWT │ │ JSON-RPC 2.0 │
└──────────────────┘ │ tools/call │
└───────────┬───────────┘
│
┌───────────▼───────────┐
│ Tool Handler │
│ track_package etc. │
└───────────────────────┘An interactive HTML visualization (mcp-visualization.html) is included in the repo — open it in a browser to animate the full request/response flow, explore all 12 tools, and inspect parsed and raw JSON-RPC responses.
Running Locally
No npm install required — the server uses only Node.js built-ins.
node server.js
# Server runs on http://localhost:3333Or use the included launcher which starts the server and an ngrok tunnel together:
bash launch.commandThe launcher prints your public ngrok URL and the Salesforce connection settings automatically.
Redeploying to Railway
Any changes to server.js can be redeployed with:
railway upMake sure you have the Railway CLI installed and are logged in (railway login).
Related MCP Connectors
MCP server for ua_postal_tracking_mcp
MCP Server for an Agent Task Marketplace
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow