Easyship MCP lets you manage your shipping operations using natural language, just type what you need, like chatting with an assistant.
Instead of switching between tools or manually handling shipments, you can compare rates, generate labels, track shipments, sync orders, verify addresses, manage pickups, calculate tax and duty, and more.
In this article:
- Who Is This For?
- Supported Platforms
- What You Need
- Quick Setup
- API Token Scope
- Available Actions
- FAQs
Who Is This For?
Easyship MCP is designed for:
- eCommerce merchants
- Operations and fulfilment teams
- Customer support agents
- Anyone managing shipping and logistics
No coding required — basic familiarity with settings and API keys is helpful for initial setup.
Supported Platforms
Easyship MCP is compatible with any platform that supports the Model Context Protocol. How you connect depends on the app:
- Sign in with Easyship (OAuth): No API token needed. You sign in to Easyship and authorise access from within the app.
- API token: You create an Easyship API token and add it to the app's MCP settings.
| Platform Type | Supported Apps | Supported Apps |
| Chat / Assistant Apps | ChatGPT, Grok (grok.com), Claude (Desktop, Claude Code, and more) | ChatGPT and Grok: Sign in with Easyship (OAuth). Claude: API token. A native Claude connector with Easyship sign-in (OAuth) is coming soon. |
| AI Coding Environments | Cursor, Windsurf, Google Antigravity | API token |
| Cloud AI & APIs | OpenAI (Responses API, Agents SDK), Google Gemini (CLI, Code Assist, and browser), Grok (xAI API and browser) | API token |
| Workflow Automation | n8n, make.com, Zapier, Celigo | API token |
| Skills-First / Hybrid | Perplexity, OpenClaw | Easyship Skill (available on ClawHub) |
What You Need
Before getting started, make sure you have:
- An active Easyship account
- An MCP-compatible app (see Supported Platforms above)
- An Easyship API token, only if your app connects with an API token (not needed for ChatGPT or Grok)
How to Connect
Option A: Sign in with Easyship (OAuth): ChatGPT and Grok
No API token is needed. You connect Easyship from inside the app and authorise access with your Easyship login.
- Add Easyship in your app (install the Easyship plugin in ChatGPT, or add a custom connector in Grok)
- Sign in to your Easyship account when redirected
- Review the permissions and click Authorise
- Return to your app. Easyship will show as connected and you can start typing prompts
For step-by-step instructions for your specific platform, see:
- How to Connect ChatGPT and the OpenAI API to the Easyship MCP Server
- How to Connect Grok to the Easyship MCP Server
Option B: API token: Cursor, Claude, OpenAI API and other MCP clients
Get your API token
- Log in to Easyship and go to Connect > New Integration.
- Scroll down and select API Integration.
- Under Integration Type, select I am developing a custom integration.
- Name the key Easyship MCP for easy reference.
- Keep the default version 2024-09 and click Connect.
- Click Access Token and copy it using the copy button.
⚠️ Security warning: Keep your token secret. Never paste your API token into a chat message. Add it only in your app's settings, where it's stored securely. Anyone with your token can buy labels on your account.
Connect
- Add the Easyship MCP server in your chosen app.
- Paste your API token when prompted.
- Save and connect.
For step-by-step instructions for your specific platform, see:
- Easyship MCP Setup Guide for Cursor
- How to Connect ChatGPT and the OpenAI API to the Easyship MCP Server
- Easyship MCP Developer Docs
⚠️ Heads up: There is no separate test environment for MCP actions. Any action that consumes credits (such as generating labels) will incur real charges. If you're connecting with an API token, we recommend using a test API token with limited scopes for your first run. Please review your pricing plans and included limits.
API Token Scopes
This section applies only if you connect with an API token. If you connect with Easyship sign-in (OAuth), permissions are granted when you click Authorize.
Your Easyship API token requires the following scopes. Without these, some tools will fail:
| Scope | Used For |
| public.shipment:read | List, get, and track shipments |
| public.shipment:write | Create, update, delete, and cancel shipments |
| public.label:write | Buy shipping labels |
| public.pickup:read | List pickups and get pickup slots |
| public.pickup:write | Create and cancel pickups |
| public.address_validation:write | Validate international addresses |
| public.address_validation_domestic:write | Validate US addresses |
| public.shipment_document:read | Retrieve commercial invoice metadata |
| public.transaction_record:read | View transactions and billing |
| public.analytics:read | All analytics tools |
| public.rate:read | Compare courier options and rates |
| public.track:read | Track package delivery status |
Available Actions
Rates
| Tool | What It Does | Try This Prompt |
| get_rates | Compare courier options with pre-negotiated discounted rates and delivery times. | "I want to ship a 0.05 kg parcel (6×2×4 cm) from 350 5th Avenue, New York, USA to 220 Yonge Street, Toronto, Canada. Show me the cheapest and best value options with delivery times." |
Shipments
| Tool | What It Does | Try This Prompt |
| create_shipment | Start a shipment with addresses and package details. Save as a draft or buy a label when ready. | "Please create a draft shipment from Jane Sender, 350 5th Avenue, New York, NY to John Recipient, 220 Yonge Street, Toronto, ON. Package: 0.12 kg, 22×15×3 cm. Don't buy a label yet." |
| create_label | Buy and generate a shipping label for an existing shipment. | "Buy a label for shipment ESSG10006001 and give me the download link." |
| get_shipment | Look up a shipment's status, costs, and links to download its label, packing slip, or invoice. | "Pull up shipment ESSG10006001. I need full details and document links — 4×6 label, packing slip, and A4 commercial invoice." |
| list_shipments | Browse or search your shipments by country, status, and more. | "Show me page 1 of my shipments, 20 per page. Exclude cancelled ones. Only show shipments with a generated or printed label, destined for Canada." |
| update_shipment | Edit details on an existing shipment before it ships. | "For shipment ESSG10006001, update the destination phone to +1 416-555-0200 and add Suite 400 as address line 2. Leave everything else as-is." |
| cancel_shipment | Cancel a shipment that hasn't yet been collected. | "Cancel shipment ESSG10006001 and tell me if it succeeded or what error came back." |
| delete_shipment | Remove a draft or unshipped shipment. | "Delete shipment ESSG10006001 — it's still a draft. Confirm when it's done." |
| track_shipment | See where a package is, its delivery estimate, and recent tracking events. | "Track shipment ESSG10006001. What's the latest status, is there an ETA, and what were the last three tracking events?" |
Address Validation
| Tool | What It Does | Try This Prompt |
| validate_address | Check if an address is deliverable and get suggested corrections. | "Is this address valid for Easyship shipping: 1600 Amphitheatre Parkway, Building 43, Mountain View, CA 94043, US. Don't auto-replace — just show whether it's valid and any recommended corrections." |
Pickups
| Tool | What It Does | Try This Prompt |
| get_pickup_slots | See when a courier can collect your packages before you book. | "For shipment ESSG10006001, look up the courier service ID, then fetch available pickup slots. Summarise the next three days with available windows." |
| create_pickup | Book a courier to collect one or more packages on the same carrier. | "Schedule a pickup for shipments ESSG10006001 and ESSG10006002 on April 14, 2026. Get the courier ID from the first shipment and confirm the pickup ID when created." |
| list_pickups | View pickups you've scheduled, filtered by courier, date, or status. | "Show my pickups: page 1, 25 per page, courier USPS, pickup date April 15 2026, status requested." |
| get_pickup | Open one pickup to see full details including time, courier, and linked shipments. | "Give me full details for pickup ESPICKUP-US-2026-0001." |
| cancel_pickup | Cancel a scheduled pickup. | "Cancel pickup ESPICKUP-US-2026-0001 and report the result." |
| list_pickup_shipments | See which packages are included in a scheduled pickup. | "For pickup ESPICKUP-US-2026-0001, list the shipment IDs and destinations — page 1, 20 per page." |
Billing & Analytics
| Tool | What It Does | Try This Prompt |
| list_transactions | Review charges and credits on your Easyship account by date, type, or shipment. | "Pull my transactions: page 1, 50 per page, from March 1 to April 9 2026, type: shipment." |
| list_billing_transactions | See the line items behind a specific invoice. | "For billing document BDOC-2026-03-0042, list billing transactions page 1, 50 per page, between March 1–31 2026." |
| analytics_shipments | See how many shipments you created over time, including daily trends. | "Show shipment volume analytics from January 9 to April 9 2026, including daily trend and peak day." |
| analytics_shipped_activity | See whether labels were actually used in a given period, not just drafts created. | "For January 9 to April 9 2026, what does Easyship show about actual shipped activity in that period?" |
| analytics_status_breakdown | See a breakdown of your shipments by stage. | "Show me shipment status breakdown from January 9 to April 9 2026 — what's in progress vs completed?" |
| analytics_top_couriers | See which carriers you use most by volume. | "From January 9 to April 9 2026, which couriers did I use most? Rank them with counts and share of volume." |
| analytics_top_destinations | See where you send the most packages. | "For January 9 to April 9 2026, where am I shipping the most? Summarise top countries and zones." |
| analytics_by_channel | See which source is driving your shipments. | "For the last 3 months, break down my shipments by sales channel with counts and percentage per channel." |
FAQs
Do I need an API token to use Easyship MCP?
Not always. ChatGPT and Grok connect by signing in with your Easyship account (OAuth), so no API token is needed. Apps like Cursor, Claude Desktop, n8n, and the OpenAI API use an Easyship API token. See Supported Platforms above for how each app connects.
Do I need to learn specific commands?
No, just type what you need in plain English. Try to include as much detail as possible upfront. If anything required is missing, the agent will ask you for it or suggest values to choose from.
Can I use this with Shopify or other platforms?
Yes. Connect your agent with Shopify's MCP (or the MCP of your platform) alongside Easyship MCP to manage cross-platform shipping workflows in one place.
Do my Easyship shipping automation rules apply?
Yes. Shipments processed via MCP are standard Easyship shipments, so all your existing shipping rules, rate preferences, and automation settings apply.
Will I be charged for fetching rates via MCP?
No. Fetching rates, listing shipments, and tracking are free. Only purchasing labels or booking pickups consumes credits.
Do I need to pay to use Easyship MCP?
No. Easyship provides API access across all plans at no extra cost. Overage fees may apply if you exceed monthly limits. View all API pricing plans and limits for details.
Can I connect Easyship MCP to multiple apps?
Yes. You can connect Easyship to as many MCP apps as you like. OAuth apps (like ChatGPT and Grok) each connect with their own Easyship sign-in. For apps that use an API token, the same token works across Cursor, Claude, Gemini, and more. Be mindful of rate limits and avoid running conflicting operations at the same time.
Can I process multiple shipments at once?
Yes. You can handle bulk orders using simple prompts — upload a CSV or ask the agent to fetch your last X shipments and generate labels for all of them automatically. The agent will pick each shipment and purchase a label for it one at a time, and flag any shipments where your inputs are needed before the label can be purchased.
Why am I seeing a Subscription inactive error, and how do I fix it?
Your Easyship subscription isn't active, so requests from your account can't be processed. Reactivate your plan or update your payment method in the Easyship Dashboard, then try again. You don't need to reconnect.