# How to integrate Shippo MCP with Claude Code

```json
{
  "title": "How to integrate Shippo MCP with Claude Code",
  "toolkit": "Shippo",
  "toolkit_slug": "shippo",
  "framework": "Claude Code",
  "framework_slug": "claude-code",
  "url": "https://composio.dev/toolkits/shippo/framework/claude-code",
  "markdown_url": "https://composio.dev/toolkits/shippo/framework/claude-code.md",
  "updated_at": "2026-03-29T06:50:10.283Z"
}
```

## Introduction

Manage your Shippo directly from Claude Code with zero worries about OAuth hassles, API-breaking issues, or reliability and security concerns.
You can do this in two different ways:
- Via [Composio Connect](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=claude-code&utm_content=composio_connect&next=%2F~%2Forg%2Fconnect%2Fclients%2Fclaude-code) - Direct and easiest approach
- Via [Composio SDK](https://docs.composio.dev/docs?utm_source=toolkits&utm_medium=framework_template&utm_campaign=claude-code&utm_content=composio_sdk) - Programmatic approach with more control

## Also integrate Shippo with

- [OpenAI Agents SDK](https://composio.dev/toolkits/shippo/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/shippo/framework/claude-agents-sdk)
- [Claude Cowork](https://composio.dev/toolkits/shippo/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/shippo/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/shippo/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/shippo/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/shippo/framework/cli)
- [Google ADK](https://composio.dev/toolkits/shippo/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/shippo/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/shippo/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/shippo/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/shippo/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/shippo/framework/crew-ai)

## TL;DR

- Only one MCP URL to connect multiple apps with Claude Code with zero auth hassles.
- Programmatic tool calling allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
- Handling Large tool responses out of LLM context to minimize context rot.
- Dynamic just-in-time access to 20,000 tools across 1000+ other Apps for cross-app workflows. It loads the tools you need, so LLMs aren't overwhelmed by tools you don't need.

## Connect Shippo to Claude Code

### Connecting Shippo to Claude Code using Composio
1. Add the Composio MCP to Claude

```bash
claude mcp add --scope user --transport http composio https://connect.composio.dev/mcp
```

## What is Claude Code?

Claude Code is Anthropic's command line developer tool that lets you use Claude directly inside your terminal. Instead of switching between your editor, browser, and chat, you can stay in your project folder and ask Claude to help you build, debug, refactor, and understand code right where you're working.
Key features include:
- Terminal-Native Experience: Work with Claude directly in your command line without switching contexts
- MCP Support: Built-in support for Model Context Protocol servers to extend Claude's capabilities
- Project Context: Claude understands your project structure and can read, write, and modify files
- Interactive Development: Ask questions, debug code, and get help in real-time while coding
- Multi-Platform: Works on macOS, Linux, WSL, and Windows

## What is the Shippo MCP server, and what's possible with it?

The Shippo MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Shippo account. It provides structured and secure access so your agent can perform Shippo operations on your behalf.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SHIPPO_CREATE_ADDRESS` | Create Shippo Address | Tool to create a new address in Shippo. Use when you need to store sender or recipient addresses for shipping labels and transactions. Addresses can be validated against carrier databases before creation by setting validate=true. |
| `SHIPPO_CREATE_BATCH` | Create Batch | Tool to create a batch of shipments for bulk label purchasing. Use when you need to process multiple shipments at once with the same carrier and service level. Requires a valid carrier account ID from your Shippo account. |
| `SHIPPO_CREATE_CARRIER_ACCOUNT` | Create Carrier Account | Tool to create a new carrier account in Shippo. Use when you need to register carrier credentials for shipping operations. This action requires detailed billing and contact information, and for UPS accounts specifically, the user must agree to UPS terms and conditions. |
| `SHIPPO_CREATE_CUSTOMS_ITEM` | Create Customs Item | Create a new customs item for international shipments. Customs items are required for customs declarations when shipping internationally. Use this action to define the contents, value, and origin of items being shipped across international borders. |
| `SHIPPO_CREATE_LIVE_RATE` | Create Live Rate | Tool to generate live shipping rates from multiple carriers for a given shipment. Use when you need real-time pricing for shipping from origin to destination with specific items. Returns available rates with costs and delivery estimates. |
| `SHIPPO_CREATE_MANIFEST` | Create Manifest | Tool to create a new shipping manifest with Shippo. Use when you need to generate a manifest document for a carrier with multiple shipments that need to be scanned at pickup. |
| `SHIPPO_CREATE_MERCHANT_ADDRESS` | Create Merchant Address | Tool to create a new address for a merchant using Shippo's Platform API. Use when you need to add an address to a merchant's account for shipping operations. This endpoint is part of the Platform API and requires a merchant ID. |
| `SHIPPO_CREATE_MERCHANT_BATCH` | Create Merchant Batch | Tool to create a batch for a merchant using the Shippo Platform API. Use when you need to create bulk shipment batches for a specific merchant account. Requires valid merchant ID, carrier account, and shipment IDs. |
| `SHIPPO_CREATE_MERCHANT_CARRIER_ACCOUNT` | Create Merchant Carrier Account | Tool to create a carrier account for a merchant using the Shippo Platform API. Use when you need to register carrier credentials for a specific merchant in a platform integration scenario. |
| `SHIPPO_CREATE_MERCHANT_CUSTOMS_DECLARATION` | Create Merchant Customs Declaration | Tool to create a new customs declaration for a merchant using Shippo's Platform API. Use when you need to create a customs declaration for international shipments on behalf of a merchant. This endpoint is part of the Platform API and requires a merchant ID. |
| `SHIPPO_CREATE_MERCHANT_CUSTOMS_ITEM` | Create Merchant Customs Item | Tool to create a new customs item for a merchant using Shippo's Platform API. Use when you need to create customs items for a merchant's international shipments. This endpoint is part of the Platform API and requires a merchant ID. |
| `SHIPPO_CREATE_MERCHANT_ORDER` | Create Merchant Order | Tool to create an order for a merchant using the Shippo Platform API. Use when you need to create an order on behalf of a merchant account with recipient address and order details. |
| `SHIPPO_CREATE_MERCHANT_PARCEL` | Create Merchant Parcel | Tool to create a new parcel for a merchant using Shippo's Platform API. Use when you need to define package dimensions for a merchant's shipping operations. This endpoint is part of the Platform API and requires a merchant ID. |
| `SHIPPO_CREATE_MERCHANT_REFUND` | Create Merchant Refund | Tool to create a refund for a merchant using the Shippo Platform API. Use when you need to refund a transaction for a specific merchant account. Requires valid merchant ID and transaction ID. |
| `SHIPPO_CREATE_MERCHANT_SHIPMENT` | Create Merchant Shipment | Tool to create a new shipment for a merchant using Shippo's Platform API. Use when you need to create a shipment with origin/destination addresses and parcel details to get shipping rates. This endpoint is part of the Platform API and requires a merchant ID. |
| `SHIPPO_CREATE_MERCHANT_TRANSACTION` | Create Merchant Transaction | Tool to create a shipping label transaction for a merchant using the Shippo Platform API. Use when you need to purchase a shipping label for a specific merchant account using an existing rate ID. |
| `SHIPPO_CREATE_ORDER` | Create Order | Tool to create a new order in Shippo. Use when you need to register an order for shipment processing. The order must include a recipient address and placement timestamp. Line items can be provided for detailed tracking, or a total weight can be specified. |
| `SHIPPO_CREATE_PARCEL` | Create Parcel | Tool to create a new parcel in Shippo with dimensions and weight specifications. Use when you need to define package dimensions for shipping rate calculations or label generation. The parcel object is required to create shipments and obtain shipping rates. |
| `SHIPPO_CREATE_REFUND` | Create Refund | Tool to create a refund for a Shippo transaction. Use when you need to refund a previously created shipping label or transaction. |
| `SHIPPO_CREATE_SERVICE_GROUP` | Create Service Group | Tool to create a new Shippo service group with specified pricing model and carrier service levels. Use when you need to configure a custom shipping rate group for checkout display. |
| `SHIPPO_CREATE_SHIPMENT` | Create Shipment | Tool to create a new shipment with Shippo. Use when you need to generate shipping rates for a package by providing origin and destination addresses and parcel details. |
| `SHIPPO_REGISTER_TRACKING_WEBHOOK` | Register Tracking Webhook | Tool to register a tracking webhook for a shipment. Use when you need to start tracking a shipment using its carrier and tracking number. This creates a tracking object that will receive updates about the shipment's status and location. |
| `SHIPPO_CREATE_TRANSACTION` | Create Transaction | Tool to create a shipping label transaction with Shippo. Use when you need to purchase a shipping label either from an existing rate ID or by specifying shipment details directly. |
| `SHIPPO_CREATE_USER_PARCEL_TEMPLATE` | Create User Parcel Template | Tool to create a new user parcel template in Shippo with preset dimensions and weight specifications. Use when you need to define reusable package configurations for shipping rate calculations or label generation. User parcel templates can be based on carrier templates with custom weights. |
| `SHIPPO_CREATE_SHIPPO_WEBHOOK` | Create Shippo Webhook | Tool to create a new webhook subscription in Shippo. Use when you need to register an endpoint to receive real-time notifications for shipping events such as tracking updates, transaction creation, or batch processing. Webhooks enable automated workflows by pushing event data to your application as events occur. |
| `SHIPPO_DELETE_DEFAULT_PARCEL_TEMPLATE` | Delete Default Parcel Template | Tool to clear the current default parcel template. Use when you need to remove the default parcel template configuration for live rates at checkout. |
| `SHIPPO_DELETE_USER_PARCEL_TEMPLATE` | Delete User Parcel Template | Tool to delete a user-created parcel template. Use when you need to remove a custom parcel template that is no longer needed. |
| `SHIPPO_DELETE_WEBHOOK` | Delete Webhook | Tool to delete a specific webhook from Shippo. Use when you need to remove a webhook that is no longer needed or needs to be reconfigured. |
| `SHIPPO_GET_ADDRESS` | Get Address | Tool to retrieve a previously created address from Shippo. Use when you need to get the details of an existing address using its object ID. |
| `SHIPPO_GET_CARRIER_ACCOUNT` | Get Carrier Account | Tool to retrieve a carrier account by its ID. Use when you need to get details about a specific carrier account configuration. |
| `SHIPPO_GET_CARRIER_PARCEL_TEMPLATE` | Get Carrier Parcel Template | Tool to retrieve a specific carrier parcel template by its token. Use when you need to get detailed dimensions and specifications for a standardized carrier package type. |
| `SHIPPO_GET_CARRIER_REGISTRATION_STATUS` | Get Carrier Registration Status | Tool to retrieve carrier registration status from Shippo. Use when you need to check the registration or authentication status of a carrier account. |
| `SHIPPO_GET_CUSTOMS_DECLARATION` | Get Customs Declaration | Tool to retrieve a customs declaration by its ID. Use when you need to fetch details about a specific customs declaration including items, certifications, and shipping information. |
| `SHIPPO_GET_CUSTOMS_ITEM` | Get customs item | Tool to retrieve a customs item from Shippo. Use when you need to fetch details about a previously created customs declaration for international shipments. |
| `SHIPPO_GET_DEFAULT_PARCEL_TEMPLATE` | Get Default Parcel Template | Tool to retrieve the current default parcel template for live rates at checkout. Use when you need to view the default parcel dimensions and weight settings. |
| `SHIPPO_GET_MERCHANT` | Get Merchant | Tool to retrieve a merchant from the Shippo Platform API. Use when you need to get the details of an existing merchant using their object ID. |
| `SHIPPO_GET_MERCHANT_ADDRESS` | Get Merchant Address | Tool to retrieve a merchant address from Shippo Platform API. Use when you need to get the details of an existing merchant address using merchant ID and address ID. |
| `SHIPPO_GET_MERCHANT_BATCH` | Get Merchant Batch | Tool to retrieve a batch for a merchant from the Shippo Platform API. Use when you need to get details of an existing batch using merchant and batch IDs. |
| `SHIPPO_GET_MERCHANT_CARRIER_ACCOUNT` | Get Merchant Carrier Account | Tool to retrieve a carrier account for a merchant using the Shippo Platform API. Use when you need to get details about a specific carrier account associated with a merchant on the platform. |
| `SHIPPO_GET_MERCHANT_CARRIER_REGISTRATION_STATUS` | Get Merchant Carrier Registration Status | Tool to retrieve carrier registration status for a specific merchant using Shippo's Platform API. Use when you need to check if a merchant has registered or connected a carrier account. |
| `SHIPPO_GET_MERCHANT_CUSTOMS_DECLARATION` | Get Merchant Customs Declaration | Tool to retrieve a specific customs declaration for a merchant using Shippo's Platform API. Use when you need to fetch details about a merchant's customs declaration for international shipments. |
| `SHIPPO_GET_MERCHANT_CUSTOMS_ITEM` | Get Merchant Customs Item | Tool to retrieve a customs item for a merchant using the Shippo Platform API. Use when you need to fetch details about a specific customs item for a merchant's international shipments. |
| `SHIPPO_GET_MERCHANT_MANIFEST` | Get Merchant Manifest | Tool to retrieve a manifest for a merchant from the Shippo Platform API. Use when you need to get details of an existing manifest using merchant and manifest IDs. |
| `SHIPPO_GET_MERCHANT_ORDER` | Get Merchant Order | Tool to retrieve an order for a merchant from the Shippo Platform API. Use when you need to get details of an existing order using merchant and order IDs. |
| `SHIPPO_GET_MERCHANT_PARCEL` | Get Merchant Parcel | Tool to retrieve a parcel for a merchant from the Shippo Platform API. Use when you need to fetch details of a parcel that belongs to a specific merchant. |
| `SHIPPO_GET_MERCHANT_RATE` | Get Merchant Rate | Tool to retrieve a specific shipping rate for a merchant using the Shippo Platform API. Use when you need to fetch detailed rate information for a merchant's shipment, including pricing, carrier details, and service level. |
| `SHIPPO_GET_MERCHANT_REFUND` | Get Merchant Refund | Tool to retrieve a merchant refund from Shippo Platform API. Use when you need to get the details or status of a specific refund for a merchant. |
| `SHIPPO_GET_MERCHANT_SHIPMENT` | Get Merchant Shipment | Tool to retrieve a shipment for a merchant from the Shippo Platform API. Use when you need to fetch details of a shipment that belongs to a specific merchant. |
| `SHIPPO_GET_MERCHANT_TRACKING_STATUS` | Get Merchant Tracking Status | Tool to retrieve tracking status for a merchant from Shippo Platform API. Use when you need to get the current status, location, and history of a package for a specific merchant using carrier and tracking number. |
| `SHIPPO_GET_MERCHANT_TRANSACTION` | Get Merchant Transaction | Tool to retrieve a shipping label transaction for a merchant from the Shippo Platform API. Use when you need to get the details of an existing transaction for a merchant including tracking information, label URLs, and transaction status. |
| `SHIPPO_GET_ORDER` | Get Order | Tool to retrieve an order from Shippo. Use when you need to fetch details about a specific order including shipping addresses, line items, and transactions. |
| `SHIPPO_GET_PARCEL` | Get Parcel | Tool to retrieve a parcel by its ID. Use when you need to fetch details of an existing parcel object including dimensions, weight, and metadata. |
| `SHIPPO_GET_RATE` | Get Rate | Tool to retrieve a specific shipping rate by its ID. Use when you need to fetch detailed rate information including pricing, carrier details, and service level. |
| `SHIPPO_GET_REFUND` | Get Refund | Tool to retrieve a refund by its ID from Shippo. Use when you need to check the status or details of a specific refund transaction. Requires the refund_id which is obtained when creating a refund. |
| `SHIPPO_GET_SHIPMENT` | Get Shipment | Tool to retrieve a shipment by its ID. Use when you need to fetch details about a specific shipment including addresses, parcels, rates, and status. |
| `SHIPPO_GET_SHIPPO_ACCOUNT` | Get Shippo Account | Tool to retrieve a Shippo Account from the Shippo Platform API. Use when you need to get the details of an existing Shippo Account using its object ID. |
| `SHIPPO_GET_TRACKING_STATUS` | Get Tracking Status | Tool to retrieve tracking status for a shipment from Shippo. Use when you need to get the current status, location, and history of a package using its carrier and tracking number. |
| `SHIPPO_GET_TRANSACTION` | Get Transaction | Tool to retrieve a shipping label transaction by its ID. Use when you need to get the details of an existing transaction including tracking information, label URLs, and transaction status. |
| `SHIPPO_GET_USER_PARCEL_TEMPLATE` | Get User Parcel Template | Tool to retrieve a specific user-created parcel template by its object ID. Use when you need to get dimensions and specifications for a custom parcel template. |
| `SHIPPO_GET_WEBHOOK` | Get Webhook | Tool to retrieve a specific webhook subscription from Shippo. Use when you need to get the details of an existing webhook using its object ID. |
| `SHIPPO_LIST_ADDRESSES` | List Addresses | Tool to list all addresses in the Shippo account with pagination support. Use when you need to retrieve stored addresses for shipment creation or management. |
| `SHIPPO_LIST_CARRIER_ACCOUNTS` | List Carrier Accounts | Tool to list all carrier accounts configured in the Shippo account with pagination support. Use when you need to retrieve carrier accounts for shipment creation or management. |
| `SHIPPO_LIST_CARRIER_PARCEL_TEMPLATES` | List Carrier Parcel Templates | Tool to list all carrier parcel templates available for creating shipments. Use when you need to retrieve standardized parcel dimensions provided by carriers like FedEx, USPS, UPS, etc. |
| `SHIPPO_LIST_CUSTOMS_DECLARATIONS` | List Customs Declarations | Tool to list all customs declarations in the Shippo account with pagination support. Use when you need to retrieve customs declarations for international shipments. |
| `SHIPPO_LIST_CUSTOMS_ITEMS` | List Customs Items | Tool to list all customs items with pagination support. Use when you need to retrieve customs declarations for international shipments. |
| `SHIPPO_LIST_MANIFESTS` | List Manifests | Tool to list all shipping manifests from Shippo. Use when you need to retrieve a paginated list of manifests with optional filtering by page number and results per page. |
| `SHIPPO_LIST_MERCHANT_ADDRESSES` | List Merchant Addresses | Tool to list all addresses for a specific merchant using the Shippo Platform API. Use when you need to retrieve merchant addresses with pagination support. |
| `SHIPPO_LIST_MERCHANT_CARRIER_ACCOUNTS` | List Merchant Carrier Accounts | Tool to list all carrier accounts for a specific merchant using the Shippo Platform API. Use when you need to retrieve carrier accounts configured for a merchant in a platform context. |
| `SHIPPO_LIST_MERCHANT_CUSTOMS_DECLARATIONS` | List Merchant Customs Declarations | Tool to list all customs declarations for a specific merchant using the Shippo Platform API. Use when you need to retrieve merchant customs declarations for international shipments. |
| `SHIPPO_LIST_MERCHANT_CUSTOMS_ITEMS` | List Merchant Customs Items | Tool to list all customs items for a specific merchant using the Shippo Platform API. Use when you need to retrieve merchant customs items for international shipments. |
| `SHIPPO_LIST_MERCHANT_MANIFESTS` | List Merchant Manifests | Tool to list all manifests for a specific merchant using Shippo's Platform API. Use when you need to retrieve manifests for a merchant account with optional pagination. |
| `SHIPPO_LIST_MERCHANT_PARCELS` | List Merchant Parcels | Tool to list all parcels for a specific merchant using the Shippo Platform API. Use when you need to retrieve merchant parcels with pagination support. |
| `SHIPPO_LIST_MERCHANTS` | List Merchants | Tool to list all merchants using the Shippo Platform API with pagination support. Use when you need to retrieve merchant accounts in a platform context. |
| `SHIPPO_LIST_MERCHANT_SHIPMENT_RATES_BY_CURRENCY` | List Merchant Shipment Rates by Currency | Tool to retrieve available shipping rates for a merchant's shipment filtered by currency code using the Shippo Platform API. Use when you need to compare carrier pricing in a specific currency for a merchant's shipment. |
| `SHIPPO_LIST_MERCHANT_SHIPMENTS` | List Merchant Shipments | Tool to list all shipments for a specific merchant using Shippo's Platform API. Use when you need to retrieve shipments for a merchant account with optional pagination. |
| `SHIPPO_LIST_MERCHANT_TRANSACTIONS` | List Merchant Transactions | Tool to list all shipping label transactions for a merchant using the Shippo Platform API. Use when you need to retrieve shipping labels created for a specific merchant with pagination support. |
| `SHIPPO_LIST_ORDERS` | List Orders | Tool to list all orders in the Shippo account with pagination support. Use when you need to retrieve customer orders for creating shipments or managing order fulfillment. |
| `SHIPPO_LIST_REFUNDS` | List Refunds | Tool to retrieve a list of all refunds from Shippo. Use when you need to view refund history, check refund statuses, or audit reimbursements for unused shipping labels. Supports pagination for large result sets. |
| `SHIPPO_LIST_SERVICE_GROUPS` | List Service Groups | Tool to retrieve all service groups configured in Shippo. Use when you need to view available shipping service groups, their configurations, rates, and service levels. |
| `SHIPPO_LIST_SHIPMENT_RATES` | List Shipment Rates | Tool to retrieve available shipping rates for a specific shipment. Use when you need to compare carrier pricing and service options for a shipment. |
| `SHIPPO_LIST_SHIPMENT_RATES_BY_CURRENCY` | List Shipment Rates by Currency | Tool to retrieve available shipping rates for a specific shipment filtered by currency code. Use when you need to compare carrier pricing in a specific currency (e.g., USD, EUR, GBP). |
| `SHIPPO_LIST_SHIPMENTS` | List Shipments | Tool to list all shipments in the Shippo account with pagination support. Use when you need to retrieve shipment records, check shipment status, or manage shipping operations. |
| `SHIPPO_LIST_SHIPPO_ACCOUNTS` | List Shippo Accounts | Tool to list all Managed Shippo Accounts. Use when you need to retrieve all Shippo Accounts associated with your platform account. Supports pagination for large result sets. |
| `SHIPPO_LIST_USER_PARCEL_TEMPLATES` | List User Parcel Templates | Tool to list all user-created parcel templates. Use when you need to retrieve custom parcel dimensions and configurations that were created by the user. |
| `SHIPPO_PURCHASE_MERCHANT_BATCH` | Purchase Merchant Batch | Tool to purchase a batch for a merchant via the Shippo Platform API. Use when you need to purchase a previously created batch of shipments. The batch must be in VALID status before it can be purchased. |
| `SHIPPO_REMOVE_SHIPMENTS_FROM_BATCH` | Remove Shipments From Batch | Tool to remove shipments from a batch for a merchant using the Shippo Platform API. Use when you need to remove one or more shipments from an existing batch before purchase or during batch management. |
| `SHIPPO_UPDATE_CARRIER_ACCOUNT` | Update Carrier Account | Tool to update an existing carrier account in Shippo. Use when you need to modify carrier account settings such as activation status, account credentials, or carrier-specific parameters. |
| `SHIPPO_UPDATE_DEFAULT_PARCEL_TEMPLATE` | Update Default Parcel Template | Tool to update the default parcel template for live rates at checkout in Shippo. Use when you need to set a specific parcel template as the default for calculating shipping rates. |
| `SHIPPO_UPDATE_MERCHANT` | Update Merchant | Tool to update an existing merchant in Shippo Platform API. Use when you need to modify merchant details such as name, email, or business information. This action requires Platform API authentication. |
| `SHIPPO_UPDATE_MERCHANT_CARRIER_ACCOUNT` | Update Merchant Carrier Account | Tool to update a carrier account for a merchant in Shippo Platform API. Use when you need to modify merchant carrier account settings such as activation status, billing address, or UPS-specific parameters. Requires Platform API authentication with merchant context. |
| `SHIPPO_UPDATE_SERVICE_GROUP` | Update Service Group | Tool to update an existing Shippo service group. Use when you need to modify service group details such as name, description, rate adjustment, or service levels. |
| `SHIPPO_UPDATE_USER_PARCEL_TEMPLATE` | Update User Parcel Template | Tool to update an existing user parcel template with new weight and carrier template settings. Use when you need to modify the dimensions or weight of a previously created custom parcel template. |
| `SHIPPO_UPDATE_WEBHOOK` | Update Webhook | Tool to update an existing webhook in Shippo. Use when you need to modify webhook settings such as the event type, URL endpoint, activation status, or test mode flag. |
| `SHIPPO_VALIDATE_ADDRESS` | Validate Address | Tool to validate an address using the Shippo API. Use when you need to verify that a shipping address is valid and complete before creating a shipment. |
| `SHIPPO_VALIDATE_MERCHANT_ADDRESS` | Validate Merchant Address | Tool to validate a merchant address using the Shippo Platform API. Use when you need to verify that a merchant's shipping address is valid and complete. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Shippo MCP server is an implementation of the Model Context Protocol that connects Claude Code (and other AI assistants like Claude and Cursor) directly to your Shippo account. It provides structured and secure access so Claude can perform Shippo operations on your behalf.
With Composio's managed implementation, you don't have to create your own developer app. For production, if you're building an end product, we recommend using your own credentials. The managed server helps you prototype fast and go from 0-1 faster.

## Step-by-step Guide

### 1. Prerequisites

Before starting, make sure you have:
- Claude Pro, Max, or API billing enabled Anthropic account
- Composio API Key
- A Shippo account
- Basic knowledge of Python or TypeScript

### 1. Install Claude Code

To install Claude Code, use one of the following methods based on your operating system:
```bash
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
```

### 2. Set up Claude Code

Open a terminal, go to your project folder, and start Claude Code:
- Claude Code will open in your terminal
- Follow the prompts to sign in with your Anthropic account
- Complete the authentication flow
- Once authenticated, you can start using Claude Code
```bash
cd your-project-folder
claude
```

### 3. Set up environment variables

Create a .env file in your project root with the following variables:
- COMPOSIO_API_KEY authenticates with Composio (get it from [Composio dashboard](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=claude-code&utm_content=api_key&next=%2F~%2Forg%2Fconnect%2Fclients%2Fclaude-code))
- USER_ID identifies the user for session management (use any unique identifier)
```bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
```

### 4. Install Composio library

No description provided.
```python
pip install composio-core python-dotenv
```

```typescript
npm install @composio/core dotenv
```

### 5. Generate Composio MCP URL

No description provided.
```python
import os
from composio import Composio
from dotenv import load_dotenv

load_dotenv()

COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
USER_ID = os.getenv("USER_ID")

composio_client = Composio(api_key=COMPOSIO_API_KEY)

composio_session = composio_client.create(
    user_id=USER_ID,
    toolkits=["shippo"],
)

COMPOSIO_MCP_URL = composio_session.mcp.url

print(f"MCP URL: {COMPOSIO_MCP_URL}")
print(f"\nUse this command to add to Claude Code:")
print(f'claude mcp add --transport http shippo-composio "{COMPOSIO_MCP_URL}" --headers "X-API-Key:{COMPOSIO_API_KEY}"')
```

```typescript
import 'dotenv/config';
import { Composio } from '@composio/core';

const { COMPOSIO_API_KEY, USER_ID } = process.env;

if (!COMPOSIO_API_KEY || !USER_ID) {
  throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}

const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });

const composioSession = await composioClient.create(USER_ID, {
  toolkits: ['shippo'],
});

const composioMcpUrl = composioSession?.mcp.url;

console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http shippo-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);
```

### 6. Run the script and copy the MCP URL

No description provided.
```python
python generate_mcp_url.py
```

```typescript
node --loader ts-node/esm generate_mcp_url.ts
# or if using tsx
tsx generate_mcp_url.ts
```

### 7. Add Shippo MCP to Claude Code

In your terminal, add the MCP server using the command from the previous step. The command format is:
- claude mcp add registers a new MCP server with Claude Code
- --transport http specifies that this is an HTTP-based MCP server
- The server name (shippo-composio) is how you'll reference it
- The URL points to your Composio Tool Router session
- --headers includes your Composio API key for authentication
After running the command, close the current Claude Code session and start a new one for the changes to take effect.
```bash
claude mcp add --transport http shippo-composio "YOUR_MCP_URL_HERE" --headers "X-API-Key:YOUR_COMPOSIO_API_KEY"

# Then restart Claude Code
exit
claude
```

### 8. Verify the installation

Check that your Shippo MCP server is properly configured.
- This command lists all MCP servers registered with Claude Code
- You should see your shippo-composio entry in the list
- This confirms that Claude Code can now access Shippo tools
If everything is wired up, you should see your shippo-composio entry listed:
```bash
claude mcp list
```

### 9. Authenticate Shippo

The first time you try to use Shippo tools, you'll be prompted to authenticate.
- Claude Code will detect that you need to authenticate with Shippo
- It will show you an authentication link
- Open the link in your browser (or copy/paste it)
- Complete the Shippo authorization flow
- Return to the terminal and start using Shippo through Claude Code
Once authenticated, you can ask Claude Code to perform Shippo operations in natural language. For example:
- "Create shipping label for new order"
- "Track shipment status by tracking number"
- "Get shipping rates for a package"

## Complete Code

```python
import os
from composio import Composio
from dotenv import load_dotenv

load_dotenv()

COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
USER_ID = os.getenv("USER_ID")

composio_client = Composio(api_key=COMPOSIO_API_KEY)

composio_session = composio_client.create(
    user_id=USER_ID,
    toolkits=["shippo"],
)

COMPOSIO_MCP_URL = composio_session.mcp.url

print(f"MCP URL: {COMPOSIO_MCP_URL}")
print(f"\nUse this command to add to Claude Code:")
print(f'claude mcp add --transport http shippo-composio "{COMPOSIO_MCP_URL}" --headers "X-API-Key:{COMPOSIO_API_KEY}"')
```

```typescript
import 'dotenv/config';
import { Composio } from '@composio/core';

const { COMPOSIO_API_KEY, USER_ID } = process.env;

if (!COMPOSIO_API_KEY || !USER_ID) {
  throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}

const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });

const composioSession = await composioClient.create(USER_ID, {
  toolkits: ['shippo'],
});

const composioMcpUrl = composioSession?.mcp.url;

console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http shippo-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);
```

## Conclusion

You've successfully integrated Shippo with Claude Code using Composio's MCP server. Now you can interact with Shippo directly from your terminal using natural language commands.
Key features of this setup:
- Terminal-native experience without switching contexts
- Natural language commands for Shippo operations
- Secure authentication through Composio's managed MCP
- Tool Router for dynamic tool discovery and execution
Next steps:
- Try asking Claude Code to perform various Shippo operations
- Add more toolkits to your Tool Router session for multi-app workflows
- Integrate this setup into your development workflow for increased productivity
You can extend this by adding more toolkits, implementing custom workflows, or building automation scripts that leverage Claude Code's capabilities.

## How to build Shippo MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/shippo/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/shippo/framework/claude-agents-sdk)
- [Claude Cowork](https://composio.dev/toolkits/shippo/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/shippo/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/shippo/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/shippo/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/shippo/framework/cli)
- [Google ADK](https://composio.dev/toolkits/shippo/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/shippo/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/shippo/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/shippo/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/shippo/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/shippo/framework/crew-ai)

## Related Toolkits

- [Addresszen](https://composio.dev/toolkits/addresszen) - Addresszen is a real-time address autocomplete and verification service. It helps capture accurate, deliverable addresses with instant suggestions and validation.
- [Asin data api](https://composio.dev/toolkits/asin_data_api) - Asin data api gives you detailed, real-time product data from Amazon, including price, rank, and reviews. Perfect for e-commerce pros and data-driven marketers who need instant marketplace insights.
- [Baselinker](https://composio.dev/toolkits/baselinker) - BaseLinker is an all-in-one e-commerce management platform connecting stores, marketplaces, carriers, and more. It streamlines order processing, inventory control, and automates your sales operations.
- [Bestbuy](https://composio.dev/toolkits/bestbuy) - Best Buy is a leading retailer offering APIs for product, store, and recommendation data. Instantly access up-to-date retail insights for smarter shopping and decision-making.
- [Btcpay server](https://composio.dev/toolkits/btcpay_server) - BTCPay Server is a free, open-source, self-hosted Bitcoin payment processor. It lets merchants accept Bitcoin payments directly, cutting out middlemen and boosting privacy.
- [Cdr platform](https://composio.dev/toolkits/cdr_platform) - Cdr platform is an API for purchasing carbon dioxide removal services. It enables businesses to offset emissions by accessing verified carbon removal projects.
- [Cloudcart](https://composio.dev/toolkits/cloudcart) - CloudCart is an e-commerce platform for building and managing online stores. It helps businesses streamline product listings, orders, and customer engagement.
- [Countdown api](https://composio.dev/toolkits/countdown_api) - Countdown API gives you real-time, structured eBay product data, reviews, and seller feedback. Perfect for powering price monitoring, product research, or marketplace analytics workflows.
- [Dpd2](https://composio.dev/toolkits/dpd2) - Dpd2 is a robust email management platform for handling, sorting, and automating email workflows. Streamline your communications and boost productivity with advanced sorting, labeling, and response tools.
- [Finerworks](https://composio.dev/toolkits/finerworks) - FinerWorks is an online platform for fine art and photo printing services. Artists and photographers use it to order custom prints and manage print inventory efficiently.
- [Fingertip](https://composio.dev/toolkits/fingertip) - Fingertip is a business management platform for selling, booking, and customer engagement—all from a single link. It helps businesses streamline operations and connect with customers across social channels.
- [Fraudlabs pro](https://composio.dev/toolkits/fraudlabs_pro) - FraudLabs Pro is an online payment fraud detection service for e-commerce and merchants. It helps minimize chargebacks and revenue loss by detecting and preventing fraudulent transactions.
- [Gift up](https://composio.dev/toolkits/gift_up) - Gift Up! is a digital platform for selling, managing, and redeeming gift cards online. It streamlines promotions and gift card transactions for businesses and their customers.
- [Goody](https://composio.dev/toolkits/goody) - Goody is a gifting platform that lets users send gifts and physical products without handling logistics. It streamlines gifting by managing delivery, fulfillment, and recipient experience.
- [Gumroad](https://composio.dev/toolkits/gumroad) - Gumroad is a platform for selling digital products, physical goods, and memberships with a simple checkout and marketing tools. It streamlines creator payouts and helps you grow your audience effortlessly.
- [Instacart](https://composio.dev/toolkits/instacart) - Instacart is an online grocery delivery and pickup service platform. It lets you discover local retailers and create shoppable lists and recipes with ease.
- [Junglescout](https://composio.dev/toolkits/junglescout) - Junglescout is an Amazon product research and analytics platform for sellers. It delivers sales estimates, competitive insights, and optimization tools to boost your Amazon business.
- [Ko fi](https://composio.dev/toolkits/ko_fi) - Ko-fi is a platform that lets creators receive donations, memberships, and sales from fans. It helps creators monetize their work and grow their audience with minimal friction.
- [Lemon squeezy](https://composio.dev/toolkits/lemon_squeezy) - Lemon Squeezy is a payments and subscription platform built for software companies. It makes managing payments, taxes, and customer subscriptions effortless.
- [Loyverse](https://composio.dev/toolkits/loyverse) - Loyverse is a point-of-sale (POS) platform for small businesses, offering tools for sales, inventory, and customer loyalty. It helps streamline retail operations and boost customer engagement.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Shippo MCP?

With a standalone Shippo MCP server, the agents and LLMs can only access a fixed set of Shippo tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Shippo and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Claude Code?

Yes, you can. Claude Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Shippo tools.

### Can I manage the permissions and scopes for Shippo while using Tool Router?

Yes, absolutely. You can configure which Shippo scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Shippo data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
