list_services
List all APC Overnight delivery services including friendly key, label, and ProductCode to find available services for your account and routing.
Instructions
List every APC Overnight delivery service with friendly key, label and ProductCode. Service availability depends on your APC account and routing — confirm with your depot before relying on an unusual service.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.js:321-419 (handler)The 'list_services' tool handler: registered via server.tool() with schema (no params) and inline async function that returns the hardcoded list of APC delivery services with friendly keys, labels, and ProductCodes.
server.tool( 'list_services', 'List every APC Overnight delivery service with friendly key, label and ProductCode. Service availability depends on your APC account and routing — confirm with your depot before relying on an unusual service.', {}, async () => ({ content: [{ type: 'text', text: JSON.stringify({ carrier: 'APC Overnight', services: [ // Weekday parcel { key: 'next-day', label: 'Next Day Parcel by 16:00', code: 'ND16' }, { key: 'next-day-1200', label: 'Next Day Parcel by 12:00', code: 'ND12' }, { key: 'next-day-1000', label: 'Next Day Parcel by 10:00', code: 'ND10' }, { key: 'next-day-0900', label: 'Next Day Parcel by 09:00', code: 'ND09' }, { key: 'two-five-day', label: '2-5 Day Parcel (economy)', code: 'TDAY' }, // Weekday lightweight { key: 'next-day-light', label: 'Next Day Lightweight by 16:00', code: 'LW16' }, { key: 'next-day-light-1200', label: 'Next Day Lightweight by 12:00', code: 'LW12' }, { key: 'next-day-light-1000', label: 'Next Day Lightweight by 10:00', code: 'LW10' }, { key: 'next-day-light-0900', label: 'Next Day Lightweight by 09:00', code: 'LW09' }, { key: 'two-five-day-light', label: '2-5 Day Lightweight', code: 'TDLW' }, // Weekday courier pack (pre-printed, up to 5kg) { key: 'courier-pack', label: 'Next Day Courier Pack by 16:00', code: 'CP16' }, { key: 'courier-pack-1200', label: 'Next Day Courier Pack by 12:00', code: 'CP12' }, { key: 'courier-pack-1000', label: 'Next Day Courier Pack by 10:00', code: 'CP10' }, { key: 'courier-pack-0900', label: 'Next Day Courier Pack by 09:00', code: 'CP09' }, { key: 'two-five-day-courier-pack', label: '2-5 Day Courier Pack', code: 'TDCP' }, // Weekday mail pack (pre-printed, up to 1kg) { key: 'mail-pack', label: 'Next Day Mail Pack by 16:00', code: 'MP16' }, { key: 'mail-pack-1200', label: 'Next Day Mail Pack by 12:00', code: 'MP12' }, { key: 'mail-pack-1000', label: 'Next Day Mail Pack by 10:00', code: 'MP10' }, { key: 'mail-pack-0900', label: 'Next Day Mail Pack by 09:00', code: 'MP09' }, { key: 'two-five-day-mail-pack', label: '2-5 Day Mail Pack', code: 'TDMP' }, // Weekday liquid { key: 'liquid', label: 'Next Day Liquid Product by 16:00', code: 'LP16' }, { key: 'liquid-1200', label: 'Next Day Liquid Product by 12:00', code: 'LP12' }, { key: 'liquid-1000', label: 'Next Day Liquid Product by 10:00', code: 'LP10' }, { key: 'liquid-0900', label: 'Next Day Liquid Product by 09:00', code: 'LP09' }, { key: 'two-five-day-liquid', label: '2-5 Day Liquid Product', code: 'TDLP' }, // Weekday limited quantity (DG under LQ exemption) { key: 'limited-quantity', label: 'Next Day Limited Quantity by 16:00', code: 'LQ16' }, { key: 'limited-quantity-1200', label: 'Next Day Limited Quantity by 12:00', code: 'LQ12' }, { key: 'limited-quantity-1000', label: 'Next Day Limited Quantity by 10:00', code: 'LQ10' }, { key: 'limited-quantity-0900', label: 'Next Day Limited Quantity by 09:00', code: 'LQ09' }, // Weekday non-conveyable { key: 'non-conveyable', label: 'Next Day Non-Conveyable by 16:00', code: 'NC16' }, { key: 'non-conveyable-1200', label: 'Next Day Non-Conveyable by 12:00', code: 'NC12' }, { key: 'non-conveyable-1000', label: 'Next Day Non-Conveyable by 10:00', code: 'NC10' }, { key: 'non-conveyable-0900', label: 'Next Day Non-Conveyable by 09:00', code: 'NC09' }, { key: 'two-five-day-non-conveyable', label: '2-5 Day Non-Conveyable', code: 'TDNC' }, // Weekday excess { key: 'excess', label: 'Next Day Excess Parcel by 16:00', code: 'XS16' }, { key: 'excess-1200', label: 'Next Day Excess Parcel by 12:00', code: 'XS12' }, { key: 'excess-1000', label: 'Next Day Excess Parcel by 10:00', code: 'XS10' }, { key: 'excess-0900', label: 'Next Day Excess Parcel by 09:00', code: 'XS09' }, // Saturday parcel { key: 'saturday-1200', label: 'Saturday Parcel by 12:00', code: 'NS12' }, { key: 'saturday-1000', label: 'Saturday Parcel by 10:00', code: 'NS10' }, { key: 'saturday-0900', label: 'Saturday Parcel by 09:00', code: 'NS09' }, // Saturday lightweight { key: 'saturday-light-1200', label: 'Saturday Lightweight by 12:00', code: 'LS12' }, { key: 'saturday-light-1000', label: 'Saturday Lightweight by 10:00', code: 'LS10' }, { key: 'saturday-light-0900', label: 'Saturday Lightweight by 09:00', code: 'LS09' }, // Saturday courier pack { key: 'saturday-courier-pack-1200', label: 'Saturday Courier Pack by 12:00', code: 'CS12' }, { key: 'saturday-courier-pack-1000', label: 'Saturday Courier Pack by 10:00', code: 'CS10' }, { key: 'saturday-courier-pack-0900', label: 'Saturday Courier Pack by 09:00', code: 'CS09' }, // Saturday mail pack { key: 'saturday-mail-pack-1200', label: 'Saturday Mail Pack by 12:00', code: 'MS12' }, { key: 'saturday-mail-pack-1000', label: 'Saturday Mail Pack by 10:00', code: 'MS10' }, { key: 'saturday-mail-pack-0900', label: 'Saturday Mail Pack by 09:00', code: 'MS09' }, // Saturday liquid { key: 'saturday-liquid-1200', label: 'Saturday Liquid Product by 12:00', code: 'SL12' }, { key: 'saturday-liquid-1000', label: 'Saturday Liquid Product by 10:00', code: 'SL10' }, { key: 'saturday-liquid-0900', label: 'Saturday Liquid Product by 09:00', code: 'SL09' }, // Saturday limited quantity { key: 'saturday-limited-quantity-1200', label: 'Saturday Limited Quantity by 12:00', code: 'SQ12' }, { key: 'saturday-limited-quantity-1000', label: 'Saturday Limited Quantity by 10:00', code: 'SQ10' }, { key: 'saturday-limited-quantity-0900', label: 'Saturday Limited Quantity by 09:00', code: 'SQ09' }, // Saturday non-conveyable { key: 'saturday-non-conveyable-1200', label: 'Saturday Non-Conveyable by 12:00', code: 'SN12' }, { key: 'saturday-non-conveyable-1000', label: 'Saturday Non-Conveyable by 10:00', code: 'SN10' }, { key: 'saturday-non-conveyable-0900', label: 'Saturday Non-Conveyable by 09:00', code: 'SN09' }, // Saturday excess { key: 'saturday-excess-1200', label: 'Saturday Excess Parcel by 12:00', code: 'SX12' }, { key: 'saturday-excess-1000', label: 'Saturday Excess Parcel by 10:00', code: 'SX10' }, { key: 'saturday-excess-0900', label: 'Saturday Excess Parcel by 09:00', code: 'SX09' }, // Ireland road service { key: 'ireland-road', label: '2-5 Day Road Service to Ireland', code: 'ROAD' }, { key: 'ireland-road-return', label: '2-5 Day Road Service from Ireland', code: 'RD16' }, // 2nd class mail (via Whistl) { key: 'second-class-mail', label: '2nd Class Mail (Whistl)', code: 'POST' }, ], note: 'Pass either the friendly key (e.g. "next-day") or the raw ProductCode (e.g. "ND16") to book_shipment. Service availability depends on your APC contract and destination — confirm with your depot.', }, null, 2), }], }) ); - src/index.js:321-419 (registration)The 'list_services' tool is registered with the MCP server via server.tool('list_services', ...) at line 321-419.
server.tool( 'list_services', 'List every APC Overnight delivery service with friendly key, label and ProductCode. Service availability depends on your APC account and routing — confirm with your depot before relying on an unusual service.', {}, async () => ({ content: [{ type: 'text', text: JSON.stringify({ carrier: 'APC Overnight', services: [ // Weekday parcel { key: 'next-day', label: 'Next Day Parcel by 16:00', code: 'ND16' }, { key: 'next-day-1200', label: 'Next Day Parcel by 12:00', code: 'ND12' }, { key: 'next-day-1000', label: 'Next Day Parcel by 10:00', code: 'ND10' }, { key: 'next-day-0900', label: 'Next Day Parcel by 09:00', code: 'ND09' }, { key: 'two-five-day', label: '2-5 Day Parcel (economy)', code: 'TDAY' }, // Weekday lightweight { key: 'next-day-light', label: 'Next Day Lightweight by 16:00', code: 'LW16' }, { key: 'next-day-light-1200', label: 'Next Day Lightweight by 12:00', code: 'LW12' }, { key: 'next-day-light-1000', label: 'Next Day Lightweight by 10:00', code: 'LW10' }, { key: 'next-day-light-0900', label: 'Next Day Lightweight by 09:00', code: 'LW09' }, { key: 'two-five-day-light', label: '2-5 Day Lightweight', code: 'TDLW' }, // Weekday courier pack (pre-printed, up to 5kg) { key: 'courier-pack', label: 'Next Day Courier Pack by 16:00', code: 'CP16' }, { key: 'courier-pack-1200', label: 'Next Day Courier Pack by 12:00', code: 'CP12' }, { key: 'courier-pack-1000', label: 'Next Day Courier Pack by 10:00', code: 'CP10' }, { key: 'courier-pack-0900', label: 'Next Day Courier Pack by 09:00', code: 'CP09' }, { key: 'two-five-day-courier-pack', label: '2-5 Day Courier Pack', code: 'TDCP' }, // Weekday mail pack (pre-printed, up to 1kg) { key: 'mail-pack', label: 'Next Day Mail Pack by 16:00', code: 'MP16' }, { key: 'mail-pack-1200', label: 'Next Day Mail Pack by 12:00', code: 'MP12' }, { key: 'mail-pack-1000', label: 'Next Day Mail Pack by 10:00', code: 'MP10' }, { key: 'mail-pack-0900', label: 'Next Day Mail Pack by 09:00', code: 'MP09' }, { key: 'two-five-day-mail-pack', label: '2-5 Day Mail Pack', code: 'TDMP' }, // Weekday liquid { key: 'liquid', label: 'Next Day Liquid Product by 16:00', code: 'LP16' }, { key: 'liquid-1200', label: 'Next Day Liquid Product by 12:00', code: 'LP12' }, { key: 'liquid-1000', label: 'Next Day Liquid Product by 10:00', code: 'LP10' }, { key: 'liquid-0900', label: 'Next Day Liquid Product by 09:00', code: 'LP09' }, { key: 'two-five-day-liquid', label: '2-5 Day Liquid Product', code: 'TDLP' }, // Weekday limited quantity (DG under LQ exemption) { key: 'limited-quantity', label: 'Next Day Limited Quantity by 16:00', code: 'LQ16' }, { key: 'limited-quantity-1200', label: 'Next Day Limited Quantity by 12:00', code: 'LQ12' }, { key: 'limited-quantity-1000', label: 'Next Day Limited Quantity by 10:00', code: 'LQ10' }, { key: 'limited-quantity-0900', label: 'Next Day Limited Quantity by 09:00', code: 'LQ09' }, // Weekday non-conveyable { key: 'non-conveyable', label: 'Next Day Non-Conveyable by 16:00', code: 'NC16' }, { key: 'non-conveyable-1200', label: 'Next Day Non-Conveyable by 12:00', code: 'NC12' }, { key: 'non-conveyable-1000', label: 'Next Day Non-Conveyable by 10:00', code: 'NC10' }, { key: 'non-conveyable-0900', label: 'Next Day Non-Conveyable by 09:00', code: 'NC09' }, { key: 'two-five-day-non-conveyable', label: '2-5 Day Non-Conveyable', code: 'TDNC' }, // Weekday excess { key: 'excess', label: 'Next Day Excess Parcel by 16:00', code: 'XS16' }, { key: 'excess-1200', label: 'Next Day Excess Parcel by 12:00', code: 'XS12' }, { key: 'excess-1000', label: 'Next Day Excess Parcel by 10:00', code: 'XS10' }, { key: 'excess-0900', label: 'Next Day Excess Parcel by 09:00', code: 'XS09' }, // Saturday parcel { key: 'saturday-1200', label: 'Saturday Parcel by 12:00', code: 'NS12' }, { key: 'saturday-1000', label: 'Saturday Parcel by 10:00', code: 'NS10' }, { key: 'saturday-0900', label: 'Saturday Parcel by 09:00', code: 'NS09' }, // Saturday lightweight { key: 'saturday-light-1200', label: 'Saturday Lightweight by 12:00', code: 'LS12' }, { key: 'saturday-light-1000', label: 'Saturday Lightweight by 10:00', code: 'LS10' }, { key: 'saturday-light-0900', label: 'Saturday Lightweight by 09:00', code: 'LS09' }, // Saturday courier pack { key: 'saturday-courier-pack-1200', label: 'Saturday Courier Pack by 12:00', code: 'CS12' }, { key: 'saturday-courier-pack-1000', label: 'Saturday Courier Pack by 10:00', code: 'CS10' }, { key: 'saturday-courier-pack-0900', label: 'Saturday Courier Pack by 09:00', code: 'CS09' }, // Saturday mail pack { key: 'saturday-mail-pack-1200', label: 'Saturday Mail Pack by 12:00', code: 'MS12' }, { key: 'saturday-mail-pack-1000', label: 'Saturday Mail Pack by 10:00', code: 'MS10' }, { key: 'saturday-mail-pack-0900', label: 'Saturday Mail Pack by 09:00', code: 'MS09' }, // Saturday liquid { key: 'saturday-liquid-1200', label: 'Saturday Liquid Product by 12:00', code: 'SL12' }, { key: 'saturday-liquid-1000', label: 'Saturday Liquid Product by 10:00', code: 'SL10' }, { key: 'saturday-liquid-0900', label: 'Saturday Liquid Product by 09:00', code: 'SL09' }, // Saturday limited quantity { key: 'saturday-limited-quantity-1200', label: 'Saturday Limited Quantity by 12:00', code: 'SQ12' }, { key: 'saturday-limited-quantity-1000', label: 'Saturday Limited Quantity by 10:00', code: 'SQ10' }, { key: 'saturday-limited-quantity-0900', label: 'Saturday Limited Quantity by 09:00', code: 'SQ09' }, // Saturday non-conveyable { key: 'saturday-non-conveyable-1200', label: 'Saturday Non-Conveyable by 12:00', code: 'SN12' }, { key: 'saturday-non-conveyable-1000', label: 'Saturday Non-Conveyable by 10:00', code: 'SN10' }, { key: 'saturday-non-conveyable-0900', label: 'Saturday Non-Conveyable by 09:00', code: 'SN09' }, // Saturday excess { key: 'saturday-excess-1200', label: 'Saturday Excess Parcel by 12:00', code: 'SX12' }, { key: 'saturday-excess-1000', label: 'Saturday Excess Parcel by 10:00', code: 'SX10' }, { key: 'saturday-excess-0900', label: 'Saturday Excess Parcel by 09:00', code: 'SX09' }, // Ireland road service { key: 'ireland-road', label: '2-5 Day Road Service to Ireland', code: 'ROAD' }, { key: 'ireland-road-return', label: '2-5 Day Road Service from Ireland', code: 'RD16' }, // 2nd class mail (via Whistl) { key: 'second-class-mail', label: '2nd Class Mail (Whistl)', code: 'POST' }, ], note: 'Pass either the friendly key (e.g. "next-day") or the raw ProductCode (e.g. "ND16") to book_shipment. Service availability depends on your APC contract and destination — confirm with your depot.', }, null, 2), }], }) ); - src/index.js:324-324 (schema)Empty schema for list_services — no parameters required.
{},