{
  "data": {
    "a": {
      "slug": "envia",
      "name": "Envia",
      "vendor": "Envia Shipping",
      "vendorUrl": "https://envia.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Envia is a multi-carrier shipping platform, strongest in Latin America, with REST APIs for rates, labels, tracking, pickups, commercial invoices and address data. An official stdio MCP server exposes ten of those operations to agents.",
      "url": "https://www.anchorterminal.com/tools/envia",
      "markdownUrl": "https://www.anchorterminal.com/tools/envia.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/envia.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/envia.json",
      "dns": "envia.grade.anchorterminal.com",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@envia/envia-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API tokens created in the dashboard under `Desarrolladores \u003e Acceso de API`, one environment each: sandbox tokens work only against api-test.envia.com and production tokens only against api.envia.com. Several tokens can exist and each can be deleted to revoke it. No scopes were found. The MCP server reads the token from `ENVIA_API_KEY` and defaults to sandbox.",
      "pricing": "usage",
      "pricingNotes": "Prepaid balance: labels, notifications, insurance and add-ons draw on money added to the Envia account, and each price is shown when quoting. There is no public price list; volume plans go through sales. A free sandbox account returns simulated rates and creates test labels with no charges.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the MCP package or the pricing page (checked 2026-11-06). Charges come from a prepaid balance.",
        "endpoints": []
      },
      "toolCount": 10,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.envia.com/docs/getting-started",
      "llmsTxt": "https://docs.envia.com/llms.txt",
      "openapi": "https://docs.envia.com/reference/shipping-rates.md",
      "capabilities": [
        "shipping.rates",
        "shipping.labels",
        "shipping.tracking",
        "shipping.address-validation"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "sandbox",
        "prepaid",
        "webhooks",
        "latam",
        "typescript"
      ],
      "lastRelease": "2026-03-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36.5,
        "grade": "F",
        "agentReady": false,
        "rank": 1384,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 10,
          "payments": 20,
          "reliability": 20,
          "schema": 80,
          "security": 35,
          "transparency": 16
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Envia's shipping APIs are documented for agents, with llms.txt, OpenAPI definitions on every reference page, a free sandbox and a compact ten-tool MCP server that defaults to test mode. No status page, rate limits, public price list or readable terms were found, and the MCP package has had one release.",
        "bestFor": "Shops and platforms shipping in Mexico and Latin America that want rates and labels from many local carriers.",
        "strengths": [
          "Free sandbox with simulated rates and test labels, kept apart from production by separate tokens",
          "OpenAPI definitions embedded in every reference page, plus llms.txt and Markdown docs",
          "Ten MCP tools that default to the sandbox environment",
          "Labels cancelled before the first carrier scan are refunded to the balance automatically",
          "Postal code and address-structure lookups work without a token"
        ],
        "weaknesses": [
          "No status page or rate limits found",
          "No public price list; costs appear only when quoting",
          "Terms and privacy text could not be read, and no legal entity was found",
          "MCP tools carry no readOnly or destructive annotations, and the package has one release, 0.1.0",
          "The docs changelog stops at March 2026"
        ],
        "agentNotes": [
          "Leave `ENVIA_ENVIRONMENT` unset until the user confirms live shipping; the default is sandbox",
          "Ask the user before `envia_create_label` in production, since it spends the account balance",
          "Validate the postal code at geocodes.envia.com before quoting to avoid no-coverage errors",
          "Cancel an unwanted label before the carrier scans it to get the automatic refund",
          "Use a sandbox token with sandbox hosts and a production token with production hosts; they are not interchangeable"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.5
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 10,
          "payments": 20,
          "reliability": 20,
          "schema": 80,
          "security": 35,
          "transparency": 0
        },
        "provenanceScore": 32,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx -y @envia/envia-mcp@latest",
        "config": {
          "mcpServers": {
            "envia": {
              "args": [
                "-y",
                "@envia/envia-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "ENVIA_API_KEY": "your_api_key_here"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/envia"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "",
        "domain": "envia.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://envia.com/en-US/legal/privacy-policy?n=privacy_policy",
        "statusPage": "",
        "changelog": "https://docs.envia.com/docs/changelog",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "envia.com/robots.txt allows all but language-change paths; docs.envia.com disallows edit, login and api-next paths and links llms.txt.",
          "The privacy policy page renders only a heading without script, and every terms URL tried answered 500, so neither text was read.",
          "status.envia.com did not connect and no status page is linked. security.txt was not checked."
        ],
        "score": 32
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/envia.json",
      "live": {
        "slug": "envia",
        "versions": [
          {
            "registry": "npm",
            "name": "@envia/envia-mcp",
            "version": "0.1.0",
            "seenAt": "2026-11-06T23:24:27.893485506Z"
          }
        ],
        "npmWeekly": 81,
        "securityTxt": {
          "url": "https://envia.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-07T16:01:23.154161694Z"
        },
        "llmsTxt": {
          "url": "https://docs.envia.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:25.501362093Z"
        },
        "pages": [
          {
            "url": "https://docs.envia.com/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:16.542743112Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b3c01b7da2e7"
          },
          {
            "url": "https://envia.com/en-US/legal/privacy-policy?n=privacy_policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:20.480053366Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "52e5d34d2a62"
          }
        ],
        "updatedAt": "2026-11-07T16:01:23.154161694Z"
      }
    },
    "answer": "Ship24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "ship24",
      "name": "Ship24",
      "vendor": "Ship24 Limited",
      "vendorUrl": "https://www.ship24.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Ship24 is a parcel tracking API from Ship24 Limited in Hong Kong. Its REST API and hosted MCP server create trackers, return normalised tracking events across couriers and push updates by webhook.",
      "url": "https://www.anchorterminal.com/tools/ship24",
      "markdownUrl": "https://www.anchorterminal.com/tools/ship24.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ship24.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ship24.json",
      "dns": "ship24.grade.anchorterminal.com",
      "repo": "https://github.com/ship24/ship24-node",
      "license": "Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ship24.com/public/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "ship24"
        }
      ],
      "auth": "api-key",
      "authNotes": "A self-serve API key, sent as `Authorization: Bearer apik_...`. A default key is created once a plan (free or paid) is chosen in the dashboard, and an account can hold up to 20 active keys. Keys have no scopes. The hosted MCP server takes the same key in the same header. No OAuth, partner review or sales approval is needed for the listed plans.",
      "pricing": "freemium",
      "pricingNotes": "Free for 10 shipments a month on the Tracking API, blocked at the limit, so an agent can start without a contract. Paid per-shipment plans start at $39 a month for 1,000 shipments with $0.045 for each extra. Per-call plans start at $99 a month for 10,000 calls with $0.015 for each extra. Above 1,000,000 shipments a month pricing is by sales. Whether the free plan needs a card wasn't established (checked 2026-10-08).",
      "priceSummary": "$39 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 79,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.ship24.com",
      "llmsTxt": "https://docs.ship24.com/llms.txt",
      "openapi": "https://docs.ship24.com/assets/openapi/ship24-tracking-api.yaml",
      "registryName": "com.ship24/tracking-mcp",
      "capabilities": [
        "shipping.tracking"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "webhooks",
        "free-tier",
        "typescript",
        "tracking"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.4,
        "grade": "D",
        "agentReady": false,
        "rank": 993,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 60,
          "payments": 30,
          "reliability": 42,
          "schema": 81,
          "security": 34,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "The REST API and the hosted MCP server share one public OpenAPI 3.1 spec, numbered rate limits with Retry-After, and tracker creation that is idempotent by payload. No status page, SLA or security certification was found, API keys carry no scopes, and the API agreement and data processing agreement named in the terms aren't published.",
        "bestFor": "An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 12 operations and two webhook definitions, plus llms.txt and a hosted `SKILL.md` integration guide",
          "Hosted MCP server at `https://api.ship24.com/mcp` with 11 documented tools over the same API, and an AI plugin with eight skills",
          "Rate limits are published per endpoint (1 to 10 requests a second) with `RateLimit-*`, `X-RateLimit-*` and `Retry-After` headers",
          "`POST /trackers` and `POST /trackers/track` are idempotent for an identical payload, and `clientTrackerId` is checked for uniqueness",
          "Prices are public for both billing models, with a free API plan of 10 shipments a month and sample tracking numbers for each status"
        ],
        "weaknesses": [
          "No status page was found. `status.ship24.com` doesn't resolve, and neither the site nor the docs link to one",
          "The terms supply the service as is, with no uptime commitment, and allow account termination and data deletion without notice",
          "API keys have no scopes or read-only mode. The docs describe up to 20 keys an account, managed in the dashboard",
          "Webhooks are authenticated by a static secret in the `Authorization` header, with no payload signature",
          "The API agreement and the data processing agreement named in the terms, and a subprocessor list, were not found on the site"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer apik_...` to `https://api.ship24.com/public/v1`. The same key goes in the `Authorization` header of the MCP server at `https://api.ship24.com/mcp`",
          "Store the `trackerId` or set a unique `clientTrackerId`. Tracking numbers aren't unique, and any changed field on a repeat `POST /trackers` creates a second tracker that uses quota",
          "Allow up to 60 seconds for the first `POST /trackers/track` or `POST /tracking/search` call, since results are fetched from the courier synchronously",
          "Cache `GET /couriers`. It is limited to one request a second and returns the whole courier list, and courier auto-detection usually makes `courierCode` unnecessary",
          "Check for `quota_limit_reached` and `no_active_subscription`. `POST /tracking/search` needs a separate per-call plan, and the free plan blocks at 10 shipments a month"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.4
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 60,
          "payments": 30,
          "reliability": 42,
          "schema": 81,
          "security": 34,
          "transparency": 43
        },
        "provenanceScore": 66,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install ship24",
        "http": "curl -sS -X POST https://api.ship24.com/public/v1/trackers/track \\\n  -H \"Authorization: Bearer $SHIP24_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"trackingNumber\": \"SHIP24_SAMPLE_DELIVERED_000\" }'",
        "claudeCode": "claude mcp add --transport http ship24-tracking https://api.ship24.com/mcp -H \"Authorization: Bearer apik_your_key_here\"",
        "config": {
          "mcpServers": {
            "ship24-tracking": {
              "headers": {
                "Authorization": "Bearer apik_your_key_here"
              },
              "type": "http",
              "url": "https://api.ship24.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/shipping.tracking",
        "tool": "https://letme.dev/ship24"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Tracking API Pro, 1,000 shipments",
          "unit": "month",
          "usd": 39,
          "note": "$0.039 a shipment; tiers up to 1,000,000 a month"
        },
        {
          "item": "Extra tracked shipment",
          "unit": "tx",
          "usd": 0.045,
          "note": "on the 1,000 tier; $0.010 on the 1,000,000 tier"
        },
        {
          "item": "Per-call plan, 10,000 calls",
          "unit": "month",
          "usd": 99,
          "note": "separate subscription for `POST /tracking/search`"
        },
        {
          "item": "Extra per-call lookup",
          "unit": "call",
          "usd": 0.015,
          "note": "on the 10,000 tier; $0.007 on the 1.5 million tier"
        }
      ],
      "provenance": {
        "legalEntity": "Ship24 Limited",
        "domain": "ship24.com",
        "domainRegistered": "2005-09-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.ship24.com/terms",
        "privacy": "https://www.ship24.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The Terms and Conditions say Ship24 Limited, a company registered in Hong Kong, is the party called Ship24, and place disputes with the courts of Hong Kong. They carry no date or version.",
          "The terms govern accounts, fees and the API, and say an Application developer and API agreement and a Data Processing Agreement also apply. Neither document was found on the site.",
          "The privacy policy was last updated in August 2026 and has a section on the MCP integration. It names UAB Clefino of Lithuania as a group company for the IOSS service.",
          "The about page lists offices in Hong Kong, Tremblay-en-France and Vilnius.",
          "www.ship24.com, docs.ship24.com and api.ship24.com have no security.txt. SECURITY.md in ship24-ai-plugin gives contact@ship24.com for reports.",
          "No status page and no API changelog were found. The Node SDK and the plugin each keep a CHANGELOG.md on GitHub.",
          "RDAP for ship24.com gives a registration date of 2005-09-18."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ship24.json",
      "live": {
        "slug": "ship24",
        "probe": {
          "target": "https://api.ship24.com/public/v1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:32.559566597Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 249,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 329,
          "samples24h": 238,
          "samples30d": 7430,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ship24/ship24-node",
            "version": "v1.1.0",
            "released": "2026-10-06",
            "seenAt": "2026-11-07T00:05:04.237172174Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.ship24/tracking-mcp",
            "version": "1.0.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "ship24",
            "version": "1.1.0",
            "seenAt": "2026-11-07T00:05:03.461453211Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 316,
        "securityTxt": {
          "url": "https://ship24.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:14.07163439Z"
        },
        "llmsTxt": {
          "url": "https://docs.ship24.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.708816023Z"
        },
        "domain": {
          "domain": "ship24.com",
          "registered": "2005-09-18",
          "source": "https://rdap.verisign.com/com/v1/domain/ship24.com",
          "checkedAt": "2026-11-01T14:16:06.459808946Z"
        },
        "pages": [
          {
            "url": "https://www.ship24.com/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:34:25.058499728Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6f9cee891903"
          },
          {
            "url": "https://www.ship24.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:34:27.08735937Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "333cfe1372b8"
          }
        ],
        "mcpTools": {
          "url": "https://api.ship24.com/mcp",
          "checkedAt": "2026-11-07T01:47:48.10000302Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "create_tracker",
              "title": "Create Tracker",
              "description": "Creates a new tracker for a tracking number. Use when the user explicitly wants ongoing monitoring or webhook updates; results arrive asynchronously — for immediate results use track or search_tracking. Idempotent: same parameters reuse the existing tracker; any field change creates a new one. Subscribes to webhook updates if configured. Returns the created tracker including its Ship24 trackerId.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "clientTrackerId": {
                    "description": "Your unique identifier for this tracker, for lookup via searchBy=clientTrackerId.",
                    "type": "string"
                  },
                  "courierCode": {
                    "description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 3,
                    "type": "array"
                  },
                  "courierName": {
                    "description": "Courier name (informational).",
                    "type": "string"
                  },
                  "destinationCountryCode": {
                    "description": "Destination country code (ISO alpha-2).",
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "destinationPostCode": {
                    "description": "Destination postal/ZIP code.",
                    "type": "string"
                  },
                  "orderNumber": {
                    "description": "Associated order number.",
                    "type": "string"
                  },
                  "originCountryCode": {
                    "description": "Origin country code (ISO alpha-2, e.g. US).",
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "settings": {
                    "properties": {
                      "restrictTrackingToCourierCode": {
                        "description": "When true, tracking is restricted to the specified courierCode(s) only.",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "shipmentReference": {
                    "description": "Internal reference for the shipment.",
                    "type": "string"
                  },
                  "shippingDate": {
                    "description": "Date the package was shipped (YYYY-MM-DD or ISO 8601).",
                    "type": "string"
                  },
                  "trackingNumber": {
                    "description": "Tracking number to monitor.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "trackingUrl": {
                    "description": "Courier tracking URL.",
                    "format": "uri",
                    "type": "string"
                  }
                },
                "required": [
                  "trackingNumber"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "tracker": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "clientTrackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                          },
                          "courierCode": {
                            "anyOf": [
                              {
                                "anyOf": [
                                  {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Courier code(s) pinned on this tracker."
                          },
                          "createdAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "When the tracker was created."
                          },
                          "isSubscribed": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "False means the tracker is archived and no longer used for tracking."
                          },
                          "isTracked": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                          },
                          "shipmentReference": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own shipment reference, as supplied at creation."
                          },
                          "trackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                          },
                          "trackingNumber": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Tracking number this tracker follows."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "The tracker."
                  }
                },
                "required": [
                  "tracker"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true
              }
            },
            {
              "name": "list_trackers",
              "title": "List Trackers",
              "description": "Returns a paginated list of all trackers. Supports offset (page/limit) or cursor-based pagination. Filter by subscription status with isSubscribed.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "limit": {
                    "description": "Results per page (max 500).",
                    "maximum": 500,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "page": {
                    "description": "Page number (1-indexed).",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "sort": {
                    "anyOf": [
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": -1,
                        "type": "number"
                      }
                    ],
                    "description": "Sort order by createdAt. 1 = ascending (oldest first, default), -1 = descending (newest first)."
                  }
                },
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "trackers": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "clientTrackerId": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                            },
                            "courierCode": {
                              "anyOf": [
                                {
                                  "anyOf": [
                                    {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ]
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Courier code(s) pinned on this tracker."
                            },
                            "createdAt": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "When the tracker was created."
                            },
                            "isSubscribed": {
                              "anyOf": [
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "False means the tracker is archived and no longer used for tracking."
                            },
                            "isTracked": {
                              "anyOf": [
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                            },
                            "shipmentReference": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Your own shipment reference, as supplied at creation."
                            },
                            "trackerId": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                            },
                            "trackingNumber": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Tracking number this tracker follows."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Trackers on the requested page."
                  }
                },
                "required": [
                  "trackers"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "bulk_create_trackers",
              "title": "Bulk Create Trackers",
              "description": "Creates up to 100 trackers in one request. Each tracker object accepts the same fields as create_tracker — see that tool for field details. Not fully idempotent: retrying a failed bulk request may partially create trackers. Returns counts of created, ignored (duplicate), and failed trackers plus per-item details.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "trackers": {
                    "description": "Array of tracker objects to create (minimum 1, maximum 100).",
                    "items": {
                      "properties": {
                        "clientTrackerId": {
                          "type": "string"
                        },
                        "courierCode": {
                          "description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 3,
                          "type": "array"
                        },
                        "courierName": {
                          "type": "string"
                        },
                        "destinationCountryCode": {
                          "maxLength": 2,
                          "minLength": 2,
                          "type": "string"
                        },
                        "destinationPostCode": {
                          "type": "string"
                        },
                        "orderNumber": {
                          "type": "string"
                        },
                        "originCountryCode": {
                          "maxLength": 2,
                          "minLength": 2,
                          "type": "string"
                        },
                        "settings": {
                          "properties": {
                            "restrictTrackingToCourierCode": {
                              "description": "When true, tracking is restricted to the specified courierCode(s) only.",
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        },
                        "shipmentReference": {
                          "type": "string"
                        },
                        "shippingDate": {
                          "type": "string"
                        },
                        "trackingNumber": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "trackingUrl": {
                          "format": "uri",
                          "type": "string"
                        }
                      },
                      "required": [
                        "trackingNumber"
                      ],
                      "type": "object"
                    },
                    "maxItems": 100,
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "trackers"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "data": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "errors": {
                              "anyOf": [
                                {
                                  "items": {
                                    "additionalProperties": {},
                                    "properties": {
                                      "code": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 error code."
                                      },
                                      "message": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Error message."
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Why this item failed. Null unless itemStatus is error."
                            },
                            "inputData": {
                              "description": "The submitted tracker payload, echoed back."
                            },
                            "itemStatus": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "created | existing | error."
                            },
                            "tracker": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "clientTrackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                                    },
                                    "courierCode": {
                                      "anyOf": [
                                        {
                                          "anyOf": [
                                            {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            {
                                              "type": "string"
                                            }
                                          ]
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Courier code(s) pinned on this tracker."
                                    },
                                    "createdAt": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When the tracker was created."
                                    },
                                    "isSubscribed": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means the tracker is archived and no longer used for tracking."
                                    },
                                    "isTracked": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                                    },
                                    "shipmentReference": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own shipment reference, as supplied at creation."
                                    },
                                    "trackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                                    },
                                    "trackingNumber": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Tracking number this tracker follows."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "The created or existing tracker."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Per-item outcome, in submission order. Null when status is error."
                  },
                  "error": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "code": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Ship24 error code."
                          },
                          "message": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Error message."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Request-level error. Null unless the whole request failed."
                  },
                  "status": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "success (all created or already existing) | partial (successes and errors) | error (all failed, or a request-level error)."
                  },
                  "summary": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "totalCreated": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Number of trackers created."
                          },
                          "totalErrors": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Number of failed creations."
                          },
                          "totalExisting": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Number of inputs that matched an existing tracker."
                          },
                          "totalInputs": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Total number of trackers submitted."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Per-request counts. Null when status is error."
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true
              }
            },
            {
              "name": "track",
              "title": "Track Shipment",
              "description": "Creates a persistent tracker on the account AND returns full tracking results synchronously in one call (per-shipment plan). Idempotent: same payload reuses the existing tracker. Prefer search_tracking for one-off lookups when the per-call plan is available. If the returned shipment is still pending with no events, call get_tracking_results once with the returned trackerId before answering. Accepts the same fields as create_tracker — see that tool for field details.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "clientTrackerId": {
                    "type": "string"
                  },
                  "courierCode": {
                    "description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 3,
                    "type": "array"
                  },
                  "courierName": {
                    "type": "string"
                  },
                  "destinationCountryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "destinationPostCode": {
                    "type": "string"
                  },
                  "orderNumber": {
                    "type": "string"
                  },
                  "originCountryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "settings": {
                    "properties": {
                      "restrictTrackingToCourierCode": {
                        "description": "When true, tracking is restricted to the specified courierCode(s) only.",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "shipmentReference": {
                    "type": "string"
                  },
                  "shippingDate": {
                    "type": "string"
                  },
                  "trackingNumber": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "trackingUrl": {
                    "format": "uri",
                    "type": "string"
                  }
                },
                "required": [
                  "trackingNumber"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "trackings": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "events": {
                              "anyOf": [
                                {
                                  "items": {
                                    "additionalProperties": {},
                                    "properties": {
                                      "courierCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Courier code linked to this event; refers to the get_couriers list."
                                      },
                                      "datetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — use occurrenceDatetime."
                                      },
                                      "eventId": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Unique identifier of this event in Ship24."
                                      },
                                      "eventTrackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The tracking number the event was actually found on."
                                      },
                                      "hasNoTime": {
                                        "anyOf": [
                                          {
                                            "type": "boolean"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — true when the courier reported a date with no time."
                                      },
                                      "location": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw location text as reported by the courier."
                                      },
                                      "occurrenceDatetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "When the event occurred."
                                      },
                                      "order": {
                                        "anyOf": [
                                          {
                                            "type": "number"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first."
                                      },
                                      "sourceCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Internal code of the source this event came from. These codes may change at any time."
                                      },
                                      "status": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw status text as reported by the courier."
                                      },
                                      "statusCategory": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 status category for the event."
                                      },
                                      "statusCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 normalised status code for the event."
                                      },
                                      "statusMilestone": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception."
                                      },
                                      "trackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The original tracking number used to create the tracker."
                                      },
                                      "utcOffset": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — the offset is already carried by occurrenceDatetime."
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Tracking events, most recent first."
                            },
                            "shipment": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "delivery": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "aiPredictiveDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account."
                                            },
                                            "courierEstimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Window promised by the courier."
                                            },
                                            "estimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Estimated delivery date, when the courier provides one."
                                            },
                                            "service": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Name of the logistics service or product used."
                                            },
                                            "signedBy": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "DEPRECATED — always null."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Delivery dates and service level."
                                    },
                                    "destinationCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected destination country (ISO alpha-2)."
                                    },
                                    "originCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected origin country (ISO alpha-2)."
                                    },
                                    "recipient": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "address": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient address."
                                            },
                                            "city": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient city."
                                            },
                                            "name": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient name."
                                            },
                                            "postCode": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient postal code."
                                            },
                                            "subdivision": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient state or province."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Recipient details. All fields are nulled unless the account may receive personal data."
                                    },
                                    "shipmentId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Unique identifier of the parcel in Ship24."
                                    },
                                    "statusCategory": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 status category for the shipment."
                                    },
                                    "statusCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 normalised status code for the shipment."
                                    },
                                    "statusMilestone": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Current milestone; same value set as event.statusMilestone."
                                    },
                                    "trackingNumbers": {
                                      "anyOf": [
                                        {
                                          "items": {
                                            "additionalProperties": {},
                                            "properties": {
                                              "tn": {
                                                "anyOf": [
                                                  {
                                                    "type": "string"
                                                  },
                                                  {
                                                    "type": "null"
                                                  }
                                                ],
                                                "description": "A tracking number linked to the shipment."
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "All tracking numbers linked to the shipment."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "General shipment information and current status."
                            },
                            "statistics": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "timestamps": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "availableForPickupDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the available_for_pickup milestone."
                                            },
                                            "deliveredDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the delivered milestone."
                                            },
                                            "exceptionDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the exception milestone."
                                            },
                                            "failedAttemptDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the failed_attempt milestone."
                                            },
                                            "inTransitDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the in_transit milestone."
                                            },
                                            "infoReceivedDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the info_received milestone."
                                            },
                                            "outForDeliveryDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the out_for_delivery milestone."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When each milestone was first reached; null for milestones never reached."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Milestone timestamps for the shipment lifecycle."
                            },
                            "tracker": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "clientTrackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                                    },
                                    "courierCode": {
                                      "anyOf": [
                                        {
                                          "anyOf": [
                                            {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            {
                                              "type": "string"
                                            }
                                          ]
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Courier code(s) pinned on this tracker."
                                    },
                                    "createdAt": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When the tracker was created."
                                    },
                                    "isSubscribed": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means the tracker is archived and no longer used for tracking."
                                    },
                                    "isTracked": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                                    },
                                    "shipmentReference": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own shipment reference, as supplied at creation."
                                    },
                                    "trackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                                    },
                                    "trackingNumber": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Tracking number this tracker follows."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "One entry per matched tracker or shipment."
                  }
                },
                "required": [
                  "trackings"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true
              }
            },
            {
              "name": "get_tracker",
              "title": "Get Tracker",
              "description": "Retrieves a single tracker by trackerId (or clientTrackerId when searchBy is set). Returns tracker metadata only — use get_tracking_results for events and status.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "searchBy": {
                    "description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
                    "enum": [
                      "trackerId",
                      "clientTrackerId"
                    ],
                    "type": "string"
                  },
                  "trackerId": {
                    "description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\".",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "trackerId"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "tracker": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "clientTrackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                          },
                          "courierCode": {
                            "anyOf": [
                              {
                                "anyOf": [
                                  {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Courier code(s) pinned on this tracker."
                          },
                          "createdAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "When the tracker was created."
                          },
                          "isSubscribed": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "False means the tracker is archived and no longer used for tracking."
                          },
                          "isTracked": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                          },
                          "shipmentReference": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own shipment reference, as supplied at creation."
                          },
                          "trackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                          },
                          "trackingNumber": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Tracking number this tracker follows."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "The tracker."
                  }
                },
                "required": [
                  "tracker"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "update_tracker",
              "title": "Update Tracker",
              "description": "Partially updates a tracker (PATCH). Only provided fields are changed. Common uses: toggling isSubscribed, correcting destination details, or setting a clientTrackerId.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "courierCode": {
                    "description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 3,
                    "type": "array"
                  },
                  "destinationCountryCode": {
                    "description": "Destination country code (ISO alpha-2). Immutable once tracking data exists.",
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "destinationPostCode": {
                    "type": "string"
                  },
                  "isSubscribed": {
                    "description": "true to subscribe to webhooks, false to unsubscribe.",
                    "type": "boolean"
                  },
                  "originCountryCode": {
                    "description": "Origin country code (ISO alpha-2). Immutable once tracking data exists.",
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "searchBy": {
                    "description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
                    "enum": [
                      "trackerId",
                      "clientTrackerId"
                    ],
                    "type": "string"
                  },
                  "settings": {
                    "properties": {
                      "restrictTrackingToCourierCode": {
                        "description": "When true, tracking is restricted to the specified courierCode(s) only.",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "shippingDate": {
                    "description": "Ship date (YYYY-MM-DD or ISO 8601). Immutable once tracking data exists.",
                    "type": "string"
                  },
                  "trackerId": {
                    "description": "The tracker to update (Ship24 trackerId or clientTrackerId).",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "trackerId"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "tracker": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "clientTrackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                          },
                          "courierCode": {
                            "anyOf": [
                              {
                                "anyOf": [
                                  {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Courier code(s) pinned on this tracker."
                          },
                          "createdAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "When the tracker was created."
                          },
                          "isSubscribed": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "False means the tracker is archived and no longer used for tracking."
                          },
                          "isTracked": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                          },
                          "shipmentReference": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own shipment reference, as supplied at creation."
                          },
                          "trackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                          },
                          "trackingNumber": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Tracking number this tracker follows."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "The tracker."
                  }
                },
                "required": [
                  "tracker"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false
              }
            },
            {
              "name": "get_tracking_results",
              "title": "Get Tracking Results",
              "description": "Returns full tracking results for an existing tracker: metadata, shipment status, all events in order, and delivery statistics. Primary tool for \"where is my package?\" when you have a trackerId. statusMilestone values: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "searchBy": {
                    "description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
                    "enum": [
                      "trackerId",
                      "clientTrackerId"
                    ],
                    "type": "string"
                  },
                  "trackerId": {
                    "description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\".",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "trackerId"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "trackings": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "events": {
                              "anyOf": [
                                {
                                  "items": {
                                    "additionalProperties": {},
                                    "properties": {
                                      "courierCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Courier code linked to this event; refers to the get_couriers list."
                                      },
                                      "datetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — use occurrenceDatetime."
                                      },
                                      "eventId": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Unique identifier of this event in Ship24."
                                      },
                                      "eventTrackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The tracking number the event was actually found on."
                                      },
                                      "hasNoTime": {
                                        "anyOf": [
                                          {
                                            "type": "boolean"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — true when the courier reported a date with no time."
                                      },
                                      "location": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw location text as reported by the courier."
                                      },
                                      "occurrenceDatetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "When the event occurred."
                                      },
                                      "order": {
                                        "anyOf": [
                                          {
                                            "type": "number"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first."
                                      },
                                      "sourceCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Internal code of the source this event came from. These codes may change at any time."
                                      },
                                      "status": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw status text as reported by the courier."
                                      },
                                      "statusCategory": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 status category for the event."
                                      },
                                      "statusCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 normalised status code for the event."
                                      },
                                      "statusMilestone": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception."
                                      },
                                      "trackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The original tracking number used to create the tracker."
                                      },
                                      "utcOffset": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — the offset is already carried by occurrenceDatetime."
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Tracking events, most recent first."
                            },
                            "shipment": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "delivery": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "aiPredictiveDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account."
                                            },
                                            "courierEstimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Window promised by the courier."
                                            },
                                            "estimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Estimated delivery date, when the courier provides one."
                                            },
                                            "service": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Name of the logistics service or product used."
                                            },
                                            "signedBy": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "DEPRECATED — always null."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Delivery dates and service level."
                                    },
                                    "destinationCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected destination country (ISO alpha-2)."
                                    },
                                    "originCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected origin country (ISO alpha-2)."
                                    },
                                    "recipient": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "address": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient address."
                                            },
                                            "city": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient city."
                                            },
                                            "name": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient name."
                                            },
                                            "postCode": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient postal code."
                                            },
                                            "subdivision": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient state or province."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Recipient details. All fields are nulled unless the account may receive personal data."
                                    },
                                    "shipmentId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Unique identifier of the parcel in Ship24."
                                    },
                                    "statusCategory": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 status category for the shipment."
                                    },
                                    "statusCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 normalised status code for the shipment."
                                    },
                                    "statusMilestone": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Current milestone; same value set as event.statusMilestone."
                                    },
                                    "trackingNumbers": {
                                      "anyOf": [
                                        {
                                          "items": {
                                            "additionalProperties": {},
                                            "properties": {
                                              "tn": {
                                                "anyOf": [
                                                  {
                                                    "type": "string"
                                                  },
                                                  {
                                                    "type": "null"
                                                  }
                                                ],
                                                "description": "A tracking number linked to the shipment."
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "All tracking numbers linked to the shipment."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "General shipment information and current status."
                            },
                            "statistics": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "timestamps": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "availableForPickupDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the available_for_pickup milestone."
                                            },
                                            "deliveredDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the delivered milestone."
                                            },
                                            "exceptionDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the exception milestone."
                                            },
                                            "failedAttemptDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the failed_attempt milestone."
                                            },
                                            "inTransitDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the in_transit milestone."
                                            },
                                            "infoReceivedDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the info_received milestone."
                                            },
                                            "outForDeliveryDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the out_for_delivery milestone."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When each milestone was first reached; null for milestones never reached."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Milestone timestamps for the shipment lifecycle."
                            },
                            "tracker": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "clientTrackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                                    },
                                    "courierCode": {
                                      "anyOf": [
                                        {
                                          "anyOf": [
                                            {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            {
                                              "type": "string"
                                            }
                                          ]
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Courier code(s) pinned on this tracker."
                                    },
                                    "createdAt": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When the tracker was created."
                                    },
                                    "isSubscribed": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means the tracker is archived and no longer used for tracking."
                                    },
                                    "isTracked": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                                    },
                                    "shipmentReference": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own shipment reference, as supplied at creation."
                                    },
                                    "trackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                                    },
                                    "trackingNumber": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Tracking number this tracker follows."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "One entry per matched tracker or shipment."
                  }
                },
                "required": [
                  "trackings"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "search_tracking_by_number",
              "title": "Search by Tracking Number",
              "description": "Returns existing tracking results for a raw tracking number across trackers already on the account, without needing a trackerId. Free read: never creates a tracker and never triggers a new crawl. Responds 404 tracker_not_found if no tracker exists for that number — in that case use search_tracking (per-call) or track (per-shipment). Use this first when a tracker may already exist.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "trackingNumber": {
                    "description": "The raw shipment tracking number to search for (e.g. 1Z999AA10123456784).",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "trackingNumber"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "trackings": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "events": {
                              "anyOf": [
                                {
                                  "items": {
                                    "additionalProperties": {},
                                    "properties": {
                                      "courierCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Courier code linked to this event; refers to the get_couriers list."
                                      },
                                      "datetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — use occurrenceDatetime."
                                      },
                                      "eventId": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Unique identifier of this event in Ship24."
                                      },
                                      "eventTrackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The tracking number the event was actually found on."
                                      },
                                      "hasNoTime": {
                                        "anyOf": [
                                          {
                                            "type": "boolean"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — true when the courier reported a date with no time."
                                      },
                                      "location": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw location text as reported by the courier."
                                      },
                                      "occurrenceDatetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "When the event occurred."
                                      },
                                      "order": {
                                        "anyOf": [
                                          {
                                            "type": "number"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first."
                                      },
                                      "sourceCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Internal code of the source this event came from. These codes may change at any time."
                                      },
                                      "status": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw status text as reported by the courier."
                                      },
                                      "statusCategory": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 status category for the event."
                                      },
                                      "statusCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 normalised status code for the event."
                                      },
                                      "statusMilestone": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception."
                                      },
                                      "trackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The original tracking number used to create the tracker."
                                      },
                                      "utcOffset": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — the offset is already carried by occurrenceDatetime."
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Tracking events, most recent first."
                            },
                            "shipment": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "delivery": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "aiPredictiveDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account."
                                            },
                                            "courierEstimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Window promised by the courier."
                                            },
                                            "estimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Estimated delivery date, when the courier provides one."
                                            },
                                            "service": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Name of the logistics service or product used."
                                            },
                                            "signedBy": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "DEPRECATED — always null."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Delivery dates and service level."
                                    },
                                    "destinationCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected destination country (ISO alpha-2)."
                                    },
                                    "originCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected origin country (ISO alpha-2)."
                                    },
                                    "recipient": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "address": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient address."
                                            },
                                            "city": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient city."
                                            },
                                            "name": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient name."
                                            },
                                            "postCode": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient postal code."
                                            },
                                            "subdivision": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient state or province."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Recipient details. All fields are nulled unless the account may receive personal data."
                                    },
                                    "shipmentId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Unique identifier of the parcel in Ship24."
                                    },
                                    "statusCategory": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 status category for the shipment."
                                    },
                                    "statusCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 normalised status code for the shipment."
                                    },
                                    "statusMilestone": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Current milestone; same value set as event.statusMilestone."
                                    },
                                    "trackingNumbers": {
                                      "anyOf": [
                                        {
                                          "items": {
                                            "additionalProperties": {},
                                            "properties": {
                                              "tn": {
                                                "anyOf": [
                                                  {
                                                    "type": "string"
                                                  },
                                                  {
                                                    "type": "null"
                                                  }
                                                ],
                                                "description": "A tracking number linked to the shipment."
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "All tracking numbers linked to the shipment."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "General shipment information and current status."
                            },
                            "statistics": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "timestamps": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "availableForPickupDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the available_for_pickup milestone."
                                            },
                                            "deliveredDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the delivered milestone."
                                            },
                                            "exceptionDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the exception milestone."
                                            },
                                            "failedAttemptDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the failed_attempt milestone."
                                            },
                                            "inTransitDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the in_transit milestone."
                                            },
                                            "infoReceivedDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the info_received milestone."
                                            },
                                            "outForDeliveryDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the out_for_delivery milestone."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When each milestone was first reached; null for milestones never reached."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Milestone timestamps for the shipment lifecycle."
                            },
                            "tracker": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "clientTrackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                                    },
                                    "courierCode": {
                                      "anyOf": [
                                        {
                                          "anyOf": [
                                            {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            {
                                              "type": "string"
                                            }
                                          ]
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Courier code(s) pinned on this tracker."
                                    },
                                    "createdAt": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When the tracker was created."
                                    },
                                    "isSubscribed": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means the tracker is archived and no longer used for tracking."
                                    },
                                    "isTracked": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                                    },
                                    "shipmentReference": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own shipment reference, as supplied at creation."
                                    },
                                    "trackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                                    },
                                    "trackingNumber": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Tracking number this tracker follows."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "One entry per matched tracker or shipment."
                  }
                },
                "required": [
                  "trackings"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "get_couriers",
              "title": "Get Couriers",
              "description": "Returns the list of all couriers supported by Ship24, including their unique courier codes, human-readable names, and any special tracking requirements. Use this tool to discover valid courierCode values before creating or updating trackers, or to help identify which courier handles a particular tracking number format. Note: this endpoint has a rate limit of 1 request/second; cache results when possible.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {},
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "couriers": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "countryCode": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Main country the courier operates in (ISO alpha-2)."
                            },
                            "courierCode": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Value to pass as courierCode when creating or updating a tracker."
                            },
                            "courierName": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Human-readable courier name."
                            },
                            "isDeprecated": {
                              "anyOf": [
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "True when the courier code is deprecated."
                            },
                            "isPost": {
                              "anyOf": [
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "True when the courier is a national postal operator."
                            },
                            "requiredFields": {
                              "anyOf": [
                                {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Extra tracker fields this courier needs for optimal results: destinationPostCode, destinationCountryCode, courierAccount."
                            },
                            "website": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "The courier public website."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "All couriers supported by Ship24."
                  }
                },
                "required": [
                  "couriers"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            },
            {
              "name": "search_tracking",
              "title": "Search Tracking",
              "description": "Default tool for one-off tracking lookups ('track X', 'where is my package'). Synchronous per-call plan endpoint: returns full results (status, events, statistics) immediately and creates NO tracker on the account. Billed per call. Requires an active per-call plan — if it fails with no_active_subscription, use the track tool instead.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "courierCode": {
                    "description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 3,
                    "type": "array"
                  },
                  "destinationCountryCode": {
                    "description": "Destination country code (ISO alpha-2).",
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "destinationPostCode": {
                    "description": "Destination postal/ZIP code.",
                    "type": "string"
                  },
                  "originCountryCode": {
                    "description": "Origin country code (ISO alpha-2).",
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string"
                  },
                  "shippingDate": {
                    "description": "Date the package was shipped (YYYY-MM-DD or ISO 8601).",
                    "type": "string"
                  },
                  "trackingNumber": {
                    "description": "Tracking number to look up. 5-50 alphanumeric characters, hyphens, underscores, dots, or slashes.",
                    "maxLength": 50,
                    "minLength": 5,
                    "pattern": "^[a-zA-Z0-9\\-_/.]*$",
                    "type": "string"
                  }
                },
                "required": [
                  "trackingNumber"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "trackings": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "events": {
                              "anyOf": [
                                {
                                  "items": {
                                    "additionalProperties": {},
                                    "properties": {
                                      "courierCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Courier code linked to this event; refers to the get_couriers list."
                                      },
                                      "datetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — use occurrenceDatetime."
                                      },
                                      "eventId": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Unique identifier of this event in Ship24."
                                      },
                                      "eventTrackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The tracking number the event was actually found on."
                                      },
                                      "hasNoTime": {
                                        "anyOf": [
                                          {
                                            "type": "boolean"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — true when the courier reported a date with no time."
                                      },
                                      "location": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw location text as reported by the courier."
                                      },
                                      "occurrenceDatetime": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "When the event occurred."
                                      },
                                      "order": {
                                        "anyOf": [
                                          {
                                            "type": "number"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first."
                                      },
                                      "sourceCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Internal code of the source this event came from. These codes may change at any time."
                                      },
                                      "status": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Raw status text as reported by the courier."
                                      },
                                      "statusCategory": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 status category for the event."
                                      },
                                      "statusCode": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Ship24 normalised status code for the event."
                                      },
                                      "statusMilestone": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception."
                                      },
                                      "trackingNumber": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "The original tracking number used to create the tracker."
                                      },
                                      "utcOffset": {
                                        "anyOf": [
                                          {
                                            "type": "string"
                                          },
                                          {
                                            "type": "null"
                                          }
                                        ],
                                        "description": "DEPRECATED — the offset is already carried by occurrenceDatetime."
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Tracking events, most recent first."
                            },
                            "shipment": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "delivery": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "aiPredictiveDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account."
                                            },
                                            "courierEstimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "additionalProperties": {},
                                                  "properties": {
                                                    "from": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Earliest date of the window."
                                                    },
                                                    "to": {
                                                      "anyOf": [
                                                        {
                                                          "type": "string"
                                                        },
                                                        {
                                                          "type": "null"
                                                        }
                                                      ],
                                                      "description": "Latest date of the window."
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Window promised by the courier."
                                            },
                                            "estimatedDeliveryDate": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Estimated delivery date, when the courier provides one."
                                            },
                                            "service": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Name of the logistics service or product used."
                                            },
                                            "signedBy": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "DEPRECATED — always null."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Delivery dates and service level."
                                    },
                                    "destinationCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected destination country (ISO alpha-2)."
                                    },
                                    "originCountryCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Detected origin country (ISO alpha-2)."
                                    },
                                    "recipient": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "address": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient address."
                                            },
                                            "city": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient city."
                                            },
                                            "name": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient name."
                                            },
                                            "postCode": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient postal code."
                                            },
                                            "subdivision": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "Recipient state or province."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Recipient details. All fields are nulled unless the account may receive personal data."
                                    },
                                    "shipmentId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Unique identifier of the parcel in Ship24."
                                    },
                                    "statusCategory": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 status category for the shipment."
                                    },
                                    "statusCode": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 normalised status code for the shipment."
                                    },
                                    "statusMilestone": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Current milestone; same value set as event.statusMilestone."
                                    },
                                    "trackingNumbers": {
                                      "anyOf": [
                                        {
                                          "items": {
                                            "additionalProperties": {},
                                            "properties": {
                                              "tn": {
                                                "anyOf": [
                                                  {
                                                    "type": "string"
                                                  },
                                                  {
                                                    "type": "null"
                                                  }
                                                ],
                                                "description": "A tracking number linked to the shipment."
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "All tracking numbers linked to the shipment."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "General shipment information and current status."
                            },
                            "statistics": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "timestamps": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": {},
                                          "properties": {
                                            "availableForPickupDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the available_for_pickup milestone."
                                            },
                                            "deliveredDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the delivered milestone."
                                            },
                                            "exceptionDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the exception milestone."
                                            },
                                            "failedAttemptDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the failed_attempt milestone."
                                            },
                                            "inTransitDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the in_transit milestone."
                                            },
                                            "infoReceivedDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the info_received milestone."
                                            },
                                            "outForDeliveryDatetime": {
                                              "anyOf": [
                                                {
                                                  "type": "string"
                                                },
                                                {
                                                  "type": "null"
                                                }
                                              ],
                                              "description": "First occurrence of the out_for_delivery milestone."
                                            }
                                          },
                                          "type": "object"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When each milestone was first reached; null for milestones never reached."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Milestone timestamps for the shipment lifecycle."
                            },
                            "tracker": {
                              "anyOf": [
                                {
                                  "additionalProperties": {},
                                  "properties": {
                                    "clientTrackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own tracker identifier, usable with searchBy=clientTrackerId."
                                    },
                                    "courierCode": {
                                      "anyOf": [
                                        {
                                          "anyOf": [
                                            {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            {
                                              "type": "string"
                                            }
                                          ]
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Courier code(s) pinned on this tracker."
                                    },
                                    "createdAt": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "When the tracker was created."
                                    },
                                    "isSubscribed": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means the tracker is archived and no longer used for tracking."
                                    },
                                    "isTracked": {
                                      "anyOf": [
                                        {
                                          "type": "boolean"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain."
                                    },
                                    "shipmentReference": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Your own shipment reference, as supplied at creation."
                                    },
                                    "trackerId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Ship24 tracker identifier; pass this to get_tracking_results."
                                    },
                                    "trackingNumber": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ],
                                      "description": "Tracking number this tracker follows."
                                    }
                                  },
                                  "type": "object"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "One entry per matched tracker or shipment."
                  }
                },
                "required": [
                  "trackings"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "resend_webhooks",
              "title": "Resend Webhooks",
              "description": "Replays all webhook events for a tracker. Use when your endpoint missed or failed to process previous notifications. Terminates any in-flight webhook delivery for this tracker and invalidates its existing webhook payload records before regenerating and resending them — do not call repeatedly in quick succession. Rate-limited to 1 request/second per tracker.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "searchBy": {
                    "description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
                    "enum": [
                      "trackerId",
                      "clientTrackerId"
                    ],
                    "type": "string"
                  },
                  "trackerId": {
                    "description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\".",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "trackerId"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "summary": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "totalResent": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Number of webhook events queued for resending."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Outcome of the webhook replay."
                  }
                },
                "required": [
                  "summary"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": true
              }
            },
            {
              "name": "download_webhook_history",
              "title": "Download Webhook History",
              "description": "Retrieves the full webhook push history for a tracker. Returns metadata (trackingNumber, trackerId, clientTrackerId, webhookUrl, lastSuccessfulPushAt, lastFailedPushAt) and a list of all sent or failed pushes with status, pushTimestamp, requestBody, responseBody, responseHeaders, and responseStatusCode. Pending (unsent) webhooks are excluded. Results are sorted newest first. Rate-limited to 1 request/second per tracker.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "searchBy": {
                    "description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
                    "enum": [
                      "trackerId",
                      "clientTrackerId"
                    ],
                    "type": "string"
                  },
                  "trackerId": {
                    "description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\".",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "trackerId"
                ],
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": {},
                "properties": {
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {},
                        "properties": {
                          "clientTrackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Your own tracker identifier, if set."
                          },
                          "lastFailedPushAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Most recent failed delivery attempt."
                          },
                          "lastSuccessfulPushAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Most recent successful delivery."
                          },
                          "trackerId": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Ship24 tracker identifier."
                          },
                          "trackingNumber": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Tracking number of the shipment."
                          },
                          "webhookUrl": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "The webhook URL the pushes were delivered to."
                          }
                        },
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Tracker and webhook endpoint context."
                  },
                  "webhooks": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": {},
                          "properties": {
                            "pushTimestamp": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "When the delivery was attempted."
                            },
                            "requestBody": {
                              "description": "The payload Ship24 sent."
                            },
                            "responseBody": {
                              "description": "The body returned by the webhook endpoint."
                            },
                            "responseHeaders": {
                              "description": "The headers returned by the webhook endpoint."
                            },
                            "responseStatusCode": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "HTTP status returned by the webhook endpoint."
                            },
                            "status": {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "success or failed."
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Sent and failed pushes, newest first. Pending webhooks are excluded."
                  }
                },
                "required": [
                  "webhooks"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 15246,
          "changedAt": "2026-11-07T01:47:48.10000302Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 15246,
            "counts": {
              "error": 0,
              "note": 0,
              "warn": 8
            },
            "findings": [
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "create_tracker",
                "message": "1 parameter without a description: settings",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "track",
                "message": "11 parameters without a description: clientTrackerId, courierName, destinationCountryCode, destinationPostCode, orderNumber, originCountryCode and 5 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "update_tracker",
                "message": "2 parameters without a description: destinationPostCode, settings",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "get_tracking_results",
                "message": "the definition is about 2,315 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "search_tracking",
                "message": "the definition is about 2,471 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "search_tracking_by_number",
                "message": "the definition is about 2,284 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "track",
                "message": "the definition is about 2,504 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC23",
                "severity": "warn",
                "message": "12 tools, about 15,129 tokens of definitions",
                "fix": "Split the server by job, or offer a smaller default toolset (a read-only set, or a search-then-call pattern)."
              }
            ]
          }
        },
        "github": {
          "repo": "ship24/ship24-node",
          "checkedAt": "2026-11-02T09:25:03.903137014Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-14T18:35:52Z",
          "openIssues": 0,
          "openPRs": 5,
          "issuesOpened90d": 1,
          "issuesClosed90d": 1,
          "prsMerged90d": 2,
          "ci": {
            "branch": "main",
            "runs": 16,
            "success": 9,
            "failure": 7,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-06T07:46:00Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-07T19:22:32.559566597Z"
      }
    },
    "edges": [
      {
        "by": 50,
        "category": "maintenance",
        "leads": "ship24",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The latest dated change found is the docs changelog for March 2026 and @envia/envia-mcp 0.1.0 on 4 March 2026, more than 180 days ago; doc pages show later `updatedAt` stamps (28 October for the FAQ) that record no change (0). No dated entries in the 90 days from 8 August (0). Support through the dashboard and docs, with no public tracker; the MCP repository named on npm could not be cloned (5 of 15). The MCP package is official, with no API SDK and no registry entry (5 of 15). No public CI to read (0). 0 + 0 + 5 + 5 + 0 = 10.",
          "b": "Every dated source of Ship24's own looked for on 4 November, from depth-200 clones. They are the `ship24` Node SDK (tags v1.0.0 on 14 July and v1.1.0 on 6 October 2026), ship24-ai-plugin (v1.0.0 on 9 September 2026), n8n-nodes-ship24 (newest v1.1.3 on 30 June 2026), the data format page's deprecated-field table (`signedBy`, dated 2026-08 by month only) and no API changelog. The newest release is the SDK's 1.1.0 on 6 October, 29 days back (30). In the 90 days from 6 August there are two dated releases, SDK 1.1.0 and plugin 1.0.0. The 14 and 16 July releases have left the window and the MCP server's 27 August version date came from the MCP registry's JSON API, which is struck, so the line is 0 (20 on 8 October). The service is closed, with no API changelog. Support is a contact form, and four open SDK issues and two plugin issues were counted on 8 October, not re-read (6 of 15, kept). Current official SDK for Node.js and TypeScript, synced with the OpenAPI spec in 1.1.0 (15). The SDK has no runtime dependencies, CI that tests Node 20, 22 and 24, and a workflow that reports drift from the OpenAPI spec (9 of 10). 30 + 0 + 6 + 15 + 9 = 60."
        },
        "scores": {
          "a": 10,
          "b": 60
        }
      },
      {
        "by": 39,
        "category": "transparency",
        "leads": "ship24",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Every terms URL tried answered 500 and the privacy policy is drawn by script, so no terms, entity or data-handling statement was read (0 of 30, 0 of 30). No deprecation policy or dated notices (0). No subprocessors or data locations found (0). 0 + 0 + 0 + 0 = 0, as unread rather than absent where the pages exist.",
          "b": "The service is closed, under Terms and Conditions that name Ship24 Limited of Hong Kong and carry no date or version. They say an Application developer and API agreement applies to API use, and we found no such document on the site. The SDK and plugin are MIT (12 of 30). The privacy policy, last updated August 2026 (re-read 4 November), covers accounts, payments and the MCP integration and gives retention only in general terms. The pricing page lists six months of data retention on the Pro plan, the terms allow deletion of an account's data without notice, and the data processing agreement the terms refer to wasn't found (12 of 30). The data format page promises that existing fields are never removed or changed and lists deprecated fields with the month, most recently `signedBy` in August 2026. Dated notices with no stated period give 15 on this run's settled reading (15 of 20; 10 on 8 October). Stripe, Google and Meta are named in the privacy policy, with no subprocessor list and no hosting locations (4 of 20). 12 + 12 + 15 + 4 = 43."
        },
        "scores": {
          "a": 16,
          "b": 55
        }
      },
      {
        "by": 22,
        "category": "reliability",
        "leads": "ship24",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service on Envia's REST APIs, with the local MCP server noted. No status page is linked and status.envia.com did not connect (0). No readable incident history (5). No rate limits found in the docs index, FAQs, integration guide or production checklist (0). The production checklist asks for 5xx retry logic and webhook deduplication, with no 429 or idempotency guidance for label creation (5 of 15). No SLA found (0). Neither the APIs nor the MCP server is labelled beta (10). 0 + 5 + 0 + 5 + 0 + 10 = 20.",
          "b": "Read with the hosted lines and scored on the REST API at `api.ship24.com/public/v1`, which the hosted MCP server wraps. No status page was found. `status.ship24.com` doesn't resolve, `ship24.statuspage.io` still redirects to its inactive page, and neither the site footer nor the docs link to one (0, re-read 4 November). With no readable incident history the record scores the default (5 of 30). The rate limiter page gives a number for each of 11 endpoints, from 1 request a second on `GET /couriers` and webhook resend to 10 on most others (15). The rate limiter page documents `RateLimit-*`, `X-RateLimit-*` and `Retry-After` headers, the errors page recommends exponential back-off on 429, and tracker creation is documented as idempotent for an identical payload with a 409 `request_conflict`. That is back-off plus safe-retry guidance with no idempotency keys, 12 on this run's settled reading (15 on 8 October). The terms supply the service as is and as available, with no SLA found for any plan (0). The path is `/public/v1` with no beta label (10). 0 + 5 + 15 + 12 + 0 + 10 = 42."
        },
        "scores": {
          "a": 20,
          "b": 42
        }
      },
      {
        "by": 15,
        "category": "ergonomics",
        "leads": "ship24",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Ten compact MCP tools (25). Rates take one carrier per request, and the Queries API filters carriers by country and shipment type; no paging or field selection was found (10 of 20). The FAQ maps common errors to fixes, but the changelog says the three APIs return different error formats that need a normalisation helper (10 of 20). No idempotency key for labels; an unscanned label can be cancelled for an automatic refund, and the MCP tools carry no annotations (3 of 20). The MCP server defaults to sandbox, with no official API SDK (5 of 15). 25 + 10 + 10 + 3 + 5 = 53.",
          "b": "Scored on the REST API and the MCP server together. The docs list 11 MCP tools; the REST API has no field selection, so a results call returns every event (13 of 25, kept; the 8 October size of the tools/list answer came from a request to the server and is struck). `GET /trackers` pages by `page` and `limit` (default 100, maximum 500) with a sort order. No filter appears in the spec for that call, and `GET /couriers` returns the full list unpaged (12 of 20). Errors are a JSON `errors` array with a stable `code` and a message that says what to fix, with 12 documented codes (16 of 20). `POST /trackers` and `POST /trackers/track` are idempotent for an identical payload, `clientTrackerId` is validated as unique, and the bulk call is documented as not fully idempotent. The MCP annotations credited on 8 October came from the struck tools/list request, so the line now rests on the REST behaviour (18 of 20, the earlier partial kept and flagged). Only `trackingNumber` is required and the courier is detected automatically. One official SDK exists, for Node.js and TypeScript, so the two-language line isn't met (9 of 15). 13 + 12 + 16 + 18 + 9 = 68."
        },
        "scores": {
          "a": 53,
          "b": 68
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "ship24",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No public price list: each cost is shown when quoting, and volume plans go through sales (0). A free sandbox account creates test labels with no charges (20). A person signs up in a browser and tops up a balance for live labels (0). 0 + 0 + 20 + 0 = 20.",
          "b": "Read with the hosted rubric. No x402, MPP or L402 was found in the docs, the spec or the pricing page (0). The pricing page lists both billing models without a login, per shipment from $39 a month for 1,000 with $0.045 for each extra shipment, and per call from $99 a month for 10,000 with $0.015 for each extra call, with every tier and overage rate in a table (20). The Tracking API has a free plan of 10 shipments a month. Whether signup asks for a card wasn't established, because the dashboard needs a login we didn't create (10 of 20). A person signs up and picks a plan in the dashboard, and API key creation isn't available through the API or the MCP server (0)."
        },
        "scores": {
          "a": 20,
          "b": 30
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Envia Shipping",
        "b": "Ship24 Limited",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.ship24.com/public/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$0.045 per transaction",
        "name": "Price for shipment tracking"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "10",
        "b": "12",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.ship24/tracking-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-03-06",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-08-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "0 stars, 79 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Ship24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Envia or Ship24?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Envia and Ship24 need an API key?"
      },
      {
        "answer": "Envia runs on your own machine, with no hosted endpoint listed. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1.",
        "question": "Can an agent call Envia and Ship24 without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Shops and platforms shipping in Mexico and Latin America that want rates and labels from many local carriers.",
        "slug": "envia",
        "watchFor": "No status page or rate limits found"
      },
      {
        "aheadOn": [
          "Reliability, 42 against 20",
          "Agent ergonomics, 68 against 53",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 60 against 10",
          "Transparency \u0026 trust, 55 against 16"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.",
        "slug": "ship24",
        "watchFor": "No status page was found. `status.ship24.com` doesn't resolve, and neither the site nor the docs link to one"
      }
    ],
    "history": {
      "envia": null,
      "ship24": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -2.6,
          "from": 55,
          "fromGrade": "C",
          "to": 52.4,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "shipping.tracking",
      "name": "Shipment tracking"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-envia.json",
        "title": "atoship vs Envia",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-envia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-envia.json",
        "title": "EasyPost vs Envia",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-envia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easyship-vs-envia.json",
        "title": "Easyship vs Envia",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-envia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-karrio.json",
        "title": "Envia vs Karrio",
        "url": "https://www.anchorterminal.com/compare/envia-vs-karrio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-sendcloud.json",
        "title": "Envia vs Sendcloud",
        "url": "https://www.anchorterminal.com/compare/envia-vs-sendcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-shipbob.json",
        "title": "Envia vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/envia-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-shippo.json",
        "title": "Envia vs Shippo",
        "url": "https://www.anchorterminal.com/compare/envia-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-shippypro.json",
        "title": "Envia vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/envia-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-shipstation.json",
        "title": "Envia vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/envia-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-ship24.json",
        "title": "atoship vs Ship24",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-ship24"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-ship24.json",
        "title": "EasyPost vs Ship24",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-ship24"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easyship-vs-ship24.json",
        "title": "Easyship vs Ship24",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-ship24"
      },
      {
        "json": "https://www.anchorterminal.com/compare/envia-vs-trackingmore.json",
        "title": "Envia vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/envia-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/karrio-vs-ship24.json",
        "title": "Karrio vs Ship24",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-ship24"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendcloud-vs-ship24.json",
        "title": "Sendcloud vs Ship24",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-ship24"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shipbob.json",
        "title": "Ship24 vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shippo.json",
        "title": "Ship24 vs Shippo",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shippypro.json",
        "title": "Ship24 vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shipstation.json",
        "title": "Ship24 vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore.json",
        "title": "Ship24 vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 22,
        "edge": "ship24",
        "envia": 20,
        "key": "reliability",
        "name": "Reliability",
        "ship24": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "ship24",
        "envia": 80,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ship24": 81,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "ship24",
        "envia": 53,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ship24": 68,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "envia",
        "envia": 35,
        "key": "security",
        "name": "Security \u0026 auth",
        "ship24": 34,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "ship24",
        "envia": 20,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ship24": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 50,
        "edge": "ship24",
        "envia": 10,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ship24": 60,
        "weight": 7
      },
      {
        "by": 39,
        "edge": "ship24",
        "envia": 16,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ship24": 55,
        "weight": 7
      }
    ],
    "summary": "Ship24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories. Both do shipment tracking.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "envia": "Envia's shipping APIs are documented for agents, with llms.txt, OpenAPI definitions on every reference page, a free sandbox and a compact ten-tool MCP server that defaults to test mode. No status page, rate limits, public price list or readable terms were found, and the MCP package has had one release.",
      "ship24": "The REST API and the hosted MCP server share one public OpenAPI 3.1 spec, numbered rate limits with Retry-After, and tracker creation that is idempotent by payload. No status page, SLA or security certification was found, API keys carry no scopes, and the API agreement and data processing agreement named in the terms aren't published."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/envia-vs-ship24",
    "json": "https://www.anchorterminal.com/compare/envia-vs-ship24.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/envia-vs-ship24.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/envia-vs-ship24.min.md"
  },
  "markdown": "Ship24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories. Both do shipment tracking.\n\n- Envia: grade F, 36.5/100, rank #1384 of 1510. Markdown https://www.anchorterminal.com/tools/envia.md · JSON https://www.anchorterminal.com/api/v1/tools/envia.json\n- Ship24: grade D, 52.4/100, rank #993 of 1510. Markdown https://www.anchorterminal.com/tools/ship24.md · JSON https://www.anchorterminal.com/api/v1/tools/ship24.json\n- Best shipping and fulfilment APIs for AI agents: https://www.anchorterminal.com/best/shipping/index.md\n- All 66 shipping comparisons: https://www.anchorterminal.com/compare/shipping/index.md\n\n## Which one, for what\n\n### Envia (F)\n\nGood for: Shops and platforms shipping in Mexico and Latin America that want rates and labels from many local carriers.\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No status page or rate limits found\n\n### Ship24 (D)\n\nGood for: An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.\n\nAhead on:\n- Reliability, 42 against 20\n- Agent ergonomics, 68 against 53\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 60 against 10\n- Transparency \u0026 trust, 55 against 16\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No status page was found. `status.ship24.com` doesn't resolve, and neither the site nor the docs link to one\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Ship24 +50\n\n- Envia (10): The latest dated change found is the docs changelog for March 2026 and @envia/envia-mcp 0.1.0 on 4 March 2026, more than 180 days ago; doc pages show later `updatedAt` stamps (28 October for the FAQ) that record no change (0). No dated entries in the 90 days from 8 August (0). Support through the dashboard and docs, with no public tracker; the MCP repository named on npm could not be cloned (5 of 15). The MCP package is official, with no API SDK and no registry entry (5 of 15). No public CI to read (0). 0 + 0 + 5 + 5 + 0 = 10.\n- Ship24 (60): Every dated source of Ship24's own looked for on 4 November, from depth-200 clones. They are the `ship24` Node SDK (tags v1.0.0 on 14 July and v1.1.0 on 6 October 2026), ship24-ai-plugin (v1.0.0 on 9 September 2026), n8n-nodes-ship24 (newest v1.1.3 on 30 June 2026), the data format page's deprecated-field table (`signedBy`, dated 2026-08 by month only) and no API changelog. The newest release is the SDK's 1.1.0 on 6 October, 29 days back (30). In the 90 days from 6 August there are two dated releases, SDK 1.1.0 and plugin 1.0.0. The 14 and 16 July releases have left the window and the MCP server's 27 August version date came from the MCP registry's JSON API, which is struck, so the line is 0 (20 on 8 October). The service is closed, with no API changelog. Support is a contact form, and four open SDK issues and two plugin issues were counted on 8 October, not re-read (6 of 15, kept). Current official SDK for Node.js and TypeScript, synced with the OpenAPI spec in 1.1.0 (15). The SDK has no runtime dependencies, CI that tests Node 20, 22 and 24, and a workflow that reports drift from the OpenAPI spec (9 of 10). 30 + 0 + 6 + 15 + 9 = 60.\n\n### Transparency \u0026 trust: Ship24 +39\n\n- Envia (16): Every terms URL tried answered 500 and the privacy policy is drawn by script, so no terms, entity or data-handling statement was read (0 of 30, 0 of 30). No deprecation policy or dated notices (0). No subprocessors or data locations found (0). 0 + 0 + 0 + 0 = 0, as unread rather than absent where the pages exist.\n- Ship24 (55): The service is closed, under Terms and Conditions that name Ship24 Limited of Hong Kong and carry no date or version. They say an Application developer and API agreement applies to API use, and we found no such document on the site. The SDK and plugin are MIT (12 of 30). The privacy policy, last updated August 2026 (re-read 4 November), covers accounts, payments and the MCP integration and gives retention only in general terms. The pricing page lists six months of data retention on the Pro plan, the terms allow deletion of an account's data without notice, and the data processing agreement the terms refer to wasn't found (12 of 30). The data format page promises that existing fields are never removed or changed and lists deprecated fields with the month, most recently `signedBy` in August 2026. Dated notices with no stated period give 15 on this run's settled reading (15 of 20; 10 on 8 October). Stripe, Google and Meta are named in the privacy policy, with no subprocessor list and no hosting locations (4 of 20). 12 + 12 + 15 + 4 = 43.\n\n### Reliability: Ship24 +22\n\n- Envia (20): Graded as a hosted service on Envia's REST APIs, with the local MCP server noted. No status page is linked and status.envia.com did not connect (0). No readable incident history (5). No rate limits found in the docs index, FAQs, integration guide or production checklist (0). The production checklist asks for 5xx retry logic and webhook deduplication, with no 429 or idempotency guidance for label creation (5 of 15). No SLA found (0). Neither the APIs nor the MCP server is labelled beta (10). 0 + 5 + 0 + 5 + 0 + 10 = 20.\n- Ship24 (42): Read with the hosted lines and scored on the REST API at `api.ship24.com/public/v1`, which the hosted MCP server wraps. No status page was found. `status.ship24.com` doesn't resolve, `ship24.statuspage.io` still redirects to its inactive page, and neither the site footer nor the docs link to one (0, re-read 4 November). With no readable incident history the record scores the default (5 of 30). The rate limiter page gives a number for each of 11 endpoints, from 1 request a second on `GET /couriers` and webhook resend to 10 on most others (15). The rate limiter page documents `RateLimit-*`, `X-RateLimit-*` and `Retry-After` headers, the errors page recommends exponential back-off on 429, and tracker creation is documented as idempotent for an identical payload with a 409 `request_conflict`. That is back-off plus safe-retry guidance with no idempotency keys, 12 on this run's settled reading (15 on 8 October). The terms supply the service as is and as available, with no SLA found for any plan (0). The path is `/public/v1` with no beta label (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.\n\n### Agent ergonomics: Ship24 +15\n\n- Envia (53): Ten compact MCP tools (25). Rates take one carrier per request, and the Queries API filters carriers by country and shipment type; no paging or field selection was found (10 of 20). The FAQ maps common errors to fixes, but the changelog says the three APIs return different error formats that need a normalisation helper (10 of 20). No idempotency key for labels; an unscanned label can be cancelled for an automatic refund, and the MCP tools carry no annotations (3 of 20). The MCP server defaults to sandbox, with no official API SDK (5 of 15). 25 + 10 + 10 + 3 + 5 = 53.\n- Ship24 (68): Scored on the REST API and the MCP server together. The docs list 11 MCP tools; the REST API has no field selection, so a results call returns every event (13 of 25, kept; the 8 October size of the tools/list answer came from a request to the server and is struck). `GET /trackers` pages by `page` and `limit` (default 100, maximum 500) with a sort order. No filter appears in the spec for that call, and `GET /couriers` returns the full list unpaged (12 of 20). Errors are a JSON `errors` array with a stable `code` and a message that says what to fix, with 12 documented codes (16 of 20). `POST /trackers` and `POST /trackers/track` are idempotent for an identical payload, `clientTrackerId` is validated as unique, and the bulk call is documented as not fully idempotent. The MCP annotations credited on 8 October came from the struck tools/list request, so the line now rests on the REST behaviour (18 of 20, the earlier partial kept and flagged). Only `trackingNumber` is required and the courier is detected automatically. One official SDK exists, for Node.js and TypeScript, so the two-language line isn't met (9 of 15). 13 + 12 + 16 + 18 + 9 = 68.\n\n### Payments \u0026 pricing: Ship24 +10\n\n- Envia (20): No x402, MPP or L402 (0). No public price list: each cost is shown when quoting, and volume plans go through sales (0). A free sandbox account creates test labels with no charges (20). A person signs up in a browser and tops up a balance for live labels (0). 0 + 0 + 20 + 0 = 20.\n- Ship24 (30): Read with the hosted rubric. No x402, MPP or L402 was found in the docs, the spec or the pricing page (0). The pricing page lists both billing models without a login, per shipment from $39 a month for 1,000 with $0.045 for each extra shipment, and per call from $99 a month for 10,000 with $0.015 for each extra call, with every tier and overage rate in a table (20). The Tracking API has a free plan of 10 shipments a month. Whether signup asks for a card wasn't established, because the dashboard needs a login we didn't create (10 of 20). A person signs up and picks a plan in the dashboard, and API key creation isn't available through the API or the MCP server (0).\n\n## Score by category\n\n| Category | Weight | Envia | Ship24 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 42 | Ship24 +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 81 | Ship24 +1 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 68 | Ship24 +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 35 | 34 | Envia +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Ship24 +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 10 | 60 | Ship24 +50 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 16 | 55 | Ship24 +39 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **36.5 · F** | **52.4 · D** | |\n\n## Facts side by side\n\n| Fact | Envia | Ship24 |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Envia Shipping | Ship24 Limited |\n| Hosted endpoint | no (local only) | `https://api.ship24.com/public/v1` |\n| Transports | stdio | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Freemium |\n| Price for shipment tracking | not published | $0.045 per transaction |\n| x402 | no | no |\n| Licence | none | Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT |\n| Tools exposed | 10 | 12 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.ship24/tracking-mcp` |\n| Last release | 2026-03-06 | 2026-10-06 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | no date given | 2026-08-01 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | yes |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | none | 0 stars, 79 npm/wk |\n\n## How the scores have moved\n\n### Envia\n\nNo score change since it was listed.\n\n### Ship24\n\n- -2.6 on 4 November 2026 (C to D): new evidence, correction\n\n## Verdicts\n\n**Envia.** Envia's shipping APIs are documented for agents, with llms.txt, OpenAPI definitions on every reference page, a free sandbox and a compact ten-tool MCP server that defaults to test mode. No status page, rate limits, public price list or readable terms were found, and the MCP package has had one release.\n\n**Ship24.** The REST API and the hosted MCP server share one public OpenAPI 3.1 spec, numbered rate limits with Retry-After, and tracker creation that is idempotent by payload. No status page, SLA or security certification was found, API keys carry no scopes, and the API agreement and data processing agreement named in the terms aren't published.\n\n## Before you call either\n\n### Envia\n\n1. Leave `ENVIA_ENVIRONMENT` unset until the user confirms live shipping; the default is sandbox\n2. Ask the user before `envia_create_label` in production, since it spends the account balance\n3. Validate the postal code at geocodes.envia.com before quoting to avoid no-coverage errors\n4. Cancel an unwanted label before the carrier scans it to get the automatic refund\n5. Use a sandbox token with sandbox hosts and a production token with production hosts; they are not interchangeable\n\n### Ship24\n\n1. Send `Authorization: Bearer apik_...` to `https://api.ship24.com/public/v1`. The same key goes in the `Authorization` header of the MCP server at `https://api.ship24.com/mcp`\n2. Store the `trackerId` or set a unique `clientTrackerId`. Tracking numbers aren't unique, and any changed field on a repeat `POST /trackers` creates a second tracker that uses quota\n3. Allow up to 60 seconds for the first `POST /trackers/track` or `POST /tracking/search` call, since results are fetched from the courier synchronously\n4. Cache `GET /couriers`. It is limited to one request a second and returns the whole courier list, and courier auto-detection usually makes `courierCode` unnecessary\n5. Check for `quota_limit_reached` and `no_active_subscription`. `POST /tracking/search` needs a separate per-call plan, and the free plan blocks at 10 shipments a month\n\n## Questions\n\n### Which is better for AI agents, Envia or Ship24?\n\nShip24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories.\n\n### Do Envia and Ship24 need an API key?\n\nBoth need an API key.\n\n### Can an agent call Envia and Ship24 without installing anything?\n\nEnvia runs on your own machine, with no hosted endpoint listed. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/envia-vs-ship24.json, and with the fewest tokens: https://www.anchorterminal.com/compare/envia-vs-ship24.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"envia\", \"b\": \"ship24\"}`. From a terminal: `anchor compare envia ship24`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/envia.json and https://www.anchorterminal.com/api/v1/tools/ship24.json\n\n## Other comparisons with Envia or Ship24\n\n- [atoship vs Envia](https://www.anchorterminal.com/compare/atoship-vs-envia.md)\n- [EasyPost vs Envia](https://www.anchorterminal.com/compare/easypost-vs-envia.md)\n- [Easyship vs Envia](https://www.anchorterminal.com/compare/easyship-vs-envia.md)\n- [Envia vs Karrio](https://www.anchorterminal.com/compare/envia-vs-karrio.md)\n- [Envia vs Sendcloud](https://www.anchorterminal.com/compare/envia-vs-sendcloud.md)\n- [Envia vs ShipBob](https://www.anchorterminal.com/compare/envia-vs-shipbob.md)\n- [Envia vs Shippo](https://www.anchorterminal.com/compare/envia-vs-shippo.md)\n- [Envia vs ShippyPro](https://www.anchorterminal.com/compare/envia-vs-shippypro.md)\n- [Envia vs ShipStation API](https://www.anchorterminal.com/compare/envia-vs-shipstation.md)\n- [atoship vs Ship24](https://www.anchorterminal.com/compare/atoship-vs-ship24.md)\n- [EasyPost vs Ship24](https://www.anchorterminal.com/compare/easypost-vs-ship24.md)\n- [Easyship vs Ship24](https://www.anchorterminal.com/compare/easyship-vs-ship24.md)\n- [Envia vs TrackingMore](https://www.anchorterminal.com/compare/envia-vs-trackingmore.md)\n- [Karrio vs Ship24](https://www.anchorterminal.com/compare/karrio-vs-ship24.md)\n- [Sendcloud vs Ship24](https://www.anchorterminal.com/compare/sendcloud-vs-ship24.md)\n- [Ship24 vs ShipBob](https://www.anchorterminal.com/compare/ship24-vs-shipbob.md)\n- [Ship24 vs Shippo](https://www.anchorterminal.com/compare/ship24-vs-shippo.md)\n- [Ship24 vs ShippyPro](https://www.anchorterminal.com/compare/ship24-vs-shippypro.md)\n- [Ship24 vs ShipStation API](https://www.anchorterminal.com/compare/ship24-vs-shipstation.md)\n- [Ship24 vs TrackingMore](https://www.anchorterminal.com/compare/ship24-vs-trackingmore.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Envia vs Ship24",
        "url": ""
      }
    ],
    "description": "Ship24 scores 52.4 (D) to Envia's 36.5 (F) for shipment tracking. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Envia F 36.5",
      "Ship24 D 52.4",
      "scores"
    ],
    "h1": "Envia vs Ship24",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/envia-vs-ship24",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Envia vs Ship24 for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/envia-vs-ship24"
  },
  "tokens": {
    "markdown": 4200,
    "slim": 2630
  },
  "version": 1
}
