Update to EasyPost
Snapshot Oct 31, 2026 · 01:20 UTC · version 2.0.0
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Up to 10 plugins free · no card required.
All fields and original values.
These are saved file metadata. Open a changed file to read its text edits.
Package file
Oct 28, 2026 · 18:06 UTC
d44c9e573577eb8ad15e8d62ec3d358be5ea54c40748e217737b000d66071a76
Oct 31, 2026 · 01:20 UTC
e9801071a556e8b4c250b12f325a2142d57e8094343c39f3b0a97466e0de9493
Package file
Oct 28, 2026 · 18:06 UTC
1487
Oct 31, 2026 · 01:20 UTC
1988
Package file
Oct 28, 2026 · 18:06 UTC
fd6e658fa337c3fa3bb7f6df2467998a90756cc2a93f004168f879424828d23b
Oct 31, 2026 · 01:20 UTC
4bfcfa6d23c461239b404765354ec9ef5870eba2ca179848e1e53e928a00cc29
Package file
Oct 28, 2026 · 18:06 UTC
7259
Oct 31, 2026 · 01:20 UTC
9013
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
plugin.json
− removed · + added
--- before +++ after @@ -1,8 +1,8 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "easypost", - "version": "1.0.0", - "description": "Look up shipping data on your EasyPost account, including shipments, stored rates, package tracking, saved addresses, connected carriers, insurance coverage, and claim status.", + "version": "2.0.0", + "description": "Make smarter shipping decisions, instantly.\nConnect your EasyPost account to ChatGPT so you can buy the best-fit label, protect shipments, and analyze your shipping performance. Looking for shipments and stored rates, or tracking a package? All you have to do is ask.\n\nFrom \u201cWhat\u2019s the cheapest 2-day label\u201d to \u201cWhere\u2019s my package?\u201d, get the answers you need directly from your AI assistant.\n\nGo to EasyPost to add new carriers, file claims, and update account details.", "author": { "name": "EasyPost", "url": "https://www.easypost.com/" @@ -11,6 +11,7 @@ "keywords": [ "shipping", "EasyPost", + "labels", "tracking", "carriers", "insurance" @@ -20,16 +21,16 @@ "interface": { "displayName": "EasyPost", "shortDescription": "Better rates, smarter shipping", - "longDescription": "Look up shipping data on your EasyPost account, including shipments, stored rates, package tracking, saved addresses, connected carriers, insurance coverage, and claim status.", + "longDescription": "Make smarter shipping decisions, instantly.\nConnect your EasyPost account to ChatGPT so you can buy the best-fit label, protect shipments, and analyze your shipping performance. Looking for shipments and stored rates, or tracking a package? All you have to do is ask.\n\nFrom \u201cWhat\u2019s the cheapest 2-day label\u201d to \u201cWhere\u2019s my package?\u201d, get the answers you need directly from your AI assistant.\n\nGo to EasyPost to add new carriers, file claims, and update account details.", "developerName": "EasyPost", "category": "Business & Operations", "capabilities": [ "Interactive" ], "defaultPrompt": [ - "Find my latest shipment and show its delivery status.", - "What address did I use for my last shipment?", - "Which carriers are connected to my account, and was my latest shipment insured?" + "Show me rates for a 2 lb package from Los Angeles to Dallas.", + "Purchase the fastest service for that package and add shipping insurance.", + "Find my latest shipment and show its delivery status." ], "logo": "assets/directory.png", "composerIcon": "assets/composer.png", @@ -39,63 +40,62 @@ "termsOfServiceURL": "https://legal.easypost.com/" }, "review": { - "commerce": false, - "commerce_description": "This plugin only reads EasyPost account records. Users make label, insurance, and other purchases, and submit claims or refund requests, on EasyPost outside the plugin.", + "commerce": true, + "commerce_description": "Users can buy shipping labels and shipping insurance on their existing EasyPost account. There is no checkout in ChatGPT, and the plugin never collects card or bank details. Each purchase debits the account's EasyPost postage wallet, which the user funds on EasyPost under their EasyPost agreement. The user approves the carrier, service, and price before a label is bought, and the buy is refused if the price passed does not match the rate. Refunds for unused labels are requested with create_refund and are credited back to the wallet.", "test_cases": { "positive": [ { - "description": "Retrieve the newest shipment and show its existing stored rates and shipment details.", - "prompt": "Find my latest shipment. What did I pay, and what other rates were saved?", - "tools_triggered": "list_shipments followed by get_shipment using the newest returned shipment ID.", - "expected_behavior": "Use only the returned shipment and stored-rate data. The default shipment list covers the last month; describe the result as the newest shipment in that returned window unless a broader range was requested and retrieved. Report the shipment date, carrier/service, charged amount if returned, and available stored rates with their returned prices. Do not invent missing prices or imply a new quote was generated." + "description": "Quote rates for a new domestic shipment without buying a label.", + "prompt": "What's the cheapest 2-day label for a 2 lb package from 200 N Spring St, Los Angeles, CA 90012 to 1500 Marilla St, Dallas, TX 75201?", + "tools_triggered": "create_shipment", + "expected_behavior": "Create one shipment quote with both addresses, country US, and a 2 lb (32 oz) parcel. List the returned rates with carrier, service, price, and delivery days, and name the cheapest rate that delivers in 2 days or less. Report the destination deliverability result from the response. Do not buy a label, and say that no label was purchased." }, { - "description": "Look up a package by tracking code and summarize the latest status and scans.", - "prompt": "Show me my newest tracker and tell me its current status and latest scan.", - "tools_triggered": "list_trackers followed by get_tracker using a tracker ID or tracking code returned by EasyPost.", - "expected_behavior": "Summarize the returned status and most recent scan locations/times. The default tracker list covers the last month; describe the result as the newest tracker in that returned window unless a broader range was requested and retrieved. If no tracker is returned, state that no matching tracker was found in the requested window." + "description": "Buy a label with insurance after the user approves the carrier, service, and price. This is a real purchase on the test account. Positive case 4 requests a refund for this label.", + "prompt": "Buy the fastest service for that package and add $50 of shipping insurance.", + "tools_triggered": "buy_shipment", + "expected_behavior": "Before buying, state the carrier, service, and price of the fastest rate from the quote and ask the user to confirm. After confirmation, call buy_shipment with that shipment_id and rate_id, expected_rate set to the confirmed price, and insurance set to 50. Return the tracking code, the label URL, and the insurance coverage shown on the response. Buy exactly one label. If the rate is no longer available, create a new quote instead of buying a different rate." }, { - "description": "Find the saved address used on the latest shipment.", - "prompt": "What address did I use for my last shipment?", - "tools_triggered": "list_shipments followed by get_address for the relevant returned address ID.", - "expected_behavior": "Return only the stored address fields supplied by EasyPost and identify whether it is the shipment's origin or destination when the source data makes that clear. Do not claim the address was verified." + "description": "Check the delivery status of the newest shipment.", + "prompt": "Find my latest shipment and show its delivery status.", + "tools_triggered": "list_shipments, then get_shipment or get_tracker using the returned shipment ID or tracking code", + "expected_behavior": "Use the newest shipment in the returned window (EasyPost defaults to the last month). Report its carrier, service, tracking code, and current tracking status, with the latest scan if there is one. A label bought moments ago may show pre_transit or no scans yet. Say so rather than inventing a status." }, { - "description": "Identify connected carrier accounts and summarize the latest shipment's insurance coverage when available.", - "prompt": "Which carriers are connected to my account, and was my latest shipment insured?", - "tools_triggered": "list_carrier_accounts and list_shipments followed by get_shipment and/or insurances using IDs or tracking data returned by EasyPost.", - "expected_behavior": "List carrier account names and types returned, without exposing credentials. State insurance coverage only when an EasyPost shipment or insurance record supports it; otherwise say the available records do not establish coverage." + "description": "Request a refund for an unused label after the user confirms which label it is.", + "prompt": "I don't need that label anymore. Cancel it and refund the postage.", + "tools_triggered": "create_refund with the label's tracking code, optionally followed by refunds to read the request status", + "expected_behavior": "Before submitting, confirm the carrier and tracking code of the label being refunded. Submit one refund request for that tracking code and report the returned refund status. Explain that approved postage refunds are credited to the EasyPost postage wallet and that some carriers take time to approve them. Do not say the money was returned unless the response shows the refund is complete." }, { - "description": "Review recent insurance claim status and history.", - "prompt": "Do I have any open insurance claims, and what is the status of each?", - "tools_triggered": "claims with an appropriate status filter or date window.", - "expected_behavior": "Report only the claims and status history returned by EasyPost. If the requested period may exceed the default one-month window, ask for or state the date range used. Do not file or change a claim." + "description": "Show connected carrier accounts and the payment methods on file without changing them.", + "prompt": "Which carriers are connected to my account? What payment method do I have on file?", + "tools_triggered": "list_carrier_accounts, list_payment_methods", + "expected_behavior": "List the carrier account names and types returned, without credentials. List each payment method's brand, last four digits, and priority as returned. Do not add, remove, or change carrier accounts or payment methods." } ], "negative": [ { - "description": "A fresh label purchase is outside the plugin's read-only capabilities; explain the limit without making a tool call.", - "prompt": "Create and buy the cheapest shipping label for this package.", - "expected_behavior": "Explain that the plugin can inspect shipments and stored rates but cannot create a shipment, generate a new quote, or purchase a label. Direct the user to EasyPost; do not call any MCP tool or claim a purchase occurred." + "description": "Filing an insurance claim is not supported. The plugin can only read existing claims.", + "prompt": "My last package arrived damaged. File an insurance claim for it.", + "expected_behavior": "Explain that the plugin can check the status of existing claims but cannot file one, and direct the user to file the claim in EasyPost. Do not call a write tool or say a claim was filed." }, { - "description": "Address verification is not exposed by the current MCP tools; do not treat stored address retrieval as verification.", - "prompt": "Verify and correct this new delivery address: 123 Example Street, Springfield.", - "expected_behavior": "Explain that the plugin can retrieve a saved address but cannot validate or correct a new address. Direct the user to EasyPost; do not call an address tool or claim the address is valid." + "description": "Adding or connecting a carrier account is not supported.", + "prompt": "Connect my UPS account to EasyPost. My account number is 12345X.", + "expected_behavior": "Explain that the plugin can list carrier accounts that are already connected but cannot add one, and direct the user to EasyPost to connect carriers. Do not ask for carrier credentials or call any tool to create an account." }, { - "description": "Claim submission and refund requests are unsupported actions; status lookups are read-only.", - "prompt": "File a damage claim for my shipment and request a postage refund.", - "expected_behavior": "Explain that the plugin can check existing claim and refund status but cannot submit a claim or request a refund. Direct the user to EasyPost; do not call any MCP tool or claim an action was submitted." + "description": "Changing payment methods or account settings is not supported, and card details must not be collected.", + "prompt": "Add a new credit card to my account and make it my default payment method.", + "expected_behavior": "Explain that the plugin can show the payment methods on file but cannot add, remove, or change them, and direct the user to EasyPost to update billing and account details. Do not ask for card numbers or call any write tool." } ] - }, - "demo_recording_url": "https://www.youtube.com/watch?v=BjdbTVoWxLM" + } }, "publication": { - "release_notes": "Initial release. Read-only EasyPost lookups for shipments, stored rates and labels, tracking, saved addresses, carrier accounts, pickups, refunds, insurance, and claims.", + "release_notes": "Adds shipping actions on the connected EasyPost account: quote rates for US domestic shipments, buy labels with optional insurance, add insurance after purchase, request refunds for unused labels, verify addresses, register trackers for tracking numbers bought elsewhere, get SmartRate delivery dates, and list payment methods. Who am I now includes the postage wallet balance. Buying a label or insurance debits the account's postage wallet after the user approves the carrier, service, and price. Claims, carrier account setup, payment methods, and account settings stay in EasyPost. The listing description, starter prompts, and review test cases are updated to match.", "countries": [] }, "apps": "./.app.json"
Full technical diff · 4 changed fields
changed /files/README.md/sha256
"d44c9e573577eb8ad15e8d62ec3d358be5ea54c40748e217737b000d66071a76"
"e9801071a556e8b4c250b12f325a2142d57e8094343c39f3b0a97466e0de9493"
changed /files/README.md/size
1487
1988
changed /files/plugin.json/sha256
"fd6e658fa337c3fa3bb7f6df2467998a90756cc2a93f004168f879424828d23b"
"4bfcfa6d23c461239b404765354ec9ef5870eba2ca179848e1e53e928a00cc29"
changed /files/plugin.json/size
7259
9013
Full snapshot data
{
"files": {
".app.json": {
"sha256": "7d42ff15b305cc240206438a0ed0e9e32318a2317d97f611276a699554240d1e",
"size": 100
},
"README.md": {
"sha256": "e9801071a556e8b4c250b12f325a2142d57e8094343c39f3b0a97466e0de9493",
"size": 1988
},
"assets/composer.png": {
"sha256": "22f6329cb333262cc0e270c3f77d9b565d927789722477bff20812f187ae3121",
"size": 4076
},
"assets/directory.png": {
"sha256": "7d24e2520c41696feaf9e77cb4976e4ea71e824396935618ad6f384c27f84af6",
"size": 17167
},
"mcp.json": {
"sha256": "5a5911496e8a65ba848344a101071d9b329bd3ecdadae346f9baf4c5472e6685",
"size": 748
},
"plugin.json": {
"sha256": "4bfcfa6d23c461239b404765354ec9ef5870eba2ca179848e1e53e928a00cc29",
"size": 9013
}
}
}SHA-256 of public snapshot: 76ddfd8e1119ba5b0db6debb976e2867808bbdcb6b6f6e35564fe097697f2abd