> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goshippo.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Shippo is a multi-carrier shipping API. For agent integrations that execute shipping operations (rates, labels, tracking, address validation, customs), connect the hosted Shippo MCP server at https://mcp.shippo.com (per-user OAuth; setup at /guides/mcp-server). To search and read this documentation from an agent, a docs search MCP is available at https://docs.goshippo.com/mcp. Shipping workflow knowledge (agent skills and a knowledge pack) is published at https://github.com/goshippo/ai. For REST integrations start at /guides/api-quickstart; test mode uses shippo_test_ API keys.

# MCP Server

> Connect AI assistants to Shippo with the hosted Shippo MCP server: compare rates, buy labels, track packages, and validate addresses in natural language. Point your MCP client at mcp.shippo.com and sign in with your Shippo account: nothing to install, no API key to manage.

## Overview

The Shippo MCP (Model Context Protocol) Server lets AI assistants and LLMs interact with the Shippo API in natural language: compare carrier rates, buy shipping labels, track packages, validate addresses, handle customs for international shipments, and process batches.

To connect, point any MCP-compatible client at Shippo's hosted server, `https://mcp.shippo.com`, and authorize with your Shippo account. Nothing to install, no API key to manage.

## What is MCP?

Model Context Protocol (MCP) is an open protocol, developed by Anthropic, that standardizes how AI applications connect to external tools and data. The Shippo MCP Server implements it, making Shippo's shipping capabilities available to MCP-compatible clients such as Claude, ChatGPT, and Cursor.

## Features

The Shippo MCP Server provides access to core Shippo API functionality:

<AccordionGroup>
  <Accordion title="Address Management">
    <ul style={{ fontSize: "0.875rem", lineHeight: "1.5", paddingLeft: "1.25rem", margin: "0" }}>
      <li style={{ marginBottom: "0.6rem" }}><strong>Validate addresses:</strong> verify and standardize shipping addresses</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Create address records:</strong> store addresses for future use</li>
      <li><strong>Address book:</strong> manage sender and recipient addresses</li>
    </ul>
  </Accordion>

  <Accordion title="Shipping Operations">
    <ul style={{ fontSize: "0.875rem", lineHeight: "1.5", paddingLeft: "1.25rem", margin: "0" }}>
      <li style={{ marginBottom: "0.6rem" }}><strong>Create shipments:</strong> set up shipments with origin, destination, and parcel details</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Get rates:</strong> compare shipping rates across multiple carriers</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Generate labels:</strong> purchase shipping labels for your shipments</li>
      <li><strong>Track packages:</strong> monitor shipment status and location</li>
    </ul>
  </Accordion>

  <Accordion title="Carrier Accounts">
    <ul style={{ fontSize: "0.875rem", lineHeight: "1.5", paddingLeft: "1.25rem", margin: "0" }}>
      <li style={{ marginBottom: "0.6rem" }}><strong>List carrier accounts:</strong> view all connected carrier accounts</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Manage carriers:</strong> add or update carrier account settings</li>
      <li><strong>Multi-carrier support:</strong> works with USPS, UPS, FedEx, DHL, and more</li>
    </ul>
  </Accordion>

  <Accordion title="International Shipping">
    <ul style={{ fontSize: "0.875rem", lineHeight: "1.5", paddingLeft: "1.25rem", margin: "0" }}>
      <li style={{ marginBottom: "0.6rem" }}><strong>Customs declarations:</strong> create customs documentation for international shipments</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Customs items:</strong> define items for customs processing</li>
      <li><strong>Multi-country support:</strong> ship internationally with proper documentation</li>
    </ul>
  </Accordion>

  <Accordion title="Advanced Features">
    <ul style={{ fontSize: "0.875rem", lineHeight: "1.5", paddingLeft: "1.25rem", margin: "0" }}>
      <li style={{ marginBottom: "0.6rem" }}><strong>Batch operations:</strong> process multiple shipments at once</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Pickups:</strong> schedule carrier pickups</li>
      <li style={{ marginBottom: "0.6rem" }}><strong>Manifests:</strong> generate end-of-day manifests</li>
      <li><strong>Webhooks:</strong> set up event notifications</li>
    </ul>
  </Accordion>
</AccordionGroup>

## Connect to the hosted server

Connect any MCP-compatible client to `https://mcp.shippo.com`. The first time you use it, your client opens a Shippo sign-in window. Authorize it once and you are connected.

| Setting        | Value                            |
| -------------- | -------------------------------- |
| Server URL     | `https://mcp.shippo.com`         |
| Transport      | Remote MCP over streamable HTTPS |
| Authentication | Sign in to Shippo (OAuth)        |

<Tip>
  There is no API key to configure for the hosted server: authentication is handled by signing in to your Shippo account. The hosted server operates against your **live** Shippo account; see [Live account and charges](#live-account-and-charges).
</Tip>

**Quick add (one click).** If your client supports it, add Shippo in one click; you will still complete the Shippo sign-in on first use. Otherwise, follow the per-client steps below.

<CardGroup cols={4}>
  <Card title="Cursor" icon="arrow-up-right-from-square" href="https://cursor.com/en-US/install-mcp?name=shippo&config=eyJ1cmwiOiJodHRwczovL21jcC5zaGlwcG8uY29tIn0=" />

  <Card title="VS Code" icon="arrow-up-right-from-square" href="vscode:mcp/install?%7B%22name%22%3A%22shippo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.shippo.com%22%7D" />

  <Card title="LM Studio" icon="arrow-up-right-from-square" href="lmstudio://add_mcp?name=shippo&config=eyJ1cmwiOiJodHRwczovL21jcC5zaGlwcG8uY29tIn0%3D" />

  <Card title="Goose" icon="arrow-up-right-from-square" href="goose://extension?name=shippo&url=https%3A%2F%2Fmcp.shippo.com" />
</CardGroup>

Claude and ChatGPT don't offer a one-click add; use their steps below.

### Claude (claude.ai and Claude Desktop)

1. Open **Customize** and go to **Connectors**.
2. Click **+**, then **Add custom connector**.
3. Name it `Shippo` and paste the server URL `https://mcp.shippo.com`. Leave the advanced OAuth fields blank.
4. Click **Add**, then complete the Shippo sign-in when prompted.

Team and Enterprise admins can make Shippo available to everyone: in **Organization settings → Connectors**, choose **Add → Custom → Web**, enter the URL, and add it. Members then connect it under **Customize → Connectors** and complete the Shippo sign-in individually on first use.

### Claude Code

```bash theme={null}
claude mcp add --transport http shippo https://mcp.shippo.com
```

Then run `/mcp`, select the Shippo server, and complete the browser sign-in to authorize.

### ChatGPT

ChatGPT connects to the hosted Shippo server as a custom connector (some versions call it an "app"). This works on free and paid plans. On Business and Enterprise, a workspace admin may first need to allow custom connectors.

1. Open **Settings** and go to the connectors area. Depending on your plan and ChatGPT version this is labeled **Apps**, **Connectors**, or **Plugins**; some versions ask you to turn on a developer or advanced option before custom connectors appear.
2. Add a new connector, name it `Shippo`, set the server URL to `https://mcp.shippo.com`, and set **Authentication** to **OAuth**.
3. Acknowledge the "I understand and want to continue" prompt and create the connector. ChatGPT opens the Shippo sign-in window; complete it to authorize.

To use Shippo in a conversation, open the **+** menu in the message box, choose **More**, and select **Shippo**. Then ask in natural language, for example: "What are the cheapest rates to ship a 2 lb box from San Francisco to Austin, TX?"

### Cursor

Add a remote MCP server in `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):

```json theme={null}
{
  "mcpServers": {
    "shippo": {
      "url": "https://mcp.shippo.com"
    }
  }
}
```

Cursor supports OAuth for remote MCP servers. After saving the config, open **Settings → Tools & Integrations**, find Shippo, and complete the sign-in prompt.

### Other MCP clients

Any client that supports a remote MCP server over HTTP with OAuth can connect: use the URL `https://mcp.shippo.com` and complete the Shippo authorization when prompted.

## Skills and knowledge for AI assistants

The connector gives your assistant Shippo's **tools**, the actions above. To also give it Shippo **know-how**, so it picks the right service, formats addresses and customs data correctly, and follows shipping best practices, add Shippo's skills and reference knowledge as context.

Shippo maintains ready-to-use skills and assistant integrations in the open-source [`goshippo/ai`](https://github.com/goshippo/ai) repository:

* **Claude:** install the Shippo plugin, which bundles this MCP connector together with Shippo's skills.
  * **Claude Code:** run `/plugin marketplace add goshippo/ai`, then `/plugin install shippo@shippo`.
  * **Claude apps (claude.ai and Desktop):** download [the Shippo plugin](https://github.com/goshippo/ai/releases/latest/download/shippo-plugin.zip) from the latest release and add it in the Plugins UI. A Team or Enterprise admin can install it for everyone under **Organization settings → Plugins**.
* **ChatGPT, Cursor, and other assistants:** download the [Shippo knowledge pack](https://github.com/goshippo/ai/releases/latest/download/shippo-knowledge-pack.md) and add it as context (a Project file, a custom GPT's knowledge, or an attached document), then connect the MCP server above so the assistant can act on it.

<Tip>
  Knowledge plus the connector is the full experience: the assistant understands *how* to ship and can actually *do* it. Knowledge on its own lets it advise you and draft API requests; add the connector when you want it to fetch live rates, buy labels, or track packages.
</Tip>

## Usage examples

Once connected, you can interact with Shippo through natural language:

### Create a shipping label

```
Create a shipping label from:
123 Main St, San Francisco, CA 94105

To:
456 Market St, New York, NY 10001

Package dimensions: 10x8x6 inches, 2 lbs
```

### Track a package

```
Track package with tracking number: 1Z999AA10123456784
```

### Validate an address

```
Validate this address:
215 Clayton St, San Francisco, CA 94117
```

### Compare shipping rates

```
Get shipping rates for a 5lb package (12x10x8 inches)
from Los Angeles, CA 90001 to Chicago, IL 60601
```

Actions that buy a label or otherwise change your account ask for confirmation before they run.

## Live account and charges

The hosted MCP server authorizes your **live** Shippo account, so:

* **Read operations are free:** comparing rates and validating addresses do not charge your account, and tracking packages purchased through Shippo is free too. Tracking a package purchased *outside* Shippo is a billable action.
* **Buying a label is a live action** that charges your account. Write actions such as purchasing a label ask for confirmation before they run.

The hosted MCP server has no separate test mode. If you need test labels and mock tracking for development, use a test API key (`shippo_test_`) directly against the Shippo API, see [Testing the Shippo API](/guides/testing). Test and live data (and object IDs) are completely separate.

## Security

Requests are sent to Shippo's hosted MCP server over HTTPS, authenticated by your per-user Shippo authorization, and forwarded to the Shippo API on your behalf. There is no API key to store and no local process in the path. To disconnect, remove the Shippo connector from your client's settings and revoke access from your Shippo account if desired.

## Troubleshooting

* **Shippo doesn't appear in the connector or tool picker:** confirm the server was added and the Shippo sign-in completed. Reopen your client's connector settings to check its status.
* **You're asked to sign in again:** the authorization session expired. Re-authorize from the connector settings (in Claude Code, run `/mcp`).
* **The sign-in window is blocked:** allow pop-ups for your client and retry.

## Resources

* [Shippo API Documentation](/)
* [Quickstart Guide](/guides/api-quickstart)
* [Authentication](/guides/authentication)
* [MCP Protocol Specification](https://modelcontextprotocol.io/)

## Support

For questions or issues:

* [Shippo Support Portal](https://support.goshippo.com/)
* [API Status](https://status.goshippo.com/)
* [Contact Sales](https://goshippo.com/contact/)

## About Shippo

Connect with multiple carriers, get discounted shipping labels, track parcels, and much more with just one integration. You can use your own carrier accounts or take advantage of Shippo's discounted rates. Shippo simplifies carrier integrations, rate shopping, tracking, and the entire shipping workflow.
