Skip to main content
Glama

EasyPost MCP by usefulapi

Buy a shipping label

easypost_buy_shipment
Destructive

PURCHASE a shipping label for a shipment at a chosen rate. WARNING: this CHARGES the EasyPost account balance and is irreversible except by requesting a refund (easypost_refund_shipment). Pick a rate_id from the rates returned by easypost_create_shipment or easypost_get_shipment. API: POST /shipments/{id}/buy (body { rate: { id }, insurance? }).

Input Schema

NameRequiredDescriptionDefault
rate_idYesRate id to purchase (from create_shipment / get_shipment rates).
insuranceNoDollar amount to insure the shipment for, e.g. "249.99".
shipment_idYesShipment id to buy, e.g. shp_...

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and destructiveHint=true; the description goes further by disclosing real financial cost (account balance charge), irreversibility, and the remediation route via refund. It also pins the underlying endpoint and body shape, which annotations cannot convey.

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 tight sentences, front-loaded with the action and immediately followed by the warning; every clause carries information (cost, irreversibility, escape hatch, rate source, API endpoint). Nothing is padding.

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

Completeness4/5

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

With no output schema the description would ideally say what a successful purchase returns (label URL/format, tracking code), since that is the artifact the caller needs next. Everything else an agent needs to call it correctly — cost, prerequisites, alternatives, params — is present.

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 coverage is 100% and the rate_id description already says where the id comes from, so the description's 'pick a rate_id from...' largely restates the schema. It adds little about the string format of insurance or shipment_id beyond what the schema notes ('shp_...', '"249.99"'). Baseline 3 applies.

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?

Specific verb ('PURCHASE a shipping label') plus resource (shipment/rate) and the exact API operation, which cleanly separates it from easypost_create_shipment (which only produces rates) and easypost_refund_shipment (which reverses this). An agent can pick it out of the sibling list without opening a schema.

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

Usage Guidelines5/5

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

It states the precondition (a rate_id must come from easypost_create_shipment or easypost_get_shipment), the consequence (charges the account balance, irreversible), and the alternative path for reversal (easypost_refund_shipment). That is an explicit when/when-not plus named siblings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.