Skip to main content
Glama

UK Logistics (buy Royal Mail + more labels + tracking via Shippo)

Server Details

UK shipping labels for AI agents: buy Royal Mail Tracked and more, track and refund via Shippo.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool serves a unique purpose: create labels, track shipments, and request refunds. There is no functional overlap between them.

Naming Consistency5/5

All tool names follow a consistent imperative verb_noun pattern: create_shipment, query_tracking, refund_label.

Tool Count5/5

Three tools are perfectly scoped for a logistics server focused on purchasing, tracking, and refunding labels. The count is neither too few nor excessive.

Completeness4/5

Core workflows (create, track, refund) are covered. Missing a way to list past shipments or get rates without purchasing, but the essential operations are present.

Available Tools

3 tools
create_shipmentAInspect

Create a United Kingdom shipping label via Shippo — pass a to_address, from_address and parcel (dimensions in CENTIMETRES, weight in GRAMS by default), and the server fetches carrier rates, buys the CHEAPEST rate by default (or the carrier/service you specify), and returns the shipment_id, transaction_id, tracking_number, printable label_url and the price paid (GBP). Recommended carrier: Royal Mail Tracked 24/48 via the Shippo master account — no Royal Mail contract or merchant account needed — so an agent can print a Royal Mail label with no merchant courier account. Bring your own Shippo API token via header x-shippo-token: free TEST tokens (prefix shippo_test_…) run the full flow end-to-end at no cost (sign up free, no card, at apps.goshippo.com/join); production tokens (prefix shippo_live_…) buy real labels. The token prefix auto-selects the environment. weight is always required. Owner policy headers gate the label price before any purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNoParcel width in CENTIMETRES.
heightNoParcel height in CENTIMETRES.
lengthNoParcel length in CENTIMETRES (cm) by default. Provide length+width+height together.
to_zipYesRecipient postcode (e.g. "SW1A 1AA"). Required.
weightYesParcel weight in GRAMS (g) by default. Required. Use mass_unit to change (kg/oz/lb).
carrierNoOptional: restrict to a carrier (e.g. "Royal Mail"). Default: cheapest across all available carriers.
serviceNoOptional: restrict to a service level name or token (e.g. "Tracked 24/48"). Default: cheapest.
to_cityYesRecipient town / city.
to_nameYesRecipient full name.
from_zipYesSender postcode. Required.
to_emailNoOptional recipient email.
to_phoneNoOptional recipient phone (some carriers/services require it).
to_stateNoOptional recipient county (county is optional for United Kingdom addresses).
from_cityYesSender town / city.
from_nameYesSender full name.
mass_unitNoWeight unit: g (default), kg, oz or lb.
from_phoneNoOptional sender phone.
from_stateNoOptional sender county.
to_countryNoRecipient ISO country code. Default GB.
to_street1YesRecipient street address line 1.
to_street2NoOptional recipient street address line 2 (flat/unit).
from_countryNoSender ISO country code. Default GB.
from_street1YesSender street address line 1.
from_street2NoOptional sender street address line 2.
distance_unitNoDimension unit: cm (default), m, in or ft.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behavioral traits: it buys the cheapest rate by default, the token prefix auto-selects environment (test vs production), and owner policy headers gate label price. This goes beyond the annotations (which already indicate non-read-only, non-destructive) and provides essential operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed but well-structured, with key information front-loaded. It is slightly long but every sentence adds value (e.g., unit reminders, token prefix logic). Could be tightened, but remains effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 25 parameters and no output schema, the description lists the exact return fields (shipment_id, transaction_id, tracking_number, label_url, price) and explains the flow end-to-end, including environment switching and owner policy headers. This is comprehensive for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters. The tool description adds value by emphasizing units (CENTIMETRES, GRAMS by default), the optional carrier/service restrictions, and the environment token prefix. This supplements the schema without redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Create a United Kingdom shipping label via Shippo' and details the complete flow: passing addresses and parcel, fetching rates, buying cheapest rate, and returning specific fields. It clearly distinguishes from sibling tools (query_tracking, refund_label) which are different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong usage context: it's for UK shipping labels via Shippo, recommends Royal Mail Tracked 24/48, and explains the Shippo token setup. It does not explicitly state when not to use or list alternatives, but the guidance is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_trackingA
Read-only
Inspect

Track a United Kingdom shipment by its tracking_number (the one create_shipment returned, or any carrier tracking number) plus its carrier. Returns the current status with a plain-English hint. Status values (Shippo enum): UNKNOWN, PRE_TRANSIT (label made, not yet picked up), TRANSIT, DELIVERED, RETURNED, FAILURE. Raw carrier scan details are always included. carrier defaults to "royal_mail"; for TEST tokens use carrier="shippo" with mock numbers SHIPPO_TRANSIT / SHIPPO_DELIVERED. Safe to call anytime.

ParametersJSON Schema
NameRequiredDescriptionDefault
carrierNoCarrier token for the lookup (e.g. "royal_mail", "usps", or "shippo" for TEST mock numbers). Default "royal_mail".
tracking_numberYesThe tracking number to look up (from create_shipment or a carrier).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, openWorldHint), describes return format (status, plain-English hint, raw carrier scans), status enum values, safe to call anytime, and default carrier behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two well-structured sentences, front-loaded with main purpose and inputs, then return format and test usage. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple tool (2 params, no output schema), description covers all necessary aspects: usage, parameters, output, safe calling, and test mode. Complete and self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description adds value by clarifying tracking_number source and carrier defaults/test usage, exceeding schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Track' and resource 'shipment', specifies UK, and distinguishes from siblings (create_shipment, refund_label).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes when to use (for tracking), provides test vs production guidance with mock numbers, but does not explicitly state when not to use. However, sibling tools make alternatives clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refund_labelA
Idempotent
Inspect

Request a refund for a United Kingdom shipping label bought via create_shipment, by its transaction_id. Refund is only possible for UNUSED labels that were never scanned by the carrier; already-shipped labels cannot be refunded. Returns refund_status: QUEUED / PENDING (accepted, carrier still processing — most common), SUCCESS (money returned), or ERROR (not eligible, e.g. already scanned). Carriers can take time to move QUEUED/PENDING → SUCCESS.

ParametersJSON Schema
NameRequiredDescriptionDefault
transaction_idYesThe transaction_id returned by create_shipment (the bought label to refund).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Provides detailed behavioral context beyond annotations: possible refund_status values (QUEUED, PENDING, SUCCESS, ERROR), the meaning of each, and the time delay for carrier processing. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no filler. First sentence states purpose and input, second gives crucial condition, third explains return values and behavior. Front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter, no output schema, but with explanation of return statuses and eligibility condition, the description covers all necessary context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'transaction_id', and the description only restates that it comes from create_shipment. No additional semantic value added beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'request a refund', the resource 'United Kingdom shipping label', and ties it to 'create_shipment' and 'transaction_id'. It distinguishes itself from siblings 'create_shipment' and 'query_tracking' by the refund action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: only for UNUSED labels never scanned by the carrier, and when not: already-shipped labels cannot be refunded. Does not name an alternative for already-shipped labels, but the condition is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources