100+ integrations are ready to connect to your AI.Connect your first MCP

ShipStation MCP server for your AI

Pull orders from every connected store, rate-shop across carriers, buy or void labels, hold and tag what isn't ready, and assign the rest to the right teammate — without opening the dashboard.

PopMCPShipStation

Show me every order tagged Fragile that hasn't shipped yet

Supported ShipStation tools

Every order, shipment, label, carrier, store, product and webhook call the connector exposes, plus the order and label events your AI can watch for.

shipstation_add_tag_to_order

Add a tag to an order.

shipstation_create_label_for_order

Buy a real shipping label for an EXISTING ShipStation order and mark it shipped.

shipstation_create_order

Create OR update one order (upsert).

shipstation_get_order

Get a single order by its ShipStation orderId.

shipstation_hold_order

Put an order on hold until a future date.

shipstation_list_orders

List/search orders.

shipstation_list_orders_by_tag

List orders that carry a specific tag, filtered by status.

shipstation_mark_order_shipped

Mark an order shipped WITHOUT buying a ShipStation label (e.g.

shipstation_remove_tag_from_order

Remove a tag from an order.

shipstation_restore_order_from_hold

Immediately release an on_hold order back to awaiting_shipment status.

shipstation_get_store

Get one store's full configuration by storeId.

shipstation_list_stores

List the selling channels/stores connected to the account (Shopify, Amazon, WooCommerce, Manual, etc.), each with its storeId and marketplace.

shipstation_get_warehouse

Get one Ship From Location by warehouseId, including its originAddress and returnAddress objects.

shipstation_list_carrier_services

List the shipping services (serviceCode values) offered by a carrier — needed for label and rate requests.

shipstation_list_carriers

List all shipping carriers connected to the account, with each carrier's code, nickname, account balance, and whether it needs a funded account.

shipstation_list_warehouses

List the account's Ship From Locations (formerly 'warehouses'), each with its warehouseId, originAddress, returnAddress, and isDefault flag.

shipstation_create_shipment_label

Buy a shipping label WITHOUT an existing order (supply shipFrom + shipTo directly).

shipstation_get_rates

Rate-shop: get available shipping rates for a package from one carrier.

shipstation_list_shipments

List shipments that have ShipStation labels.

shipstation_void_label

Void a purchased shipping label by shipmentId.

shipstation_get_product

Get one product by its ShipStation productId.

shipstation_list_products

List products in the ShipStation catalog.

shipstation_list_webhooks

List the account's webhook subscriptions.

shipstation_subscribe_webhook

Subscribe to a webhook so ShipStation POSTs to your URL when an event fires (new orders, shipments, fulfillments).

shipstation_unsubscribe_webhook

Delete (unsubscribe) a webhook by its id.

shipstation_update_product

Update a product.

shipstation_get_customer

Get one customer by their ShipStation customerId.

shipstation_list_customers

List customers (auto-derived from imported orders).

shipstation_list_tags

List all order tags defined on the account, each with its tagId, name, and color.

shipstation_list_fulfillments

List fulfillments (shipments recorded by external fulfillment providers).

shipstation_list_users

List the account's ShipStation users, each with userId (a GUID), userName, and name.

shipstation_assign_user

Assign one or more orders to a ShipStation user.

shipstation_create_orders

Create or update MULTIPLE orders in one call (upsert each).

shipstation_delete_order

Delete an order by orderId.

shipstation_unassign_user

Remove the assigned user from one or more orders.

shipstation_deactivate_store

Deactivate (disable) a store by storeId.

shipstation_get_store_refresh_status

Check the current order-import refresh status of a store (in-progress / last result) by storeId.

shipstation_list_marketplaces

List the marketplaces/selling channels ShipStation can integrate with, each with its marketplaceId, name, and capability flags (canRefresh, supportsCustomMappings, supportsCustomStatuses, canConfirmShipments).

shipstation_reactivate_store

Reactivate a previously deactivated store by storeId (stores are active by default).

shipstation_refresh_store

Trigger an order-import refresh for a store (pull new orders from the channel now).

shipstation_update_store

Update a store's settings (name, auto-refresh, status mappings, etc.).

shipstation_add_carrier_funds

Add postage funds to a carrier account (e.g.

shipstation_create_warehouse

Create a new Ship From Location (warehouse).

shipstation_delete_warehouse

Delete a Ship From Location by warehouseId.

shipstation_get_carrier

Get one carrier's details (balance, account number, primary flag) by carrierCode.

shipstation_list_carrier_packages

List the package types (packageCode values) available for a carrier — needed for label and rate requests.

shipstation_update_warehouse

Update a Ship From Location.

shipstation_register_account

PARTNER-ONLY: register a brand-new ShipStation account (reseller flow).

Connect ShipStation to your AI

Credentials off one ShipStation screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In ShipStation, open Settings → Account → API Settings and paste both values into API Key and API Secret. No OAuth popup or redirect URL. The pair is scoped to one account, so the connection reaches only its stores.

API Key••••••••••••3f7a
API Secret••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • Show me every order tagged Fragile that hasn't shipped yet

    • list_tags
    • list_orders_by_tag
  • Put every pre-order on hold until March 15 and tag them Backorder

    • list_orders
    • hold_order
    • add_tag_to_order
  • Create a manual order for the phone sale I just took and buy it a label

    • create_order
    • get_rates
    • create_label_for_order
  • Which stores do our on-hold orders come from, and who's assigned to them?

    • list_orders
    • list_stores
    • list_users

Use ShipStation from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

ShipStation MCP server questions

What teams ask before putting ShipStation behind an AI client.

How does PopMCP connect to my ShipStation account?

You paste two values, API Key and API Secret, which ShipStation shows together on one screen under Settings → Account → API Settings. There is no OAuth popup, no redirect URL and no token refresh to keep alive. PopMCP authenticates server-side over HTTPS using HTTP Basic, and the key pair is scoped to a single ShipStation account, so the MCP server is locked to that account.

Can the agent buy real shipping labels?

Yes. shipstation_create_label_for_order buys a real label against an existing order and marks that order shipped, and shipstation_create_shipment_label buys one with no order behind it when you supply shipFrom and shipTo directly. Both spend against the connected carrier account, which is a good reason to require approval for writes on this connection. A purchased label can be voided with shipstation_void_label using its shipmentId.

What is the difference between marking an order shipped and creating a label?

shipstation_mark_order_shipped records the order as shipped without buying a ShipStation label, for parcels that went out some other way. shipstation_create_label_for_order does both at once: it buys the label and flips the order to shipped. One costs money and one does not, so it is worth telling your agent which of the two you expect it to use before you enable write access.

What does the agent need before it can rate-shop a shipment?

shipstation_get_rates quotes one carrier at a time, so comparing two carriers means two calls. It also needs a serviceCode from shipstation_list_carrier_services and a Ship From Location, which shipstation_list_warehouses returns with its warehouseId, originAddress, returnAddress and isDefault flag — the API still uses the older name warehouses for what the UI calls Ship From Locations. shipstation_list_carriers shows which carriers are connected, their account balance, and whether a carrier needs a funded account.

Does it see orders from all of my selling channels?

Yes. shipstation_list_stores returns every connected store with its storeId and marketplace, whether that is Shopify, Amazon, WooCommerce or a manual store, and shipstation_list_marketplaces reports what each channel supports through flags like canRefresh and canConfirmShipments. When the last sync is too old to answer a question, shipstation_refresh_store pulls new orders from the channel immediately and shipstation_get_store_refresh_status says whether that import is still running.

How much of the ShipStation API does this cover, and is it all loaded at once?

The server covers V1 with 48 operations across 11 API modules, 22 read and 26 write, plus 17 events PopMCP can watch. 31 of those operations load into your AI client by default and the rest stay searchable, so a long tool list does not crowd the context window. Orders is the largest module at 14 operations, followed by Stores at 8.

Do I have to run or host the ShipStation MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 31 of the 48 tools load by default?

Loading 48 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 31-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 48 here. A trigger is something PopMCP watches for you: 17 ShipStation events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into ShipStation.

Connect ShipStation to your AI in minutes

Launch a hosted MCP endpoint for ShipStation, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP