Developer Tools

EasyPost MCP Server

Connect your account, then chat with AI to run tools.

Easypost is an API that facilitates integration with multiple carriers for parcel shipment tracking, label printing, and address verification. It's primarily used by businesses to streamline their shipping operations and logistics management.

Managed
40 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for EasyPost — workflow patterns, data models, and gotchas for your AI agent.

EasyPost

EasyPost integrates with carriers for shipping, labels, tracking, and address verification.

Connect

Use a Production or Test API key from EasyPost Account Settings → API Keys (EZAK… / EZTK…). Both use the same API host (api.easypost.com/v2); the key prefix selects test vs production mode. The REST API uses that key alone — not your EasyPost dashboard email or password.

Onboarding: Test keys are free and ideal for trying rate quotes, address verify, and label flows without buying postage. Production keys (EZAK…) are required for live labels and for reading the account user profile.

Data Model

  • User (account behind the API key), Shipments (rates, labels, tracking), Addresses, Trackers, Carrier Accounts, Batches, End Shippers, Webhooks, Insurances, API Keys, Metadata Carriers, Child users (parent accounts).

Operational order

  1. Confirm the connected account with the user read.
  2. List or fetch shipments, addresses, and trackers (use resource ids from list responses for single-resource reads).
  3. Create shipments to rate; buy postage only when the user intends to print a label (billable on production keys).
  4. Use carrier metadata when interpreting service level names.

Writes and CRUD shape

EasyPost is not uniform CRUD on every object:

  • Addresses — create and verify only (no update; create a new address instead).
  • Shipments — create for rates; buy purchases the label; refund / insure are separate actions.
  • Webhooks, carrier accounts, end shippers — create + update (upsert tools) + delete where the API allows (end shippers have no delete — stop referencing the id).
  • Trackers — create + delete; list/get for status.
  • Batches — create plus actions (add/remove shipments, buy batch, label PDF, scan form).
  • Parcels — create + get by id (no list).

Mutating tools accept a data object matching the EasyPost REST body (including wrapped keys like shipment, address, webhook).

Gotchas

  • Read tools accept an optional resource id; omit it to list. Lists paginate with page_size and before_id (cursor), not limit or page numbers.
  • Production keys create billable labels when buying shipments or batches; prefer test keys (EZTK…) for experiments.
  • Linking carrier accounts requires a production key for most carriers.

Tools in this Server (40)

Easypost Batch Add Shipments

Add shipments to an existing batch (POST /batches/{id}/add_shipments).

Easypost Batch Label

Generate a consolidated label file for a purchased batch (POST /batches/{id}/label).

Easypost Batch Remove Shipments

Remove shipments from a batch (POST /batches/{id}/remove_shipments).

Easypost Batch Scan Form

Create a SCAN form manifest for a batch (POST /batches/{id}/scan_form).

Easypost Buy Batch

Enqueue purchase of all shipments in a batch (POST /batches/{id}/buy). Billable; completes asynchronously with webhook events.

Easypost Buy Pickup

Purchase a scheduled pickup (POST /pickups/{id}/buy). May charge the account.

Easypost Buy Shipment

Purchase postage for a shipment (POST /shipments/{id}/buy). Charges the connected EasyPost account and returns label and tracking. Pick rate.id from t...

Easypost Cancel Pickup

Cancel a pickup (POST /pickups/{id}/cancel).

Easypost Create Address

Create a saved or one-off address. Pass the documented POST /addresses JSON body in data. EasyPost does not support updating an address after creation...

Easypost Create Batch

Create a batch label job. Optionally include shipment ids in data. Use batch actions to add shipments, buy postage, or generate a consolidated label.

Easypost Create Insurance

Create a shipment insurance policy (POST /insurances). Amounts are USD.

Easypost Create Parcel

Create a parcel (dimensions and weight). Pass {"parcel": {…}} in data. Reuse parcel ids when creating shipments.

Easypost Create Pickup

Schedule a carrier pickup (POST /pickups). Buy the pickup in a separate step.

Easypost Create Refund

Create a refund object (POST /refunds). For label refunds on a single shipment, the refund-shipment action is often simpler.

Easypost Create Shipment

Create a shipment and retrieve rates. Does not purchase a label — use the buy-shipment action with a rate id from the response. Production keys can pr...

Easypost Create Tracker

Create a tracker for a carrier tracking number. Pass the documented POST /trackers JSON in data.

Easypost Delete Carrier Account

Remove a carrier account from the EasyPost account (DELETE /carrier_accounts/{id}).

Easypost Delete Tracker

Delete a tracker by tracker_id (DELETE /trackers/{id}).

Easypost Delete Webhook

Delete a webhook subscription by webhook_id.

Easypost Get Addresses

List verified shipping addresses or fetch one by address_id. Use ids from a list response when building shipments. Paginate lists with page_size and b...

Easypost Get API Keys

List API keys on the account or fetch metadata for one by api_key_id. Paginate lists with page_size and before_id.

Easypost Get Batches

List shipment batches or fetch one by batch_id (state and shipment counts). Paginate lists with page_size and before_id.

Easypost Get Carrier Accounts

List carrier accounts or fetch one by carrier_account_id. Paginate lists with page_size and before_id.

Easypost Get End Shippers

List end shippers (warehouse / fulfillment origins) or fetch one by end_shipper_id. Paginate lists with page_size and before_id.

Easypost Get Insurances

List shipment insurance policies or fetch one by insurance_id. Paginate lists with page_size and before_id.

Easypost Get Metadata Carriers

Return EasyPost carrier reference metadata (carrier codes, service levels, predefined packages). Use when choosing carrier and service names for ratin...

Easypost Get Parcels

Fetch a parcel by parcel_id (GET /parcels/{id}). EasyPost does not expose a parcel list endpoint.

Easypost Get Pickups

List carrier pickups or fetch one by pickup_id. Paginate lists with page_size and before_id.

Easypost Get Refunds

List refund objects or fetch one by refund_id. Paginate lists with page_size and before_id.

Easypost Get Shipments

List shipments or fetch one by shipment_id. Shipments hold from/to addresses, selected rates, postage labels, and tracking. Paginate lists with page_s...

Easypost Get Trackers

List shipment trackers, filter a list by tracking_code, or fetch one by tracker_id. Trackers expose carrier scan events and delivery status. Paginate ...

Easypost Get User

Return the EasyPost user tied to the connected API key (account id, name, email, parent/child relationship). Call this first to confirm which account ...

Easypost Get Users Children

List child users on a parent EasyPost account or fetch one by child_user_id. Paginate lists with page_size and before_id.

Easypost Get Webhooks

List webhooks or fetch one by webhook_id. Paginate lists with page_size and before_id.

Easypost Insure Shipment

Add or update shipment insurance after creation (POST /shipments/{id}/insure). Amount is USD.

Easypost Refund Shipment

Request a refund for purchased shipment postage (POST /shipments/{id}/refund). Carrier rules apply; may not succeed for all labels.

Easypost Upsert Carrier Account

Link or update a carrier account. Omit carrier_account_id to POST; pass id to PATCH description or credentials. Deleting uses delete-carrier-account.

Easypost Upsert End Shipper

Create or update an end shipper (fulfillment origin profile). Omit end_shipper_id to POST; pass id to PUT.

Easypost Upsert Webhook

Create or update an event webhook. Omit webhook_id to POST; pass webhook_id to PATCH. EasyPost sends HTTP POST events to your URL when objects update.

Easypost Verify Address

Run delivery verification on an existing address (GET /addresses/{id}/verify). Returns the address with verifications populated.

Frequently Asked Questions

What is the EasyPost MCP server?

Easypost is an API that facilitates integration with multiple carriers for parcel shipment tracking, label printing, and address verification. It's primarily used by businesses to streamline their shipping operations and logistics management. It provides 40 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect EasyPost to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/easypost. Authentication is handled automatically.

How many tools does EasyPost provide?

EasyPost provides 40 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does EasyPost require?

EasyPost uses API Key. EasyPost requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect EasyPost to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/easypost

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to EasyPost and paste the MCP URL into Remote MCP server URL.
  4. Click Add. EasyPost will appear under Not connected — select it and click Connect to complete OAuth.
Name: EasyPost
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/easypost
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use EasyPost?

Sign in to connect your credentials and start running tools from the chat.

EasyPost MCP Server & Skill