Sponsored by Deepsite.site

APC Overnight MCP

Created By
catrinmdonnelly14 days ago
A production-ready MCP server that connects Claude, Cursor, Windsurf and any MCP-compatible AI directly to APC Overnight's New Horizon API v3. No middleware, no per-parcel fees, no data leaving your infrastructure. Five tools cover the full booking lifecycle: book_shipment creates a consignment and returns a 22-digit waybill; get_label retrieves a PDF, ZPL or PNG label with automatic retry while APC generates it; track_shipment returns status and event history; cancel_shipment removes a booking before manifest; list_services enumerates the 60+ APC ProductCodes available from weekday next-day by 09:00 through to Saturday services, Mail Pack, Courier Pack, Liquid, Limited Quantity, Non-Conveyable, Excess Parcel, Ireland road and 2nd class mail. Multi-piece consignments handled automatically. Live-verified against a real APC business account. Requires an APC business account with API access enabled by your depot.
Overview

apc-mcp

npm version licence node CI

Book, label, track and cancel APC Overnight parcels from any MCP-compatible AI such as Claude, Cursor, or Windsurf.

Built against the APC Overnight New Horizon API v3 (Integration Guide Edition 2.0.5).

What it does

Exposes six tools to any AI that speaks MCP:

ToolWhat it does
book_shipmentCreate a consignment. Returns the 22-digit WayBill.
book_batch_and_labelBook many shipments at once and get back a single merged PDF of every label, ready to print.
get_labelSave a shipping label to disk. PDF, ZPL (thermal printers) or PNG.
track_shipmentCurrent status and full tracking history.
cancel_shipmentCancel a consignment before it's manifested.
list_servicesEvery APC service this MCP supports, with ProductCodes.

Under the hood it talks to https://apc.hypaship.com/api/3.0 using your APC account credentials.

Example prompts

Once the MCP is installed in your AI client, you can say things like:

"Book a next-day collection from our warehouse to Alex Taylor, 45 High Street, Manchester M1 1AA, 15 kg, 1 parcel, reference INV-4412."

"Book a Saturday 12:00 delivery to this address, then give me the label as a PDF."

"Track all APC consignments from this week. Which ones haven't been delivered yet?"

"Print labels for these five waybills as ZPL so I can send them to the thermal printer."

"Here are ten orders — book them all on APC next-day and give me one PDF I can print." (AI calls book_batch_and_label and returns the path to a merged PDF.)

"Cancel waybill 2018041910099660000599. The customer cancelled the order."

"What's the cheapest APC service that arrives before noon tomorrow?" (AI calls list_services and reasons)

The AI handles address parsing, service selection and error recovery. You handle the business decisions.

Workflow ideas for businesses

Plugged into any AI agent, this MCP can automate real shipping operations:

  • Daily order fulfilment. Every morning, your AI reads new orders from your ecommerce platform, books each one with APC at the right service level, and posts tracking numbers back to the customer.
  • Thermal-printer workflows. Get labels as ZPL and pipe them straight to Zebra, Rollo or similar printers without any PDF conversion step.
  • Same-day cut-off triage. Before the APC cut-off, your AI checks which orders still qualify for next-day-by-10am versus standard next-day, and books the fastest available service for each.
  • Bulk manifests. Hand your AI a spreadsheet of hundreds of consignments. It books them all, groups labels into one document per depot, and flags any that failed validation.
  • Multi-carrier picking. Installed alongside royalmail-mcp, your AI compares APC and Royal Mail at booking time and picks the cheapest or fastest option per destination.
  • Customer service triage. When a customer asks where their parcel is, your AI calls track_shipment, summarises the latest scan in plain English, and drafts a reply.

Compatibility

Works with any MCP client that supports stdio transport:

  • Claude Desktop
  • Cursor
  • Windsurf
  • Claude Code
  • Zed

ChatGPT, Smithery and other remote-only MCP clients need an HTTP transport, which isn't included yet. If that matters to you, open an issue so I can prioritise it.

Install

npm install -g apc-mcp

Or run without installing:

npx apc-mcp

Configuration

Your APC credentials are the same ones you use to log into the APC portal:

APC_USERNAME=your-apc-account-email@example.com
APC_PASSWORD=your-apc-account-password
APC_BASE_URL=https://apc.hypaship.com/api/3.0

Either in a .env file next to the server, or via your MCP client's config (see below).

Use https://apc-training.hypaship.com/api/3.0 while testing. APC provides a training endpoint that won't charge your account or send real parcels.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "apc": {
      "command": "npx",
      "args": ["-y", "apc-mcp"],
      "env": {
        "APC_USERNAME": "your-email@example.com",
        "APC_PASSWORD": "your-password"
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "apc": {
      "command": "npx",
      "args": ["-y", "apc-mcp"],
      "env": {
        "APC_USERNAME": "your-email@example.com",
        "APC_PASSWORD": "your-password"
      }
    }
  }
}

Supported services

A selection of the most common codes — run list_services for the full catalogue of 60+ ProductCodes covering every APC product type.

KeyAPC serviceProductCode
next-dayNext Day Parcel by 16:00 (standard)ND16
next-day-1200Next Day Parcel by 12:00ND12
next-day-1000Next Day Parcel by 10:00ND10
next-day-0900Next Day Parcel by 09:00ND09
two-five-day2-5 Day Parcel (economy)TDAY
saturday-1200Saturday Parcel by 12:00NS12
next-day-lightNext Day Lightweight by 16:00LW16
courier-packNext Day Courier Pack by 16:00CP16
mail-packNext Day Mail Pack by 16:00MP16
liquidNext Day Liquid Product by 16:00LP16
limited-quantityNext Day Limited Quantity by 16:00LQ16
non-conveyableNext Day Non-Conveyable by 16:00NC16
excessNext Day Excess Parcel by 16:00XS16
ireland-road2-5 Day Road Service to IrelandROAD
second-class-mail2nd Class Mail (Whistl)POST

Plus 45 more, including all 09:00 / 10:00 / 12:00 variants of each product type, every Saturday variant, and 2-5 day economy versions of lightweight, courier-pack, mail-pack, liquid and non-conveyable.

You can pass either the friendly key (next-day) or the raw ProductCode (ND16). Both work. Which services your account can use depends on your APC contract — confirm with your depot for unusual codes.

Notes

  • get_label retries automatically for up to ~15 seconds while APC generates the label, so you normally don't need to pause between book_shipment and get_label.
  • cancel_shipment only works before the parcel is manifested. Once it's been collected by APC, you have to cancel via the APC portal.
  • Label formats: PDF for standard printers, ZPL for Zebra or Rollo thermal printers, PNG for on-screen display.

Account-specific service availability

Not every ProductCode is enabled on every APC account. Timed services (09:00, 10:00), 2-5 day economy (TDAY) and specialised products (Liquid, Limited Quantity, Non-Conveyable) are often add-ons you have to ask your depot to enable.

If you see these responses, it's an account or routing issue — not a bug in this MCP:

  • 228 NO Services available — the requested service isn't enabled on your account for that collection/delivery postcode pair.
  • 119 ProductCode (XXXX) is not one of the possible options — that code isn't on your contract at all.

Call your APC depot or the CMS Team (01922 702587) to have extra services enabled.

Multi-piece consignments

When numberOfPieces > 1, the MCP automatically splits totalWeightKg evenly across the parcels and sends one Item entry per piece (APC requires NumberOfPieces to match the number of items). If you need different weights or dimensions per parcel, pass a full items array — the MCP will use it verbatim.

Security

Your APC username and password grant full access to your account. Treat them like a password.

  • Never commit .env to git. The .gitignore in this repo already excludes it.
  • Don't paste credentials into chat messages or shared documents.
  • Rotate them in the APC portal if ever exposed.

Privacy & data handling

This MCP runs entirely on your machine. No customer data, credentials or API traffic flows through any server owned or operated by the author.

The data path is:

  • Shipping details you give your AI assistant go to your AI provider (e.g. Anthropic, if you're using Claude) under your account.
  • Booking requests go to APC Overnight using your APC credentials.
  • Labels are saved to your local disk at ~/Downloads/parcel-toolkit/ (overridable via the PARCEL_TOOLKIT_LABELS_DIR env var).

If you're using this in a UK business, you are the data controller under UK GDPR. Practical recommendations:

  1. Use Claude Team, Claude Enterprise, or the Claude API directly — not consumer Claude.ai — so a Data Processing Agreement with Anthropic is in place. On consumer tiers, turn off "Help improve Claude" in Privacy settings at minimum.
  2. List Anthropic and APC Overnight as subprocessors in your privacy policy, the same way you would list a payment provider or email service.
  3. Avoid using this tool for special-category data (health, biometric, children's data) without additional legal review.
  4. This software is provided as-is under the MIT licence. The author is not a data processor and takes no responsibility for your compliance obligations — those sit with you as the data controller.

Contributing

Issues and pull requests are welcome at github.com/catrinmdonnelly/apc-mcp. If APC changes their API, or you hit an edge case on your account type, please open an issue with the request body you sent and the response you got (scrub credentials first).

Companion MCP

For Royal Mail Click & Drop, see royalmail-mcp.

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by APC Overnight Ltd. "APC Overnight" and "New Horizon" are trademarks of their respective owners. Use at your own risk.

Licence

MIT. See LICENSE.

Server Config

{
  "mcpServers": {
    "apc": {
      "command": "npx",
      "args": [
        "-y",
        "apc-mcp"
      ],
      "env": {
        "APC_USERNAME": "your-apc-portal-email@example.com",
        "APC_PASSWORD": "your-apc-portal-password"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Tavily Mcp
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Serper MCP ServerA Serper MCP Server
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
DeepChatYour AI Partner on Desktop
CursorThe AI Code Editor
ChatWiseThe second fastest AI chatbot™
WindsurfThe new purpose-built IDE to harness magic
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Amap Maps高德地图官方 MCP Server
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Playwright McpPlaywright MCP server