Chit Chats MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chit Chats MCP Server List all delivered shipments from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chit Chats MCP Server
A Model Context Protocol (MCP) server for the Chit Chats shipping API. Query shipments, track packages, manage batches, and access shipping rates programmatically.
Features
Shipment Management - List, search, create, and manage shipments
Cost Analysis - Get detailed cost breakdowns including postage, tariffs, broker fees
HS Tariff Codes - Access line item details with HS codes, SKUs, manufacturer info
Shipping Rates - Compare all available carrier options with delivery times
Label Downloads - Get PNG, PDF, and ZPL label URLs
Batch Operations - Organize shipments into batches for drop-off
Order Tracking - Track shipments by order ID (Shopify, Etsy, etc.)
Related MCP server: Etsy MCP Server
Installation
git clone https://github.com/yourusername/chitchats-mcp.git
cd chitchats-mcp
npm install
npm run buildConfiguration
Get your API credentials from Chit Chats Settings > Developer > API Access Tokens
Set your credentials using one of these methods:
Option A: Environment variables in MCP config (recommended)
Pass credentials via
-eflags (CLI) orenvblock (JSON) - see Usage section below.Option B:
.envfilecp .env.example .envAdd your credentials to
.env:CHITCHATS_CLIENT_ID=your_client_id CHITCHATS_ACCESS_TOKEN=your_access_token
Usage
Claude Code (CLI)
Add the MCP server using the Claude Code CLI (replace the path and credentials):
claude mcp add chitchats -s user \
-e CHITCHATS_CLIENT_ID=your_client_id \
-e CHITCHATS_ACCESS_TOKEN=your_access_token \
-- node <ABSOLUTE_PATH_TO>/chitchats-mcp/dist/index.jsExample with real path:
claude mcp add chitchats -s user \
-e CHITCHATS_CLIENT_ID=abc123 \
-e CHITCHATS_ACCESS_TOKEN=sk_live_xxx \
-- node /Users/jane/projects/chitchats-mcp/dist/index.jsOr manually add to your settings file (~/.claude/settings.json):
{
"mcpServers": {
"chitchats": {
"command": "node",
"args": ["<ABSOLUTE_PATH_TO>/chitchats-mcp/dist/index.js"],
"env": {
"CHITCHATS_CLIENT_ID": "your_client_id",
"CHITCHATS_ACCESS_TOKEN": "your_access_token"
}
}
}
}Scopes:
-s user- Available in all projects (recommended)-s project- Only in current project (adds to.claude/settings.json)
Verify the server is connected:
claude mcp listClaude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"chitchats": {
"command": "node",
"args": ["<ABSOLUTE_PATH_TO>/chitchats-mcp/dist/index.js"],
"env": {
"CHITCHATS_CLIENT_ID": "your_client_id",
"CHITCHATS_ACCESS_TOKEN": "your_access_token"
}
}
}
}Note: Replace
<ABSOLUTE_PATH_TO>with the actual path where you cloned the repo (e.g.,/Users/jane/projectsorC:\Users\Jane\projects).
Restart Claude Desktop after adding the configuration.
Available Tools
Tool | Description |
| List/search shipments with filters |
| Get full shipment details |
| Get available shipping rates |
| Get label download URLs |
| Get HS codes, SKUs, manufacturer info |
| Create a new shipment |
| Delete an unpaid shipment |
| Purchase postage |
| Request a refund |
| Refresh rate quotes |
| Count shipments by status |
| List batches |
| Create a batch |
| Get batch details |
| Delete an empty batch |
| Add shipments to a batch |
| Remove shipments from batches |
| Count batches |
| List return shipments |
| Get tracking information |
Example Queries
"What did I pay for shipping on order #1234?"
"Show me the HS codes for my recent shipments"
"What shipping options are available to California?"
"Get the label for shipment ABC123"
"List all delivered shipments from last month"Data Available
Shipment Details
Order info (order_id, store platform)
Recipient (name, address, phone, email)
Package (dimensions, weight, declared value)
Costs (postage, tariff, broker fee, taxes)
Labels (PNG, PDF, ZPL URLs)
Tracking (carrier, tracking number, status)
Line Items
HS tariff codes
SKU codes
Country of origin
Manufacturer details
Rates
All carrier options
Cost breakdowns
Delivery time estimates
API Reference
This MCP server wraps the Chit Chats API v1.
Rate Limits: 2,000 requests per 5-minute window
Sandbox: Use https://staging.chitchats.com for testing (test card: 4242 4242 4242 4242)
Development
npm install # Install dependencies
npm run build # Compile TypeScript
npm run dev # Build and runSee CONTRIBUTING.md for development guidelines.
License
MIT License - see LICENSE for details.
Links
Chit Chats - Canadian shipping solution
Available Tools
20 toolschitchats_add_to_batchB
Add one or more shipments to a batch.
Inputs: batch_id (required), shipment_ids (required).
chitchats_buy_postageA
Purchase postage for a shipment. This is an async operation - check shipment status after.
Inputs: id (required).
chitchats_count_batchesARead-only
Get count of batches, optionally by status.
Inputs: status.
chitchats_count_shipmentsARead-only
Get a count of shipments, optionally filtered by status.
Inputs: status.
chitchats_create_batchB
Create a new batch to group shipments for drop-off.
Inputs: description.
chitchats_create_shipmentB
Create a new shipment with recipient address, package dimensions, and optional order reference.
Inputs: city (required), name (required), address_1 (required), postal_code (required), +18 more.
chitchats_delete_batchADestructive
Delete an empty batch. Batches with shipments cannot be deleted.
Inputs: id (required).
chitchats_delete_shipmentADestructive
Delete an unpaid shipment. Only shipments without purchased postage can be deleted.
Inputs: id (required).
chitchats_get_batchARead-only
Get details of a specific batch by ID.
Inputs: id (required).
chitchats_get_labelsARead-only
Get label download URLs (PNG, PDF, ZPL) for a shipment with purchased postage.
Inputs: id (required).
chitchats_get_line_itemsARead-only
Get line items for a shipment including HS tariff codes, SKUs, quantities, weights, origin countries, and manufacturer info.
Inputs: id (required).
chitchats_get_ratesBRead-only
Get all available shipping rates for a shipment, including costs, delivery times, and carrier options.
Inputs: id (required).
chitchats_get_shipmentARead-only
Get full details of a specific shipment by ID, including cost breakdown, tracking info, and recipient details.
Inputs: id (required).
chitchats_list_batchesARead-only
List batches with optional status filter and pagination.
Inputs: page, limit, status.
chitchats_list_returnsBRead-only
List return shipments with optional filters.
Inputs: page, limit, reason, status.
chitchats_list_shipmentsARead-only
List and search shipments with filters. Use this to find shipments by order ID, status, date range, or batch. Supports pagination.
Inputs: page, limit, search, status, +3 more.
chitchats_refresh_ratesA
Update shipment dimensions and refresh rate quotes. Useful when package size changes.
Inputs: id (required), size_x, size_y, size_z, +1 more.
chitchats_refund_shipmentA
Request a refund for a shipment with purchased postage.
Inputs: id (required).
chitchats_remove_from_batchA
Remove shipments from their current batches.
Inputs: shipment_ids (required).
chitchats_track_shipmentARead-only
Get public tracking information for a shipment including status and event history.
Inputs: id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 20 tools
Most tools are clearly distinct, targeting separate resources (shipments, batches, returns) and actions. The only slight overlap is between get_rates and refresh_rates, but the descriptions make the difference clear (one fetches rates, the other updates dimensions before re-fetching).
All tools follow a consistent pattern with the 'chitchats_' prefix and verb_noun structure, using verbs like list, get, create, delete, buy, refund, refresh, count, add_to, remove_from, and track. No naming inconsistencies or mixed styles.
20 tools is on the higher end but still reasonable given the broad scope covering shipments, batches, returns, rates, labels, line items, and tracking. Each tool serves a concrete purpose, and the count reflects the complexity of the shipping domain.
The tool set provides comprehensive coverage for shipment and batch lifecycles, including create, read, list, delete, postage purchase, refund, tracking, and rate refreshing. The main gap is the lack of a general update shipment tool, as refresh_rates only handles dimension changes.
Maintenance
Related MCP Connectors
MCP server for EasyPost — rate shipments, buy & refund labels, track packages, verify addresses.
MCP server for tracking parcels using the NetCourier tracking service.
A paid remote MCP for ShipSwift, built to return verdicts, receipts, usage logs, and audit-ready JSO
MCP server for SkuVault — products, inventory, sales, purchase orders and stock adjustments.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with ShipEngine's shipping API, allowing users to manage shipments, labels, carriers, and other shipping operations through natural language commands.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server for interacting with the Etsy API, enabling listing management, shop information, shipping profiles, and image uploads.13ISC
- AlicenseBqualityDmaintenanceAn MCP server that wraps the ShipSaving logistics REST API, enabling AI assistants like Claude to perform shipping operations through natural language.3048 npmMIT
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets any AI agent buy shipping labels worldwide via AfterShip Shipping, using the merchant's own carrier accounts.MIT