# catrinmdonnelly/royalmail-mcp [Health: Active]

**Category:** 📦 Delivery  
**Repository:** https://github.com/catrinmdonnelly/royalmail-mcp  
**GitHub Stars:** 3  
**npm Downloads (last month):** 33  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/catrinmdonnelly-royalmail-mcp

## Description
Book, label, track and cancel Royal Mail and Parcelforce shipments. 33 UK and international services via friendly keys or raw Service Register codes. npx royalmail-mcp.

## Tools
Capabilities this server exposes over MCP:

- **book_order** — Book a Royal Mail shipment via Click & Drop. Returns an orderIdentifier used to retrieve the label.
- **get_label** — Get the shipping label for a Royal Mail Click & Drop order and save it to disk. Works for any order you have previously booked — pass its orderIdentifier. Default save location is ~/Downloads/parcel-toolkit/, overridable via the PARCEL_TOOLKIT_LABELS_DIR env var.
- **book_batch_and_label** — Book multiple Royal Mail orders at once and return a single merged PDF containing every label, ready to print. Use this when the user pastes a list of orders/addresses. All orders share the same service, package format and sender. Saves the merged PDF to ~/Downloads/parcel-toolkit/ (overridable via PARCEL_TOOLKIT_LABELS_DIR).
- **track_order** — Get the current status and tracking details for a Royal Mail Click & Drop order.
- **cancel_order** — Cancel a Royal Mail Click & Drop order. Must be done before the order is manifested/despatched.
- **list_services** — List supported Royal Mail and Parcelforce services with their Service Register codes. Availability depends on your Click & Drop account.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "royalmail-mcp": {
    "command": "npx",
    "args": ["-y","royalmail-mcp"],
    "env": {
      "RM_API_KEY": "",
      "RM_BASE_URL": "",
      "PARCEL_TOOLKIT_LABELS_DIR": ""
    }
  }
}
```

**Requires environment variables:** `RM_API_KEY`, `RM_BASE_URL`, `PARCEL_TOOLKIT_LABELS_DIR` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What catrinmdonnelly/royalmail-mcp MCP server does

catrinmdonnelly/royalmail-mcp MCP server exposes Royal Mail and Parcelforce shipping operations through the Model Context Protocol. It communicates with the Royal Mail Click & Drop API, allowing an MCP-compatible AI client to create shipments, obtain tracking information, cancel eligible orders, and inspect available services.

The server supports 33 services through friendly identifiers and raw Service Register codes. Examples include 1st Class, Signed For, Tracked 24, Tracked 48, Special Delivery, Parcelforce express24 and express48, and International Tracked. The services available to a particular account depend on the shipping services enabled in Click & Drop.

## How it works

The AI client calls the server's tools over stdio. A booking request creates a Click & Drop order and returns an `orderIdentifier`, which can then be supplied to label, tracking, or cancellation operations. Multiple orders can be submitted together when they use the same service, package format, and sender; the server returns a path to one merged PDF containing the resulting labels.

API requests go to `https://api.parcel.royalmail.com/api/v1` by default. The server runs on the local machine, while shipping data provided to the AI may also be sent to the configured AI provider. Booking requests and other shipment operations are made against Click & Drop using the supplied API key.

## Setup and configuration

Install the package globally with `npm install -g royalmail-mcp`, or run it without a global installation using `npx royalmail-mcp`. Obtain an API key from Click & Drop under Settings and API credentials, then provide it as `RM_API_KEY`. `RM_BASE_URL` can be set when a different API base URL is needed; the documented default is the Royal Mail API endpoint.

The variables can be placed in a `.env` file beside the server or passed through the MCP client's configuration. The README includes stdio configurations for Claude Desktop and Cursor. The package requires Node.js 18 or newer.

Labels are written to `~/Downloads/parcel-toolkit/` by default. Set `PARCEL_TOOLKIT_LABELS_DIR` to change that directory. Keep the API key private: it grants full access to the associated Click & Drop account and should not be committed to source control.

## Tools and capabilities

- `book_order` creates a Click & Drop shipment and returns its identifier.
- `get_label` retrieves a previously booked order's PDF label and saves it locally.
- `book_batch_and_label` books multiple compatible orders and produces one merged label PDF.
- `track_order` returns current status, tracking number, and despatch date.
- `cancel_order` cancels an order before it is manifested or despatched.
- `list_services` returns supported Royal Mail and Parcelforce services with their codes.

## Limitations and notes

catrinmdonnelly/royalmail-mcp MCP server's label retrieval requires a Royal Mail Online Business Account. Pay-as-you-go Click & Drop accounts can still use booking, tracking, and cancellation, but `get_label` returns a feature-unavailable error. OBA users must also enable automatic postage application for orders imported through the API; otherwise orders remain drafts and labels cannot be generated.

The package currently supports stdio transport. The documented compatible clients are Claude Desktop, Cursor, Windsurf, Claude Code, and Zed; remote-only clients that require HTTP transport are not supported by the included setup. The software is provided under the MIT licence, and businesses remain responsible for their own UK GDPR obligations when processing customer shipping data.

_Full upstream README: https://allmcps.com/mcp/catrinmdonnelly-royalmail-mcp/readme_

