How to Connect ChatGPT and the OpenAI API to the Easyship MCP Server

This article explains how to use Easyship with OpenAI so you can manage shipping tasks, including comparing rates, creating shipments, buying labels, scheduling pickups, and tracking deliveries, all through natural language.

There are two ways to connect:

Option Best For How You Connect?
Part 1: Easyship plugin for ChatGPT Anyone who wants to ship from inside a ChatGPT chat, no code required Sign in to Easyship and authorise (OAuth). No API token needed.
Part 2: OpenAI Responses API or Agents SDK Developers building their own AI agents or apps with OpenAI Easyship API token

Part 1: Using the Easyship Plugin with ChatGPT

Before You Begin

You'll need:

  • A ChatGPT account at chatgpt.com

  • An active Easyship account

You don't need an Easyship API token for this option.

Step 1: Install the Easyship Plugin

  1. Log in to ChatGPT

  2. Go to Plugins

  3. Search for Easyship

  4. Click Install plugin

Screenshot 2026-10-06 at 5.46.39 PM.png
 

Step 2: Authorize Easyship

  1. After install click on Connect

  2. You'll be redirected to Easyship to sign in. Log in to your Easyship account if you aren't already

  3. Review the permissions requested and click Authorize

  4. You'll be returned to ChatGPT, and the Easyship plugin will show as Connected

Heads up: There is no separate test environment for MCP actions. Any action that consumes credits (such as generating labels) will incur real charges.

Step 3: Start Using Easyship in a Chat

  1. Open a new chat in ChatGPT

  2. Type @easyship and select Easyship - Shipping MCP from the dropdown

  3. Type your prompt to get started

Try a prompt like:

I want to ship a parcel from New York, USA to Toronto, Canada. Origin: 350 5th Avenue, New York, US 10001. Destination: 220 Yonge Street, Toronto, ON, Canada M5B 2H1. Parcel: 1.98 lb, 6 × 4 × 2 cm. Item: Business documents, quantity 1, HS Code 4911.99, declared value $1.00 USD, category documents, DDU. Show me the cheapest and best value shipping options with delivery times and courier names.

Part 2: Using Easyship MCP with the OpenAI Responses API or Agents SDK

Before You Begin

You'll need:

  • Access to the OpenAI Responses API or Agents SDK
  • Access to your Easyship Dashboard
  • An Easyship account (API access is available on all plans at no extra cost)

Step 1: Get Your Easyship API Token

  1. Go to your Easyship Dashboard and click Connect
  2. Click New Integration
  3. Scroll down to API Integration
  4. Under Integration Type, select I am developing a custom integration
  5. Name the key Easyship MCP for easy reference
  6. Keep the default version 2024-09 and click Connect
  7. On the next page, click Access Token and copy it using the copy button

Required scopes: Your API token must include the following scopes. Missing scopes will cause some tools to fail while others continue to work.

public.shipment:read              public.shipment:write
public.label:write                public.pickup:read
public.pickup:write               public.address_validation:write
public.address_validation_domestic:write
public.shipment_document:read     public.transaction_record:read
public.analytics:read             public.rate:read
public.track:read

You can check and update scopes at any time in Dashboard → Connect → API without creating a new token.

Step 2: Add the Easyship MCP Server to the Responses API

Pass the Easyship MCP server as a tool in your responses.create() call. See the OpenAI MCP tools documentation for full reference.

python

from openai import OpenAI
client = OpenAI()


resp = client.responses.create(
    model="gpt-4.1",
    tools=[{
        "type": "mcp",
        "server_label": "easyship",
        "server_url": "https://mcp.easyship.com/mcp",
        "require_approval": "never",
        "headers": {
            "Authorization": "Bearer YOUR_EASYSHIP_TOKEN"
        }
    }],
    input="What are the cheapest shipping options from HK to NYC for a 1.5kg package?"
)


print(resp.output_text)

Replace YOUR_EASYSHIP_TOKEN with the API token you copied in Step 1.

Note: require_approval: "never" tells the model to call Easyship tools automatically without pausing for confirmation. Set it to "always" if you want the model to prompt for approval before taking actions such as creating shipments or buying labels.

Security: Never hardcode your API token in source code or share it in a chat window. Store it as an environment variable (e.g. EASYSHIP_API_ACCESS_TOKEN) and reference it at runtime. If you accidentally expose it, revoke and rotate your key immediately in the Easyship Dashboard under Connect → API.

Step 3: Approve Actions Before They Happen (Optional)

To review tool calls before they run, set require_approval to "always", or auto-approve only tools that don't change anything:

"require_approval": {
    "never": {
        "tool_names": [
            "get_rates", "get_shipment", "list_shipments", "track_shipment",
            "validate_address", "get_pickup_slots", "list_pickups",
        ]
    }
},

OpenAI doesn't show an approval prompt to anyone. When the model wants to call a tool that needs approval, the response has no final answer. Instead, resp.output contains an mcp_approval_request item. Your code decides whether to approve it and sends the decision back:

for item in resp.output:
    if item.type == "mcp_approval_request":
        print(f"Model wants to call {item.name} with {item.arguments}")
        approved = input("Approve? (y/n) ") == "y"
        resp = client.responses.create(
            model="gpt-4.1",
            tools=[easyship],
            previous_response_id=resp.id,
            input=[{
                "type": "mcp_approval_response",
                "approval_request_id": item.id,
                "approve": approved,
            }],
        )
print(resp.output_text) 

Step 4: Verify the Connection

Run your script. If the Easyship MCP server is connected correctly, the model will call Easyship tools automatically and return shipping results in resp.output_text.

If you see a connection or authentication error, double-check your token and confirm all required scopes are enabled in the Easyship Dashboard.

Step 5: Try It Out

Once connected, try a prompt like:

I want to ship a parcel from New York, USA to Toronto, Canada. Origin: 350 5th Avenue, New York, US 10001. Destination: 220 Yonge Street, Toronto, ON, Canada M5B 2H1. Parcel: 1.98 lb, 6 × 4 × 2 cm. Item: Business documents, quantity 1, HS Code 4911.99, declared value $1.00 USD, category documents, DDU. Show me the cheapest and best value shipping options with delivery times and courier names.

For a full list of available tools and workflows, see the Easyship MCP Developer Docs.

ChatGPT Consumer UI — Coming Soon

Direct integration with the ChatGPT consumer UI at chat.openai.com requires OAuth support. This is not yet available for the Easyship MCP server. Once OAuth is supported, users will be able to connect Easyship directly from the ChatGPT interface without any code.

FAQs

ChatGPT plugin

Do I need an API token to use Easyship in ChatGPT?

No. You connect by signing in to your Easyship account. API tokens are only needed for Part 2.

Does Easyship work directly in ChatGPT?

Yes. Install the Easyship plugin from Plugins in ChatGPT and authorise your Easyship account. See Part 1 above. No code or API token is needed.

Do I need an API token to use the Easyship plugin in ChatGPT?

No. The ChatGPT plugin connects through a secure Easyship sign-in (OAuth). You only need an API token if you're building with the OpenAI Responses API or Agents SDK (Part 2).

I can't find Easyship when I type @easyship in a chat. What should I do?

Check that the Easyship plugin shows as Connected in ChatGPT. If it doesn't, install it again from Plugins and complete the authorisation step.

The Easyship authorisation page isn't loading. What should I do?

Check your internet connection, clear your browser cache, and make sure third-party cookies are allowed for chatgpt.com and easyship.com. Then try installing the plugin again.

The Easyship plugin shows as disconnected. What should I do?

Reinstall the Easyship plugin from Plugins and complete the Easyship authorisation step again.

OpenAI Responses API and Agents SDK

Can I use an existing API token, or do I need a new one?

You can use an existing token from your Easyship account. Just make sure it has all the required scopes listed in Step 1. If some scopes are missing, certain tools will fail while others work.

What does require_approval: "never" do?

This setting tells the OpenAI model to call Easyship MCP tools automatically without pausing to ask for user approval on each tool call. Set it to "always" if you want the model to prompt for confirmation before taking actions like creating shipments or buying labels.

What if the model doesn't call Easyship tools?

Double-check your token and that the server_url is https://mcp.easyship.com/mcp. Make sure the Authorization header value starts with Bearer (with a space) followed by your token. Also confirm all required scopes are enabled in the Easyship Dashboard.

What if not all tools are loaded?

  • Verify your Easyship API token is valid and active

  • Confirm all required scopes are enabled in the Easyship Dashboard

  • Check your network connection from the machine running the script

  • Check the OpenAI API response for any error messages related to the MCP server

Why is my Easyship API token not working?

Check the scopes for your token in the Easyship Dashboard under Connect → API. A token might work for some actions but fail for others depending on which scopes it has. For full access to all tools, enable all the scopes listed in Step 1.

What happens if I don't grant all the required scopes?

Only the tools that match your granted scopes will work. Other tools will return an error. You can update scopes in the Easyship Dashboard without creating a new token.

General

Do I need to pay to use Easyship MCP?

No. Easyship provides API access across all plans at no extra cost. If you exceed the included API limits for your plan, overage fees may apply. See pricing plans and included limits.

Can I connect Easyship to other AI apps too (Grok, Cursor, etc.)?

Yes. Easyship MCP works across many AI apps. Some apps, like ChatGPT and Grok, connect through Easyship sign-in (OAuth). Others, like Cursor, use an Easyship API token, and the same token works across those clients. Be mindful of rate limits and avoid running conflicting operations (like editing the same shipment from two clients at once). See Getting Started with Easyship MCP for all supported apps.

Was this article helpful?
0 out of 0 found this helpful
Popular Topics