{"serverId":"mcp-registry/me.proship.mcp/proship-mcp","tools":[{"name":"cancel_order","fixed":{"name":"cancel_order","description":"Delete/cancel an order by id.","inputSchema":{"type":"object","required":["order_id"],"properties":{"order_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":47,"tokensAfter":47},{"name":"check_duplicate","fixed":{"name":"check_duplicate","description":"Check whether a customer phone number already has a recent order (duplicate-shipment guard).","inputSchema":{"type":"object","required":["phone"],"properties":{"phone":{"type":"string","description":"Customer phone number"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"create_order","fixed":{"name":"create_order","description":"Create a shipment order. Defaults to Thailand Post EPS (thaipost0). Weight is in GRAMS. Returns the order_id — it contains a pipe suffix (order-xxx|123); always pass the FULL id to other tools. Optional cod_amount enables cash-on-delivery.","inputSchema":{"type":"object","required":["shop_id","weight","customer"],"properties":{"user":{"type":"string","description":"Optional: ProShip username. Normally decoded from your token automatically."},"ref_no":{"type":"string","description":"Optional: your own order reference"},"weight":{"type":"number","description":"Parcel weight in grams"},"remarks":{"type":"string"},"shop_id":{"type":"string","description":"Your shop id (see list_shops)"},"customer":{"type":"object","required":["name","phone","address"],"properties":{"name":{"type":"string"},"phone":{"type":"string","description":"Thai mobile, e.g. 0812345678"},"address":{"type":"object","required":["address","sub_district","district","province","zipcode"],"properties":{"address":{"type":"string","description":"Street address (house no, street, etc.)"},"zipcode":{"type":"string","description":"5-digit Thai postal code"},"district":{"type":"string","description":"อำเภอ/เขต"},"province":{"type":"string","description":"จังหวัด"},"sub_district":{"type":"string","description":"ตำบล/แขวง"}},"description":"Thai address, structured"}}},"products":{"type":"array","items":{"type":"object","required":["name","qty"],"properties":{"qty":{"type":"number"},"name":{"type":"string"},"price":{"type":"number"}}},"description":"Optional line items"},"cod_amount":{"type":"number","description":"Optional: cash-on-delivery amount (THB)"},"shipping_method":{"enum":["thaipost0","thaipost"],"type":"string","description":"Default thaipost0 (EPS). thaipost requires a Thailand Post contract on your account."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":513,"tokensAfter":513},{"name":"get_order","fixed":{"name":"get_order","description":"Get one order by id (full pipe-suffixed id is fine). Returns status with Thai label and tracking number.","inputSchema":{"type":"object","required":["order_id"],"properties":{"order_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"get_order_statuses","fixed":{"name":"get_order_statuses","description":"Reference data: the ProShip order status pipeline. Returns every status code with its Thai label and English meaning. Use these codes with list_orders and update_order_status.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"list_orders","fixed":{"name":"list_orders","description":"List orders on YOUR account. Optional numeric status filter (see get_order_statuses). Paginated.","inputSchema":{"type":"object","properties":{"page":{"type":"number","description":"Default 1"},"status":{"type":"number","description":"Optional status code filter"},"per_page":{"type":"number","description":"Default 50, max 100"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"list_shops","fixed":{"name":"list_shops","description":"List the shops on YOUR ProShip account. Use the shop_id with create_order.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":45,"tokensAfter":45},{"name":"update_order_status","fixed":{"name":"update_order_status","description":"Set an order status by numeric code (see get_order_statuses).","inputSchema":{"type":"object","required":["order_id","status"],"properties":{"status":{"type":"number","description":"Status code, e.g. 5 = cancelled by seller"},"order_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84}],"toolsChanged":8,"tokensSaved":0,"todo":[{"tool":"cancel_order","params":["order_id"]},{"tool":"create_order","params":["remarks","customer"]},{"tool":"get_order","params":["order_id"]},{"tool":"update_order_status","params":["order_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}