About ProShip Thailand Post
ProShip Thailand Post is a stateless MCP server for agents handling Thailand Post shipments through ProShip. It covers shipment creation, label printing, parcel tracking, and order management.
Key features
- 01Create and manage shipment orders
- 02Print label URLs
- 03Track parcels
- 04Check and update order status
- 05Check for duplicate orders
Use cases
- 01Create a Thailand Post shipment from an agent workflow
- 02Print a parcel label after placing an order
- 03Track a parcel or review its order status
MCP support
Exposes public parcel tracking, status lookup, and signup tools, plus authenticated shop and order operations to MCP clients. Authentication uses a Bearer token passed through to the ProShip API.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.proship.me/mcpclaude mcp add --transport http me-proship-mcp-proship https://mcp.proship.me/mcp{"mcpServers":{"me-proship-mcp-proship":{"type":"http","url":"https://mcp.proship.me/mcp"}}}Open in Cursor{"servers":{"me-proship-mcp-proship":{"type":"http","url":"https://mcp.proship.me/mcp"}}}Open in VS Code{"mcpServers":{"me-proship-mcp-proship":{"type":"http","url":"https://mcp.proship.me/mcp"}}}{"mcpServers":{"me-proship-mcp-proship":{"serverUrl":"https://mcp.proship.me/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
11| Parameter | Type | Required | Description |
|---|---|---|---|
| tracking_no | string | Yes | Carrier tracking number, e.g. TH0139... |
Details
From the project READMEproship-mcp
Stateless MCP (Model Context Protocol) server that lets any AI agent create Thailand Post shipments, print labels, and track parcels through ProShip.
- Endpoint:
POST https://mcp.proship.me/mcp(JSON-RPC 2.0, application/json) - Docs: open
https://mcp.proship.me/mcpin a browser — the docs page is generated from the live tool registry - Auth:
Authorization: Bearer <ProShip API token>, passed through verbatim toapi.proship.me. Nothing is stored server-side. New users can call the publicsignuptool to get a token.
Tools
Public: track_parcel, get_order_statuses, signup.
Authenticated: list_shops, create_order, list_orders, get_order, update_order_status, cancel_order, check_duplicate, print_label.
The browser docs page at /mcp is the canonical, always-current tool reference.
Run
npm install
npm start # listens on PORT (default 3000)
npm test # node:test suite, upstream fully mocked
Environment
| Var | Purpose | Default |
|---|---|---|
PORT | listen port | 3000 |
PUBLIC_URL | absolute base used in label URLs and docs | https://mcp.proship.me |
PROSHIP_API_BASE | upstream API base | https://api.proship.me |
PROSHIP_UTRACK_TOKEN | optional server-side token enabling unauthenticated track_parcel | unset |
PROSHIP_SYNTH_EMAIL_DOMAIN | domain for synthesized signup emails | proship.me |
Deploy
Fly.io app proship-mcp (region sin):
fly deploy # add --depot=false if the Depot builder fails
Notes
- Order ids are pipe-suffixed (
order-xxx|123). GET/PUT/DELETE strip the suffix internally;print_labelrequires the full id. Always pass the full id between tools. - Weights are grams. Status codes use the Thai pipeline (
get_order_statuses); code 6 means out for delivery despite upstream labeling it "ERROR". - The only server state is a 10-minute in-memory cache for label PDFs so
print_labelcan return a URL.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.