Skip to main content
Glama
ploughran

Parcel MCP Server

by ploughran

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.

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

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.

Tools

Tool

Description

list_drivers

List all active drivers with IDs, names, routes, and package counts — use this first to look up a driver by name

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

Mock Data

Ten packages across four driver routes cover all major delivery scenarios:

Tracking #

Status

Recipient

Driver

1Z999AA10123456784

OUT_FOR_DELIVERY

Jane Smith, Denver CO

DRV-101 Carlos Rivera

1Z999AA10234567895

DELIVERY_EXCEPTION

Bob Johnson, Denver CO

DRV-101 Carlos Rivera

1Z999AA10567890128

DELIVERED

Susan Park, Denver CO

DRV-101 Carlos Rivera

1Z999AA10345678906

HELD_AT_FACILITY

Maria Garcia, Aurora CO

DRV-102 Priya Patel

1Z999AA10456789017

PENDING_ADDRESS_CORRECTION

Tom Lee, Denver CO

DRV-102 Priya Patel

1Z999AA10678901239

DELIVERED

David Kim, Aurora CO

DRV-102 Priya Patel

1Z999AA10789012340

OUT_FOR_DELIVERY

Rachel Torres, Denver CO

DRV-103 Marcus Webb

1Z999AA10890123451

DELIVERY_EXCEPTION

Kevin Nguyen, Denver CO

DRV-103 Marcus Webb

1Z999AA10901234562

IN_TRANSIT

Amanda Foster, Denver CO

DRV-104 Lisa Chen

1Z999AA11012345673

REDELIVERY_SCHEDULED

Chris Mendoza, Denver CO

DRV-104 Lisa Chen

Four drivers are pre-loaded:

Driver ID

Name

Route

Packages

DRV-101

Carlos Rivera

ROUTE-A

3

DRV-102

Priya Patel

ROUTE-B

3

DRV-103

Marcus Webb

ROUTE-C

2

DRV-104

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: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.

Redeploying to Railway

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).

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ploughran/parcel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server