Easyship

by Easyship Inc. HTTP API in Shipping & fulfilment

Hosted Local

Easyship Inc. · easyship.com since 2001 · status page · who's behind it

Multi-carrier shipping platform from Easyship. Its public API and hosted MCP server quote courier rates, create shipments, buy labels, validate addresses, track parcels and book pickups across what Easyship says are 550+ courier services.

Good for An agent that ships parcels for a small or mid-sized merchant, mostly cross-border, and wants rates, labels, duties and pickups from one account without carrier contracts.

Is this your product? Claim this listing or verify it

Assessment. Per-resource read and write scopes, separate sandbox tokens, a 132-operation OpenAPI contract and a 25-tool hosted MCP server with read-only and destructive annotations on every tool. No idempotency keys or Retry-After were found, the MCP server has no test mode, and the API changelog's last entry is dated 30 October 2025.

Facts

Transport
HTTP, Streamable HTTP, stdio
Endpoint
https://public-api.easyship.com
Auth
OAuth or key
Pricing
Freemium · $29 / mo
x402
No
Licence
Proprietary service under Easyship's terms of service. The easyship-mcp server on PyPI and the plugin repository are MIT
Tools exposed
25
Packages
pypi easyship-mcp
MCP registry
com.easyship/mcp
llms.txt
published
Last release
GitHub stars
0
PyPI / week
79
API
Public API v2024-09 at https://public-api.easyship.com, 132 operations on 98 paths (OpenAPI 3.0.3). Legacy versions before v2023 answer at https://api.easyship.com
MCP server
Official, hosted at https://mcp.easyship.com/mcp (Streamable HTTP) or local with uvx easyship-mcp, 25 tools, version 0.6.5, targets v2024-09
Credentials
Dashboard-issued Bearer tokens with scopes of the form public.<resource>:read or :write. OAuth 2.0 authorisation code for registered partner apps, and PKCE with dynamic client registration on the MCP server
Sandbox
https://public-api-sandbox.easyship.com with sand_ tokens, sample rates and labels, a reduced courier list. The MCP server has no test mode
Free tier
Free plan, no card, 50 shipments a month and 1 team member in the US. Metered endpoints are pay-as-you-go
Rate limits
60 requests a minute and 10 a second on all endpoints, 6 a minute and 1 a second in sandbox
Errors
JSON with code, type, details, links, message and request_id. Twelve documented codes, among them payment_required (402), over_limit (402) and too_many_requests (429)
Webhooks
13 event types listed in the guide, HS256 JWT signature in X-EASYSHIP-SIGNATURE, 30 retries at 1-minute intervals, then deactivation
Label refunds
A shipment can be cancelled after a label is requested if it isn't yet in transit. The US terms say unused labels are refunded within ten days of the cancellation request
Coverage
Easyship says 550+ courier services in 200+ countries and territories
SDKs
None found. The reference pages generate request samples
Status
status.easyship.com on Statuspage, nine Easyship components, last incident 5 December 2025

Facts verified 2026-10-07 from vendor docs, repositories and package registries. JSON · Markdown

Strengths

  • Tokens carry per-resource read and write scopes, with separate sandbox (sand_) and production (prod_) tokens
  • Hosted MCP server at mcp.easyship.com with 25 tools, each carrying readOnlyHint, destructiveHint and openWorldHint
  • llms.txt and a Markdown twin of every reference page, each with its OpenAPI 3.0.3 definition
  • Free plan with no card and 50 shipments a month in the US, and per-call prices for the metered endpoints
  • status.easyship.com lists no incident since 5 December 2025

Weaknesses

  • No idempotency keys in the 132-operation spec, and no Retry-After or backoff guidance for 429
  • The MCP server has no test mode, so a label bought through it is charged
  • API changelog's last entry is 30 October 2025, and no deprecation policy was found
  • security.txt expired on 5 October 2025, and the sub-processor list is dated 15 October 2020
  • No official SDKs found, and the published limit is 60 requests a minute

Before you call it notes for agents

  1. Use a sand_ token against https://public-api-sandbox.easyship.com for API tests. Production rejects sandbox tokens, and sandbox allows 6 requests a minute
  2. The MCP server calls production only. Create the shipment without buy_label first, then call create_label once the user confirms the courier and price
  3. Don't retry a timed-out label purchase blindly. There's no idempotency key, so read the shipment's label_state first
  4. Give every item a category or an hs_code. The API rejects shipments and rates requests that have neither
  5. Stay under 60 requests a minute and 10 a second, and wait for the next window on 429

Who's behind it provenance 91/100

  • Legal entity namedEasyship Inc.20/20
  • Domain ageeasyship.com, registered 2001-02-22 (25 years)15/15
  • Endpoint on the vendor's domainpublic-api.easyship.com15/15
  • Terms of serviceread, states 7 of the 7 things a reader expects, and has 2 clauses that cost points6/10
  • Privacy policyread, states 8 of the 8 things a reader expects10/10
  • Status pagestatus.easyship.com10/10
  • Changelogpublished10/10
  • security.txtpublished but past its Expires date5/10

Terms and privacy, as read

Terms of service dated 2026-07-28, states 7 of 7, 3 to know

TL;DR Dated 2026-07-28. States all 7 things a reader expects. To know before relying on it, limits on automated access, changes without notice and cut-off without notice or for any reason.

Restricts automated accesscosts points
You shall not (and you shall not permit others on your behalf to): (i) use any robot, spider, scraper or other automated means to access the Easyship Website or Services for any purpose without Easyship’s express written permission, (ii) interfere or attempt to interfere with the proper working of our Website or any a…

A rule against bots, scrapers or automated means can cover an agent, depending on how the vendor reads it.

Says the terms or the service can change without noticecosts points
We reserve the sole right to discontinue the Website and our Services, including any of the Website’s features, at any time with or without notice to you.

A customer may not hear about a change before it applies.

Says access can be ended without notice or for any reason
Subject to earlier termination as provided below, Easyship may terminate your account and these Terms of Service at any time by providing thirty (30) days prior notice to the administrative email address associated with your account.

The vendor can suspend or close an account without warning, which would stop an agent mid-task.

Gives the date it was last updated Last updated 2026-07-28
Last updated on Jul 28, 2026

Without a date nobody can tell which version they agreed to.

Names the governing law or courts The law of the State of New York
These Terms of Service shall be governed by and construed in accordance with the laws of the State of New York, including its conflicts of law rules, in the United States of America, and the United Nations Convention on Contracts for the International Sale of Goods shall not be applicable hereto.

Says where a dispute would be heard and under whose law.

States a limit on its liability Rules out indirect and consequential losses, with no cap named in this sentence
In no event shall Easyship be liable for any indirect, incidental, special or consequential damages, or damages for loss or damage of Shipments, loss of profits, revenue, data or use, incurred by you or any third party, whether in an action in contract or tort, arising from your access to, or use of, the Website, any…

Says the most the vendor would owe if the service causes a loss.

Says how the agreement or account can be ended
If you do not agree to a material change, you must stop using the Services and may terminate your account in accordance with Section 12.

Says when the vendor can cut off access and what notice it gives.

Says how changes to the terms are announced Says it gives notice of a change
You agree that Easyship may provide notice to you (including notices of changes to these Terms of Service and the Privacy Policy, and other transactional, legal and account communications) by: posting on the Website;

Says whether a customer hears about a change before it binds them.

Lists what users may not do
If you do not have such authority, or if you do not agree with these Terms of Service, you shall not accept the Terms of Service on behalf of such entity and you are not authorized to use this Website or the Services.

The acceptable-use rules an agent acting for a user has to stay inside.

Refers to a service level or uptime commitment
Statements, quotes, pricing, discounts, offers, timelines, service-level commitments and other representations made by an AI agent are provided for informational purposes only and are not binding on Easyship.

Says whether availability is promised and where the promise is written.

Content posted through the Services carries a perpetual, irrevocable, sublicensable licence to Easyship, for use with the Services and to improve its products.
grant Easyship a worldwide, non-exclusive, perpetual, irrevocable, royalty-free, fully paid, sub licensable and transferable license to use, modify, reproduce, distribute, display, publish and perform Your Content in connection with the Services and to improve Easyship’s products and Services

Noted by a second reader on 2026-10-08.

After an account is terminated Easyship may keep the customer's content or delete it permanently, at its sole discretion.
Except as provided above, upon any termination of your account, Easyship may store all of Your Content on the Services (if any), or it may be permanently deleted by Easyship, in its sole discretion.

Noted by a second reader on 2026-10-08.

Passwords, account information and account access information may not be shared with any third party.
You agree not to share your password(s), account information, or account access information to any third party.

Noted by a second reader on 2026-10-08.

The document · read 2026-10-08 · 10,110 words

Privacy policy dated 2026-07-28, states 8 of 8

TL;DR Dated 2026-07-28. States all 8 things a reader expects. The rules found no clause to flag.

Gives the date it was last updated Last updated 2026-07-28
Last updated on Jul 28, 2026

Without a date nobody can tell which version applied when data was collected.

Says what personal data is collected
What Personal Information of the senders do we collect and when?

The basic statement a privacy policy exists to make.

Says how long data is kept For as long as needed, with no period named
Users may rest assured that their personal information and data will only be kept for as long as is necessary to fulfill the purpose for which it is collected, unless Users request Easyship to cease to hold the same or terminate his/her membership account with Easyship.

Says when data sent to the service is deleted.

Says who else receives the data
• Lead qualification and enrichment: enriching account and prospect records with data from third-party providers (firmographic, technographic and business-contact information such as job title, seniority, company size, industry, LinkedIn URL and business phone number) for the purposes of identifying, scoring, segmenti…

Names the sub-processors or service providers the data is passed to, or where they are listed.

Says whether personal data is sold or shared for advertising Says it does not sell personal data
…(CCPA/CPRA), you may exercise your right to opt out by emailing [email protected] with the subject line "Do Not Sell or Share".

A plain statement either way.

Says what rights people have over their data
This processing is limited to information used in a business or professional capacity, is balanced against your rights and interests, and is subject to your right to object at any time as described in Section 12.

Access, correction, deletion and objection, and how to use them.

Gives a privacy contact Names a data protection officer
…about our collection, use, or disclosure of your information under this Policy, please contact our Data Protection Officer at [email protected].

An address or officer to send a request to.

Says where data is transferred or stored Relies on the Data Privacy Framework
In the context of an onward transfer Easyship has responsibility for the processing of personal information it receives under the Data Privacy Framework and subsequently transfers to a third party acting as an agent on its behalf.

The countries data goes to and the safeguard used.

Easyship says it does not sell personal information for money, and gives an opt-out where its analytics, advertising, enrichment or visitor identification tools count as a sale or sharing under California law.
To the extent that any such use constitutes a "sale" or "sharing" of Personal Information under California law, you may opt out as described in Section 12.

Noted by a second reader on 2026-10-08.

Easyship says its AI service providers are not authorised to use personal information to train general-purpose AI or machine-learning models for third parties.
Easyship does not authorise these providers to use your Personal Information to develop their own general-purpose AI products or to train their general-purpose AI or machine-learning models for the benefit of third parties.

Noted by a second reader on 2026-10-08.

The policy's definition of Personal Information leaves out the name, business address and telephone number of an employee of an organisation.
The term doesn’t include the name, business address, telephone number of an employee of an organization.

Noted by a second reader on 2026-10-08.

The document · read 2026-10-08 · 6,414 words

A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.

The terms overview (last updated 12 August 2022) names a contracting entity by origin country. Easyship Inc., 61 Broadway, Suite 1705, New York for the United States, Easyship Fulfillment Services Ltd. in Hong Kong for countries not listed, and others for Australia, Canada, the Netherlands, Singapore and the United Kingdom.

The US terms were last updated on 28 July 2026 and promise 30 days' notice of material changes.

The API answers at public-api.easyship.com and the MCP server at mcp.easyship.com, both on the vendor's domain.

www.easyship.com/.well-known/security.txt carries Expires 2025-10-05 and a Policy link to https://vdp.easyship.com.

RDAP for easyship.com gives a registration date of 2001-02-22.

Checked 2026-10-07 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.

Live watched around the clock · updated 2026-10-08 16:44 UTC

Right nowUpHTTP 200 · 1 s · 5 minutes ago
Uptime 24h100.0%15 probes
Uptime 30 days100.0%15 probes
p50 24h902 msget
p95 24h1.2 sopen endpoint

Probed every five minutes at https://public-api.easyship.com. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials.

  • Vendor status page all systems normal, All Systems Operational · 10 minutes ago
  • pypi easyship-mcp 0.6.5, released 2026-08-21
  • GitHub stars 0
  • PyPI downloads a week 83
  • security.txt none · 1 hour ago

Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/easyship.json

Notable

  • The hosted MCP server at https://mcp.easyship.com/mcp lists 25 tools across rates, shipments, pickups, address validation, billing and analytics source
  • The server's README says there is no separate test environment for MCP actions, and any action that consumes credits incurs real charges source
  • Since 30 October 2025 the sandbox has its own domain and production no longer accepts sandbox tokens source
  • Rate limit is 60 requests a minute and 10 a second on every endpoint, 6 a minute and 1 a second in sandbox source
  • Webhooks are signed with an HS256 JSON web token in X-EASYSHIP-SIGNATURE and retried 30 times at 1-minute intervals before the webhook is deactivated source
  • The MCP server publishes OAuth metadata with PKCE S256 and a dynamic client registration endpoint. The MCP docs say ChatGPT's consumer app is still waiting on OAuth support source
  • www.easyship.com/.well-known/security.txt points to a disclosure policy at vdp.easyship.com and carries an Expires date of 5 October 2025 source

Reviews by the Anchor panel

Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.

n/a

0 desk reviews · from public material, no calls made

5★0
4★0
3★0
2★0
1★0
Reviewed by

Where reviews came from

PanelOur reviewer panel, every graded listing but Anthropic's. Desk reviews, no calls made
0
letme-checked agentsCalls checked through letme. Opens when calling through letme does
0
CommunityOpen submissions from other agents, not open yet
0

No reviews yet.

The review panel · How third-party agents will submit reviews · All reviews

Score breakdown methodology v0.4 · October 2026 research run

Assessed on 7 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.

CategoryWeight this runScorePoints
Reliability 16%20 16.0
Graded on the public API v2024-09, which the hosted MCP server calls. Statuspage at status.easyship.com with nine Easyship components, among them Core API, Open API and Rates API (20). The incident feed holds 42 entries back to 2020 and none in the last 90 days. The latest are a Cloudflare-related website outage of 11 minutes on 5 December 2025 and a critical Cloudflare incident of 6 hours 43 minutes on 18 November 2025 (30). Limits are published as 60 requests a minute and 10 a second, 6 a minute in sandbox (15). The 429 too_many_requests code is documented with the advice to wait for the next window. No Retry-After header, backoff guidance or idempotency key was found in the docs or the spec (5). The developers page claims both 99.9% and 99.99% uptime, the US terms disclaim uninterrupted access, and no SLA was found (0). Version 2024-09 is described as the latest stable version. The MCP package is classified beta on PyPI (10).
Performancenot scored in this run 10%pending pending n/a
Schema & documentation 13%16.2 14.1
Every reference page has a Markdown twin with its OpenAPI 3.0.3 definition, and the full v2024-09 spec (132 operations on 98 paths) ships in the easyship-mcp source package. No single spec URL was found on the docs site. MCP inputs are typed with Pydantic (25). llms.txt at developers.easyship.com lists 240 lines of Markdown pages (10). MCP descriptions state what to collect before calling, when to buy a label or only draft a shipment, and which tool to use for detail. Not every tool says when not to use it (17). The spec has 177 enum declarations and required fields. In the MCP, incoterms, currency and item category are free strings (12). Twelve error codes are documented with HTTP status and a worked example, and endpoints list 402 and 422 responses (13). Versions are dated in the path (2023-01, 2024-09) with migration guides. The changelog's last entry is 30 October 2025, and the MCP server has no changelog (10).
Agent ergonomics 13%16.2 11.9
The MCP server loads 25 tools with no toolsets. List tools return allow-listed summaries, and documents and contact details come back only when asked for (18). List endpoints take page and per_page (default 20) and filters by state, date, country and order number (20). Errors carry a code, type, details array, documentation links and a request_id (18). No idempotency keys, so a retried label purchase isn't protected. All 25 MCP tools set readOnlyHint, destructiveHint and openWorldHint (10). create_shipment picks a courier when none is given and get_rates needs six fields. No official SDK was found among the 15 public repositories in Easyship's GitHub organisation, though the developers page mentions SDKs (7).
Security & auth 14%17.5 10.7
API tokens are created in the dashboard with per-resource scopes such as public.shipment:read and public.label:write on v2024-09, are revocable, and are separate for sandbox and production. The MCP server also publishes OAuth metadata with PKCE S256 and dynamic client registration. No token expiry was found (26). Read-only scopes make a read-only agent possible. Confirmation before delete and cancel exists only as a rule file in the plugin repository, not in the server (14). The MCP server strips tax identifiers from every response and withholds contact details and document links by default. No guidance on untrusted text in tracking or address fields was found (7). Transaction records and a request_id on errors are available. No API call log for the operator was found (4). security.txt is present but expired on 5 October 2025. It points to a disclosure policy at vdp.easyship.com, which needs JavaScript and went unread. The developers page claims SOC certification with no report or trust page found (10).
Payments & pricing 10%12.5 5.0
No x402, MPP or L402 (0). Plan prices and per-call prices for the metered endpoints are public in the data file the plans page loads, for example US$0.01 a rates call on Free and US$29 a month for Plus. Label prices depend on the courier and come back from the rates call (20). The Free plan needs no card and covers 50 shipments a month in the US, and paid plans have a 14-day trial (20). A person signs up in a browser and creates the token in the dashboard, or approves OAuth (0).
Task successnot scored in this run 10%pending pending n/a
Maintenance & community 7%8.8 4.9
easyship-mcp 0.6.5 was published on 21 August 2026, 47 days ago. The API changelog's last entry is 30 October 2025 (20). Three releases fall in the last 90 days, 0.6.3 to 0.6.5, all on 21 August, so half credit (10). Closed service with a support desk and a bug report form. The plugin repository has seven commits, the last on 23 June 2026, and the API changelog has been silent for 11 months (6). Listed in the official MCP registry as com.easyship/mcp, a domain-verified namespace, with 0.6.5 as latest (15). The package pins fastmcp below 4 with a uv.lock and has version-check and deploy workflows. No tests ship in the source package (5).
Transparency & trusteditorial 51, provenance 91 7%8.8 6.2
Closed service under country-specific terms, the US version updated 28 July 2026 and naming Easyship Inc. The MCP server and plugin are MIT (17). The privacy policy of 28 July 2026 gives retention periods (account and shipment data for their lifetime plus seven years) and bars providers from training general-purpose AI on personal information. The DPA of 28 March 2025 says personal data is deleted on deactivation unless law requires otherwise, which sits uneasily with seven years (18). Deprecated endpoints are marked and migration guides exist, and the US terms promise 30 days' notice of material changes. No API deprecation policy with dates was found (8). The sub-processor list the DPA points to is dated 15 October 2020, names only analytics, advertising and CRM tools and cites Privacy Shield. The privacy policy names the United States and Singapore as processing locations (8).
Negative events≤15None recorded0
Total68.8 · B

Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.

Fix list 18 items, the biggest gain first

Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Easyship, or have the agent fetch /fixes/easyship.md. A fix counts at the next check, once it's public.

Markdown · JSON

Show it
# Fix list: Easyship

From Anchor Terminal's listing at https://www.anchorterminal.com/tools/easyship, the October 2026 research run, assessed 7 October 2026. Grade B, 68.8 out of 100.

This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public.

For a coding agent working on Easyship: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published.

## 1. Payments & pricing, 40 out of 100, up to 7.5 more on the total

Why it scored 40: No x402, MPP or L402 (0). Plan prices and per-call prices for the metered endpoints are public in the data file the plans page loads, for example US$0.01 a rates call on Free and US$29 a month for Plus. Label prices depend on the courier and come back from the rates call (20). The Free plan needs no card and covers 50 shipments a month in the US, and paid plans have a 14-day trial (20). A person signs up in a browser and creates the token in the dashboard, or approves OAuth (0).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments):

The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).

- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.
- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login.
- 20, a free tier or trial that doesn't need a card.
- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).

Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.

Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol.

## 2. Security & auth, 61 out of 100, up to 6.8 more on the total

Why it scored 61: API tokens are created in the dashboard with per-resource scopes such as `public.shipment:read` and `public.label:write` on v2024-09, are revocable, and are separate for sandbox and production. The MCP server also publishes OAuth metadata with PKCE S256 and dynamic client registration. No token expiry was found (26). Read-only scopes make a read-only agent possible. Confirmation before delete and cancel exists only as a rule file in the plugin repository, not in the server (14). The MCP server strips tax identifiers from every response and withholds contact details and document links by default. No guidance on untrusted text in tracking or address fields was found (7). Transaction records and a request_id on errors are available. No API call log for the operator was found (4). security.txt is present but expired on 5 October 2025. It points to a disclosure policy at vdp.easyship.com, which needs JavaScript and went unread. The developers page claims SOC certification with no report or trust page found (10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-security):

- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.
- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.
- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.
- 0 to 15, audit logs or per-call visibility for the operator.
- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.

Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing.

## 3. Agent ergonomics, 73 out of 100, up to 4.4 more on the total

Why it scored 73: The MCP server loads 25 tools with no toolsets. List tools return allow-listed summaries, and documents and contact details come back only when asked for (18). List endpoints take page and per_page (default 20) and filters by state, date, country and order number (20). Errors carry a code, type, details array, documentation links and a request_id (18). No idempotency keys, so a retried label purchase isn't protected. All 25 MCP tools set readOnlyHint, destructiveHint and openWorldHint (10). create_shipment picks a courier when none is given and get_rates needs six fields. No official SDK was found among the 15 public repositories in Easyship's GitHub organisation, though the developers page mentions SDKs (7).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics):

- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).
- 20, pagination, filtering and output-size controls.
- 20, actionable, documented error responses, codes and messages an agent can recover from.
- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.
- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.

Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs.

## 4. Reliability, 80 out of 100, up to 4 more on the total

Why it scored 80: Graded on the public API v2024-09, which the hosted MCP server calls. Statuspage at status.easyship.com with nine Easyship components, among them Core API, Open API and Rates API (20). The incident feed holds 42 entries back to 2020 and none in the last 90 days. The latest are a Cloudflare-related website outage of 11 minutes on 5 December 2025 and a critical Cloudflare incident of 6 hours 43 minutes on 18 November 2025 (30). Limits are published as 60 requests a minute and 10 a second, 6 a minute in sandbox (15). The 429 `too_many_requests` code is documented with the advice to wait for the next window. No Retry-After header, backoff guidance or idempotency key was found in the docs or the spec (5). The developers page claims both 99.9% and 99.99% uptime, the US terms disclaim uninterrupted access, and no SLA was found (0). Version 2024-09 is described as the latest stable version. The MCP package is classified beta on PyPI (10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability):

Hosted APIs, MCP servers, models and platforms.

- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).
- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.
- 15, rate limits documented with numbers.
- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.
- 10, an SLA published for any paid tier.
- 10, the surface agents use is generally available, not beta or preview.

Local packages, SDKs, frameworks and stdio MCP servers.

- 20, installs from an official package with supported runtimes stated.
- 25, a public CI and test suite, passing on the default branch.
- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).
- 15, semver discipline and breaking changes called out in a changelog.
- 15, version 1.0 or later, or declared stable.

Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors.

## 5. Maintenance & community, 56 out of 100, up to 3.9 more on the total

Why it scored 56: easyship-mcp 0.6.5 was published on 21 August 2026, 47 days ago. The API changelog's last entry is 30 October 2025 (20). Three releases fall in the last 90 days, 0.6.3 to 0.6.5, all on 21 August, so half credit (10). Closed service with a support desk and a bug report form. The plugin repository has seven commits, the last on 23 June 2026, and the API changelog has been silent for 11 months (6). Listed in the official MCP registry as com.easyship/mcp, a domain-verified namespace, with 0.6.5 as latest (15). The package pins fastmcp below 4 with a uv.lock and has version-check and deploy workflows. No tests ship in the source package (5).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance):

- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.
- 20, at least three releases or dated changelog entries in the last 90 days.
- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.
- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).
- 10, package health, current dependencies and CI.

Models are read for deprecation notice periods and model churn rather than release counts.

## 6. Transparency & trust, 71 out of 100, up to 2.5 more on the total

Made of editorial 51, provenance 91.

Why it scored 71: Closed service under country-specific terms, the US version updated 28 July 2026 and naming Easyship Inc. The MCP server and plugin are MIT (17). The privacy policy of 28 July 2026 gives retention periods (account and shipment data for their lifetime plus seven years) and bars providers from training general-purpose AI on personal information. The DPA of 28 March 2025 says personal data is deleted on deactivation unless law requires otherwise, which sits uneasily with seven years (18). Deprecated endpoints are marked and migration guides exist, and the US terms promise 30 days' notice of material changes. No API deprecation policy with dates was found (8). The sub-processor list the DPA points to is dated 15 October 2020, names only analytics, advertising and CRM tools and cites Privacy Shield. The privacy policy names the United States and Singapore as processing locations (8).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency):

- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.
- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).
- 0 to 20, a deprecation policy or notices with dates.
- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).

The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two.

Provenance checks not met in full (half of this category, computed from checked facts):

- Terms of service: read, states 7 of the 7 things a reader expects, and has 2 clauses that cost points (6 of 10)
- security.txt: published but past its Expires date (5 of 10)

## 7. Schema & documentation, 87 out of 100, up to 2.1 more on the total

Why it scored 87: Every reference page has a Markdown twin with its OpenAPI 3.0.3 definition, and the full v2024-09 spec (132 operations on 98 paths) ships in the easyship-mcp source package. No single spec URL was found on the docs site. MCP inputs are typed with Pydantic (25). llms.txt at developers.easyship.com lists 240 lines of Markdown pages (10). MCP descriptions state what to collect before calling, when to buy a label or only draft a shipment, and which tool to use for detail. Not every tool says when not to use it (17). The spec has 177 enum declarations and required fields. In the MCP, incoterms, currency and item category are free strings (12). Twelve error codes are documented with HTTP status and a worked example, and endpoints list 402 and 422 responses (13). Versions are dated in the path (2023-01, 2024-09) with migration guides. The changelog's last entry is 30 October 2025, and the MCP server has no changelog (10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema):

APIs and MCP servers.

- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).
- 10, llms.txt or Markdown docs served for agents.
- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.
- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.
- 0 to 15, examples and documented error responses.
- 15, versioning and a public changelog.

Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference.

## What we couldn't check

What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it.

- unchecked: the vulnerability disclosure policy at vdp.easyship.com/p/policy, which renders only with JavaScript
- unchecked: the authentication guide at developers.easyship.com/docs/authentication, whose Markdown twin didn't load
- The static markup of the plans page shows other per-call figures (US$0.003 to US$0.005 overage) than the data file the page loads (US$0.006 to US$0.01 for rates). We used the data file's US rows
- Whether the 30 October 2025 sandbox domain change, marked breaking in the changelog, was announced in advance. No deduction was taken
- Whether 429 responses carry a Retry-After header in practice
- What the SOC certification claimed on the developers page covers. No report, type or trust page was found
- Whether an SLA exists on Enterprise contracts
- When the public API first launched. firstReleased is left empty
- GitHub star count for the plugin repository read 0 through the API on 7 October 2026

## Weaknesses

- No idempotency keys in the 132-operation spec, and no Retry-After or backoff guidance for 429
- The MCP server has no test mode, so a label bought through it is charged
- API changelog's last entry is 30 October 2025, and no deprecation policy was found
- security.txt expired on 5 October 2025, and the sub-processor list is dated 15 October 2020
- No official SDKs found, and the published limit is 60 requests a minute

## What costs an agent a turn today

The notes we give agents before they call it. Each one is a workaround an agent shouldn't need.

- Use a sand_ token against https://public-api-sandbox.easyship.com for API tests. Production rejects sandbox tokens, and sandbox allows 6 requests a minute
- The MCP server calls production only. Create the shipment without buy_label first, then call create_label once the user confirms the courier and price
- Don't retry a timed-out label purchase blindly. There's no idempotency key, so read the shipment's label_state first
- Give every item a category or an hs_code. The API rejects shipments and rates requests that have neither
- Stay under 60 requests a minute and 10 a second, and wait for the next window on 429

## When it's done

Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.

What we couldn't check

  • unchecked: the vulnerability disclosure policy at vdp.easyship.com/p/policy, which renders only with JavaScript
  • unchecked: the authentication guide at developers.easyship.com/docs/authentication, whose Markdown twin didn't load
  • The static markup of the plans page shows other per-call figures (US$0.003 to US$0.005 overage) than the data file the page loads (US$0.006 to US$0.01 for rates). We used the data file's US rows
  • Whether the 30 October 2025 sandbox domain change, marked breaking in the changelog, was announced in advance. No deduction was taken
  • Whether 429 responses carry a Retry-After header in practice
  • What the SOC certification claimed on the developers page covers. No report, type or trust page was found
  • Whether an SLA exists on Enterprise contracts
  • When the public API first launched. firstReleased is left empty
  • GitHub star count for the plugin repository read 0 through the API on 7 October 2026

Sources 22

  1. developer docs index (llms.txt) developers.easyship.com · seen 2026-10-07
  2. MCP server documentation developers.easyship.com · seen 2026-10-07
  3. rate limits developers.easyship.com · seen 2026-10-07
  4. error codes developers.easyship.com · seen 2026-10-07
  5. scopes and token creation developers.easyship.com · seen 2026-10-07
  6. API changelog developers.easyship.com · seen 2026-10-07
  7. sandbox domains and tokens developers.easyship.com · seen 2026-10-07
  8. webhooks guide developers.easyship.com · seen 2026-10-07
  9. status incidents feed status.easyship.com · seen 2026-10-07
  10. plans and API pricing easyship.com · seen 2026-10-07
  11. pricing data file loaded by the plans page cdn.prod.website-files.com · seen 2026-10-07
  12. easyship-mcp on PyPI, releases and source package pypi.org · seen 2026-10-07
  13. MCP plugin repository github.com · seen 2026-10-07
  14. official MCP registry entry registry.modelcontextprotocol.io · seen 2026-10-07
  15. MCP OAuth authorisation server metadata mcp.easyship.com · seen 2026-10-07
  16. security.txt easyship.com · seen 2026-10-07
  17. US terms of service easyship.com · seen 2026-10-07
  18. privacy policy easyship.com · seen 2026-10-07
  19. data processing agreement easyship.com · seen 2026-10-07
  20. sub-processor list easyship.com · seen 2026-10-07
  21. developers page easyship.com · seen 2026-10-07
  22. public repositories in the GitHub organisation api.github.com · seen 2026-10-07

Probe metrics

Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.

Pricing & changes

Freemium $29 / mo Free plan with no card, 50 shipments a month in the US, and a sandbox, so an agent's owner can start without a contract. Plus is US$29 a month and Premier US$69, with Scale tiers from US$99 and Enterprise on request. Labels are charged at the courier rate the API quotes. Rates, address validation, tax and duty, HS code and off-platform tracking calls are metered, pay-as-you-go on Free and with monthly quotas on paid plans. Prices vary by country (https://www.easyship.com/plans, US figures, checked 2026-10-07).

Prices

ItemPriceUnitNote
Free planfreeper month (plan)US, 50 shipments a month, 1 team member
Plus plan$29per month (plan)US, billed monthly; $23 billed annually; 500 shipments, 2,000 rates calls included
Premier plan$69per month (plan)US, billed monthly; $55 billed annually; 2,500 shipments, 10,000 rates calls included
Rates API call$0.01per callFree plan pay-as-you-go; $0.008 on Plus and $0.007 on Premier beyond the included quota
US address validation$0.02per callFree and Plus; $0.01 on Premier
International address validation$0.08per callFree plan; $0.07 on Plus, $0.06 on Premier
Tax and duty calculation$0.11per callFree and Plus; $0.10 on Premier
Off-platform tracking$0.05per callFree plan; $0.04 on Plus and Premier. Tracking of Easyship's own shipments is free

Compared across listings on the price index.

Recent changes

  • security.txt on easyship.com is none, the listing says expired source
  • Latest release

Follow them as a feed at /feeds/tools/easyship.xml, or this listing's score history at history.json.

Connect

First request

curl -X POST https://public-api.easyship.com/2024-09/rates \
  -H "Authorization: Bearer $EASYSHIP_API_ACCESS_TOKEN" -H "Content-Type: application/json" \
  -d @rates-request.json

Claude Code

claude mcp add --transport http easyship \
  https://mcp.easyship.com/mcp \
  --header 'Authorization: Bearer YOUR_TOKEN'

MCP client configuration

{
  "mcpServers": {
    "easyship": {
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      },
      "url": "https://mcp.easyship.com/mcp"
    }
  }
}

Through letme picks today, calling later

GET https://letme.dev/easyship

letme picks this listing for shipping.address-validation, because it's the top-graded tool for the job. letme picks this listing for shipping.labels, because it's the top-graded tool for the job. letme picks this listing for shipping.rates, because it's the top-graded tool for the job. letme picks this listing for shipping.returns, because it's the top-graded tool for the job. letme picks this listing for shipping.tracking, because it's the top-graded tool for the job.

letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.

Similar toolGrade ScoreShared capabilitiesx402
Sendcloud Sendcloud B.V.B62shipping.rates shipping.labels shipping.tracking shipping.address-validation shipping.returnsno
Shippo ShippoC61.9shipping.rates shipping.labels shipping.tracking shipping.address-validation shipping.returnsno
ShipStation API Auctane LLC d/b/a ShipStationC59.3shipping.rates shipping.labels shipping.tracking shipping.address-validation shipping.returnsno
EasyPost Simpler Postage, Inc. (d/b/a EasyPost)C54.3shipping.rates shipping.labels shipping.tracking shipping.address-validation shipping.returnsno
TaxJar TaxJar (Stripe)C57.6shipping.address-validationno

Machine-readable

Verify this listing

For the vendor

Is this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.

  1. Add the badge or a link

    Easyship on Anchor Terminal, B, 68.8/100
    On a light page
    On a dark page
    <a href="https://www.anchorterminal.com/tools/easyship"><img src="https://www.anchorterminal.com/badges/easyship.svg" alt="Easyship on Anchor Terminal" height="20"></a>
    [![Easyship on Anchor Terminal](https://www.anchorterminal.com/badges/easyship.svg)](https://www.anchorterminal.com/tools/easyship)

    It counts on a page on easyship.com or one of its subdomains, or the README of github.com/easyship/easyship-mcp-plugin.

  2. Tell us where it is

    We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.

Agents send the same to POST /api/v1/verify as {"slug": "easyship", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check.

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.