{
  "data": {
    "a": {
      "slug": "atoship",
      "name": "atoship",
      "vendor": "atoship LLC",
      "vendorUrl": "https://atoship.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "atoship is US shipping software for e-commerce sellers that sells discounted USPS, UPS, FedEx and DHL labels with no subscription. Agents use its REST API v1 or an MCP server, hosted with OAuth or local through npx.",
      "url": "https://www.anchorterminal.com/tools/atoship",
      "markdownUrl": "https://www.anchorterminal.com/tools/atoship.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/atoship.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/atoship.json",
      "dns": "atoship.grade.anchorterminal.com",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://atoship.com/api/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@atoship/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST and the local MCP server take API keys from the dashboard, `ak_live_` for production and `ak_test_` for sandbox, sent as Bearer tokens; the docs advise separate keys with limited scopes and periodic rotation. The hosted MCP server uses OAuth with PKCE (S256) and dynamic registration or a published public client ID, and its approval screen lists what the assistant may do, including buying and voiding labels.",
      "pricing": "usage",
      "pricingNotes": "No subscription or seat fee. Wallet-funded labels cost the discounted carrier rate shown live when quoting. Metered fees are $0.08 a label on your own carrier account, $0.03 a number for tracking labels bought elsewhere and $0.03 a call for the standalone Address Verification API. Sign-up is free with no card, and test keys create no real labels.",
      "priceSummary": "$0.08 / tx",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the MCP docs, API docs, llms.txt or pricing page (checked 2026-11-06). Labels are paid from a prefunded wallet.",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://atoship.com/docs/mcp",
      "llmsTxt": "https://atoship.com/llms.txt",
      "capabilities": [
        "shipping.rates",
        "shipping.labels",
        "shipping.tracking",
        "shipping.address-validation",
        "shipping.returns"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "llms-txt",
        "usage",
        "prepaid",
        "no-card",
        "sandbox",
        "webhooks",
        "postman"
      ],
      "lastRelease": "2026-02-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43,
        "grade": "E",
        "agentReady": false,
        "rank": 1247,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 10,
          "payments": 40,
          "reliability": 30,
          "schema": 55,
          "security": 55,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "atoship gives agents twelve MCP tools and a REST API for US labels with published per-unit fees, free sign-up, test keys and a wallet the agent cannot overspend. No status page, rate-limit figures, OpenAPI spec or changelog was found, and the npm MCP package has not changed since February 2026.",
        "bestFor": "US sellers who want cheap USPS, UPS and FedEx labels bought by an agent from a capped wallet.",
        "strengths": [
          "Free account with no card, and `ak_test_` keys that create no real labels",
          "Per-unit fees published: $0.08 a label on your own carrier account, $0.03 a tracking number or address check",
          "Hosted MCP server with OAuth and PKCE, whose consent screen names label buying and voiding",
          "An agent can spend only what is already in the wallet",
          "Errors carry machine-readable codes and a `retryAfter` on 429"
        ],
        "weaknesses": [
          "No status page; status.atoship.com serves the home page",
          "Rate limits are not given in numbers, and no OpenAPI spec was found",
          "No changelog, and @atoship/mcp was last published on 18 February 2026",
          "Most listed SDKs are not published; only Go installs",
          "No security certification, subprocessor list or retention periods found"
        ],
        "agentNotes": [
          "Use an `ak_test_` key until the user confirms live labels; test mode creates no real labels",
          "Ask the user before `purchase_label`, since it spends the wallet balance",
          "Call `void_label` promptly for a mistaken label, and check the carrier's refund rules",
          "Branch on `error.code`, and on 429 wait `error.retryAfter` seconds",
          "Validate the address with `validate_address` before buying; the standalone endpoint costs $0.03 a call"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 10,
          "payments": 40,
          "reliability": 30,
          "schema": 55,
          "security": 55,
          "transparency": 25
        },
        "provenanceScore": 65,
        "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 @atoship/mcp",
        "claudeCode": "claude mcp add --transport http atoship https://atoship.com/api/mcp",
        "config": {
          "mcpServers": {
            "atoship": {
              "url": "https://atoship.com/api/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/atoship"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Label on your own carrier account",
          "unit": "tx",
          "usd": 0.08,
          "note": "Per label; the carrier bills postage"
        },
        {
          "item": "External tracking number",
          "unit": "tx",
          "usd": 0.03,
          "note": "Only for labels bought elsewhere"
        },
        {
          "item": "Address Verification API call",
          "unit": "call",
          "usd": 0.03,
          "note": "Standalone endpoint only; checks inside rate quotes are free"
        }
      ],
      "provenance": {
        "legalEntity": "atoship LLC",
        "domain": "atoship.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://atoship.com/terms",
        "privacy": "https://atoship.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "atoship.com/robots.txt disallows /api/, /dashboard/, /admin/, /_next/ and /static/ for all agents, so the MCP and REST endpoints under /api/ were not requested.",
          "Terms last updated 20 August 2026 and privacy policy 7 May 2026. The terms forbid decompiling or reverse engineering the platform; no clause on reading public pages was found.",
          "security.txt names security@atoship.com, points its policy to the terms and expires 31 December 2027.",
          "status.atoship.com answers with the marketing home page and /docs/status rendered no status content, so no status page is recorded."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/atoship.json",
      "live": {
        "slug": "atoship",
        "probe": {
          "target": "https://atoship.com/api/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:11.359764372Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 404,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 366,
          "p95ms24h": 457,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@atoship/mcp",
            "version": "1.0.2",
            "seenAt": "2026-11-06T23:07:48.297476849Z"
          }
        ],
        "npmWeekly": 6,
        "securityTxt": {
          "url": "https://atoship.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-12-31T23:59:59.000Z",
          "checkedAt": "2026-11-07T16:01:05.350843408Z"
        },
        "llmsTxt": {
          "url": "https://atoship.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:37.315201154Z"
        },
        "pages": [
          {
            "url": "https://atoship.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T13:59:42.701099832Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a06a9e463f87"
          },
          {
            "url": "https://atoship.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T13:59:44.734681167Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b9b07e284da6"
          }
        ],
        "mcpTools": {
          "url": "https://atoship.com/api/mcp",
          "checkedAt": "2026-11-07T01:42:32.687477466Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:42:32.687477466Z"
        },
        "updatedAt": "2026-11-07T18:20:11.359764372Z"
      }
    },
    "answer": "Ship24 scores 52.4 (D) on agent readiness against atoship's 43 (E), and leads in 5 of 7 scored categories. atoship leads on security \u0026 auth and payments \u0026 pricing.",
    "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": 987,
        "ranked": true,
        "rankOf": 1486,
        "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-07T18:20:54.026239621Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 261,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 350,
          "samples24h": 239,
          "samples30d": 7420,
          "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": 187,
              "ok": 187
            }
          ]
        },
        "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-07T18:20:54.026239621Z"
      }
    },
    "edges": [
      {
        "by": 50,
        "category": "maintenance",
        "leads": "ship24",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "No changelog or release notes found. The newest dated release is @atoship/mcp 1.0.2 on 18 February 2026, more than 180 days ago (0). No dated releases in the 90 days from 8 August (0). Support by email, with no public tracker; the repository named on npm is not public (5 of 15). The MCP package is official, and only the Go SDK of eight listed is installable (5 of 15). No public CI (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": 26,
        "category": "schema",
        "leads": "ship24",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI found (/openapi.json is 404); a Postman collection v2.1 of 15 endpoints is the only machine-readable contract, and the hosted MCP tools' schemas were not read because /api/ is disallowed (15 of 25). llms.txt (10). The MCP page gives each tool a one-line description and an example prompt (8 of 20). Input typing could not be checked beyond the docs' object pages (5 of 15). The errors page documents status codes, `error.code` values and `retryAfter`, with examples (12 of 15). v1 API, no changelog found (5 of 15). 15 + 10 + 8 + 5 + 12 + 5 = 55.",
          "b": "A public OpenAPI 3.1 spec at `docs.ship24.com/assets/openapi/ship24-tracking-api.yaml` covers 12 operations and two webhooks and is linked as a download from the AI integration page (25, re-read 4 November). llms.txt and a hosted `SKILL.md` guide exist, but the docs pages have no Markdown copies and llms.txt truncates its descriptions (8 of 10). The docs' MCP tool table says what each tool does and which calls are billed or large, such as caching `get_couriers`, and the docs explain the three ways to fetch results (18 of 20). Inputs are typed with required fields, 12 enums and limits such as 5 to 50 characters for a tracking number and 500 a page, though the `Authorization` header is modelled as a plain string parameter (12 of 15). The spec has many examples and the errors page lists 12 codes, but most operations document only their success response (10 of 15). The path carries v1 and the data format page promises that fields are never removed and lists four deprecated fields with months. No API changelog was found, only the SDK and plugin changelogs (8 of 15)."
        },
        "scores": {
          "a": 55,
          "b": 81
        }
      },
      {
        "by": 21,
        "category": "security",
        "leads": "atoship",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Live and test API keys sent as Bearer tokens, with the docs advising separate keys with limited scopes and rotation, and OAuth with PKCE for the hosted MCP server (25 of 30). Test keys create no real labels, the consent screen names label buying and voiding, and the docs say the agent can spend only funds already in the wallet, with no per-call confirmation (12 of 20). Responses carry addresses and carrier tracking data rather than free text from strangers (10). No audit log found (0). security.txt valid to December 2027 with a security contact; no certification, bounty or disclosure policy beyond the terms (8 of 20). 25 + 12 + 10 + 0 + 8 = 55.",
          "b": "API keys are sent as a Bearer token in the `Authorization` header. An account can hold up to 20, managed in the dashboard, and the plugin's SECURITY.md advises a dedicated key so it can be revoked alone. Keys have no scopes and no secret travels in a query string (20 of 30). No read-only key, approval step or other least-privilege control was found in the docs. The 8 October credit for plan-based tool registration and a destructive mark on `resend_webhooks` came from a request to the MCP server, which is struck (0 of 20). Results carry courier event text, which is untrusted, and no prompt-injection guidance was found in the docs or the plugin (3 of 15). `GET /trackers/:trackerId/webhook-history/download` returns every webhook push with its response, but no log of API calls or key use was found (4 of 15). `SECURITY.md` in the plugin repository is a disclosure policy (email contact@ship24.com with \"Security\" in the subject, no public issues, API and MCP server reports the same way) with no acknowledgement time, which this run reads as 7 (5 on 8 October). No security.txt (404 on 4 November), bug bounty, SOC 2 or ISO 27001 statement was found, and webhooks are checked by a static shared secret with no signature (7 of 20). 20 + 0 + 3 + 4 + 7 = 34."
        },
        "scores": {
          "a": 55,
          "b": 34
        }
      },
      {
        "by": 15,
        "category": "ergonomics",
        "leads": "ship24",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "12 MCP tools (15, for 11 to 30). List tools for orders and labels, with paging not documented in the pages read (8 of 20). Machine-readable error codes with a retry delay (18 of 20). The npm package's tools carry no readOnlyHint or destructiveHint, and no idempotency key was found; `void_label` undoes a mistaken purchase (5 of 20). Only the Go SDK installs, the hosted server is one URL, and test keys give a safe default (7 of 15). 15 + 8 + 18 + 5 + 7 = 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": 12,
        "category": "reliability",
        "leads": "ship24",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service on the MCP server at atoship.com/api/mcp and REST API v1. status.atoship.com serves the marketing home page and the docs' API Status page rendered no status content, so no status page is counted (0). No readable incident history (5). 429 and a `RATE_LIMIT_EXCEEDED` code are documented, without numbers (5 of 15). A 429 carries `error.retryAfter` and Retry-After; no idempotency key for label purchases was found (10 of 15). No SLA (0). Not labelled beta (10). 0 + 5 + 5 + 10 + 0 + 10 = 30.",
          "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": 30,
          "b": 42
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "atoship",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-unit fees are published without a login ($0.08 a BYOCA label, $0.03 a tracking number or address check), and wallet postage is priced live in a public calculator (20). Free account with no card, and test keys (20). A person signs up in a browser and funds the wallet (0). 0 + 20 + 20 + 0 = 40.",
          "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": 40,
          "b": 30
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "atoship LLC",
        "b": "Ship24 Limited",
        "name": "Vendor"
      },
      {
        "a": "https://atoship.com/api/mcp",
        "b": "https://api.ship24.com/public/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$0.03 per transaction",
        "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": "12",
        "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-02-18",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2026-08-20",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-07",
        "b": "2026-08-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "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 atoship's 43 (E), and leads in 5 of 7 scored categories. atoship leads on security \u0026 auth and payments \u0026 pricing.",
        "question": "Which is better for AI agents, atoship or Ship24?"
      },
      {
        "answer": "atoship, at $0.03 per transaction against $0.045 per transaction for Ship24. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for shipment tracking, atoship or Ship24?"
      },
      {
        "answer": "atoship takes an API key or an OAuth sign-in. Ship24 needs an API key.",
        "question": "Do atoship and Ship24 need an API key?"
      },
      {
        "answer": "Yes. atoship has a hosted endpoint at https://atoship.com/api/mcp and Ship24 at https://api.ship24.com/public/v1.",
        "question": "Can an agent call atoship and Ship24 without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 55 against 34",
          "Payments \u0026 pricing, 40 against 30"
        ],
        "also": [
          "Cheaper for shipment tracking, $0.03 against $0.045 per transaction",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "US sellers who want cheap USPS, UPS and FedEx labels bought by an agent from a capped wallet.",
        "slug": "atoship",
        "watchFor": "No status page; status.atoship.com serves the home page"
      },
      {
        "aheadOn": [
          "Reliability, 42 against 30",
          "Schema \u0026 documentation, 81 against 55",
          "Agent ergonomics, 68 against 53",
          "Maintenance \u0026 community, 60 against 10",
          "Transparency \u0026 trust, 55 against 45"
        ],
        "also": null,
        "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": {
      "atoship": 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-easypost.json",
        "title": "atoship vs EasyPost",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-easypost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-easyship.json",
        "title": "atoship vs Easyship",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-easyship"
      },
      {
        "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/atoship-vs-karrio.json",
        "title": "atoship vs Karrio",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-karrio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-sendcloud.json",
        "title": "atoship vs Sendcloud",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-sendcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-shipbob.json",
        "title": "atoship vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-shippo.json",
        "title": "atoship vs Shippo",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-shippypro.json",
        "title": "atoship vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-shipstation.json",
        "title": "atoship vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atoship-vs-trackingmore.json",
        "title": "atoship vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/atoship-vs-trackingmore"
      },
      {
        "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-ship24.json",
        "title": "Envia vs Ship24",
        "url": "https://www.anchorterminal.com/compare/envia-vs-ship24"
      },
      {
        "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": [
      {
        "atoship": 30,
        "by": 12,
        "edge": "ship24",
        "key": "reliability",
        "name": "Reliability",
        "ship24": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "atoship": 55,
        "by": 26,
        "edge": "ship24",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ship24": 81,
        "weight": 13
      },
      {
        "atoship": 53,
        "by": 15,
        "edge": "ship24",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ship24": 68,
        "weight": 13
      },
      {
        "atoship": 55,
        "by": 21,
        "edge": "atoship",
        "key": "security",
        "name": "Security \u0026 auth",
        "ship24": 34,
        "weight": 14
      },
      {
        "atoship": 40,
        "by": 10,
        "edge": "atoship",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ship24": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "atoship": 10,
        "by": 50,
        "edge": "ship24",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ship24": 60,
        "weight": 7
      },
      {
        "atoship": 45,
        "by": 10,
        "edge": "ship24",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ship24": 55,
        "weight": 7
      }
    ],
    "summary": "Ship24 scores 52.4 (D) on agent readiness against atoship's 43 (E), and leads in 5 of 7 scored categories. atoship leads on security \u0026 auth and payments \u0026 pricing. Both do shipment tracking. atoship is cheaper for shipment tracking, $0.03 against $0.045 per transaction.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "atoship": "atoship gives agents twelve MCP tools and a REST API for US labels with published per-unit fees, free sign-up, test keys and a wallet the agent cannot overspend. No status page, rate-limit figures, OpenAPI spec or changelog was found, and the npm MCP package has not changed since February 2026.",
      "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/atoship-vs-ship24",
    "json": "https://www.anchorterminal.com/compare/atoship-vs-ship24.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/atoship-vs-ship24.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/atoship-vs-ship24.min.md"
  },
  "markdown": "Ship24 scores 52.4 (D) on agent readiness against atoship's 43 (E), and leads in 5 of 7 scored categories. atoship leads on security \u0026 auth and payments \u0026 pricing. Both do shipment tracking. atoship is cheaper for shipment tracking, $0.03 against $0.045 per transaction.\n\n- atoship: grade E, 43/100, rank #1247 of 1486. Markdown https://www.anchorterminal.com/tools/atoship.md · JSON https://www.anchorterminal.com/api/v1/tools/atoship.json\n- Ship24: grade D, 52.4/100, rank #987 of 1486. 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### atoship (E)\n\nGood for: US sellers who want cheap USPS, UPS and FedEx labels bought by an agent from a capped wallet.\n\nAhead on:\n- Security \u0026 auth, 55 against 34\n- Payments \u0026 pricing, 40 against 30\n\nAlso in its favour:\n- Cheaper for shipment tracking, $0.03 against $0.045 per transaction\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: No status page; status.atoship.com serves the home page\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 30\n- Schema \u0026 documentation, 81 against 55\n- Agent ergonomics, 68 against 53\n- Maintenance \u0026 community, 60 against 10\n- Transparency \u0026 trust, 55 against 45\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- atoship (10): No changelog or release notes found. The newest dated release is @atoship/mcp 1.0.2 on 18 February 2026, more than 180 days ago (0). No dated releases in the 90 days from 8 August (0). Support by email, with no public tracker; the repository named on npm is not public (5 of 15). The MCP package is official, and only the Go SDK of eight listed is installable (5 of 15). No public CI (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### Schema \u0026 documentation: Ship24 +26\n\n- atoship (55): No OpenAPI found (/openapi.json is 404); a Postman collection v2.1 of 15 endpoints is the only machine-readable contract, and the hosted MCP tools' schemas were not read because /api/ is disallowed (15 of 25). llms.txt (10). The MCP page gives each tool a one-line description and an example prompt (8 of 20). Input typing could not be checked beyond the docs' object pages (5 of 15). The errors page documents status codes, `error.code` values and `retryAfter`, with examples (12 of 15). v1 API, no changelog found (5 of 15). 15 + 10 + 8 + 5 + 12 + 5 = 55.\n- Ship24 (81): A public OpenAPI 3.1 spec at `docs.ship24.com/assets/openapi/ship24-tracking-api.yaml` covers 12 operations and two webhooks and is linked as a download from the AI integration page (25, re-read 4 November). llms.txt and a hosted `SKILL.md` guide exist, but the docs pages have no Markdown copies and llms.txt truncates its descriptions (8 of 10). The docs' MCP tool table says what each tool does and which calls are billed or large, such as caching `get_couriers`, and the docs explain the three ways to fetch results (18 of 20). Inputs are typed with required fields, 12 enums and limits such as 5 to 50 characters for a tracking number and 500 a page, though the `Authorization` header is modelled as a plain string parameter (12 of 15). The spec has many examples and the errors page lists 12 codes, but most operations document only their success response (10 of 15). The path carries v1 and the data format page promises that fields are never removed and lists four deprecated fields with months. No API changelog was found, only the SDK and plugin changelogs (8 of 15).\n\n### Security \u0026 auth: atoship +21\n\n- atoship (55): Live and test API keys sent as Bearer tokens, with the docs advising separate keys with limited scopes and rotation, and OAuth with PKCE for the hosted MCP server (25 of 30). Test keys create no real labels, the consent screen names label buying and voiding, and the docs say the agent can spend only funds already in the wallet, with no per-call confirmation (12 of 20). Responses carry addresses and carrier tracking data rather than free text from strangers (10). No audit log found (0). security.txt valid to December 2027 with a security contact; no certification, bounty or disclosure policy beyond the terms (8 of 20). 25 + 12 + 10 + 0 + 8 = 55.\n- Ship24 (34): API keys are sent as a Bearer token in the `Authorization` header. An account can hold up to 20, managed in the dashboard, and the plugin's SECURITY.md advises a dedicated key so it can be revoked alone. Keys have no scopes and no secret travels in a query string (20 of 30). No read-only key, approval step or other least-privilege control was found in the docs. The 8 October credit for plan-based tool registration and a destructive mark on `resend_webhooks` came from a request to the MCP server, which is struck (0 of 20). Results carry courier event text, which is untrusted, and no prompt-injection guidance was found in the docs or the plugin (3 of 15). `GET /trackers/:trackerId/webhook-history/download` returns every webhook push with its response, but no log of API calls or key use was found (4 of 15). `SECURITY.md` in the plugin repository is a disclosure policy (email contact@ship24.com with \"Security\" in the subject, no public issues, API and MCP server reports the same way) with no acknowledgement time, which this run reads as 7 (5 on 8 October). No security.txt (404 on 4 November), bug bounty, SOC 2 or ISO 27001 statement was found, and webhooks are checked by a static shared secret with no signature (7 of 20). 20 + 0 + 3 + 4 + 7 = 34.\n\n### Agent ergonomics: Ship24 +15\n\n- atoship (53): 12 MCP tools (15, for 11 to 30). List tools for orders and labels, with paging not documented in the pages read (8 of 20). Machine-readable error codes with a retry delay (18 of 20). The npm package's tools carry no readOnlyHint or destructiveHint, and no idempotency key was found; `void_label` undoes a mistaken purchase (5 of 20). Only the Go SDK installs, the hosted server is one URL, and test keys give a safe default (7 of 15). 15 + 8 + 18 + 5 + 7 = 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### Reliability: Ship24 +12\n\n- atoship (30): Graded as a hosted service on the MCP server at atoship.com/api/mcp and REST API v1. status.atoship.com serves the marketing home page and the docs' API Status page rendered no status content, so no status page is counted (0). No readable incident history (5). 429 and a `RATE_LIMIT_EXCEEDED` code are documented, without numbers (5 of 15). A 429 carries `error.retryAfter` and Retry-After; no idempotency key for label purchases was found (10 of 15). No SLA (0). Not labelled beta (10). 0 + 5 + 5 + 10 + 0 + 10 = 30.\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### Payments \u0026 pricing: atoship +10\n\n- atoship (40): No x402, MPP or L402 (0). Per-unit fees are published without a login ($0.08 a BYOCA label, $0.03 a tracking number or address check), and wallet postage is priced live in a public calculator (20). Free account with no card, and test keys (20). A person signs up in a browser and funds the wallet (0). 0 + 20 + 20 + 0 = 40.\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 | atoship | Ship24 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 42 | Ship24 +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 81 | Ship24 +26 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 68 | Ship24 +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 34 | atoship +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | atoship +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) | 45 | 55 | Ship24 +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43 · E** | **52.4 · D** | |\n\n## Facts side by side\n\n| Fact | atoship | Ship24 |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | atoship LLC | Ship24 Limited |\n| Hosted endpoint | `https://atoship.com/api/mcp` | `https://api.ship24.com/public/v1` |\n| Transports | Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| Price for shipment tracking | $0.03 per transaction | $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 | 12 | 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-02-18 | 2026-10-06 |\n| Terms last updated | 2026-08-20 | no date given |\n| Privacy policy last updated | 2026-05-07 | 2026-08-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 0 stars, 79 npm/wk |\n\n## How the scores have moved\n\n### atoship\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**atoship.** atoship gives agents twelve MCP tools and a REST API for US labels with published per-unit fees, free sign-up, test keys and a wallet the agent cannot overspend. No status page, rate-limit figures, OpenAPI spec or changelog was found, and the npm MCP package has not changed since February 2026.\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### atoship\n\n1. Use an `ak_test_` key until the user confirms live labels; test mode creates no real labels\n2. Ask the user before `purchase_label`, since it spends the wallet balance\n3. Call `void_label` promptly for a mistaken label, and check the carrier's refund rules\n4. Branch on `error.code`, and on 429 wait `error.retryAfter` seconds\n5. Validate the address with `validate_address` before buying; the standalone endpoint costs $0.03 a call\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, atoship or Ship24?\n\nShip24 scores 52.4 (D) on agent readiness against atoship's 43 (E), and leads in 5 of 7 scored categories. atoship leads on security \u0026 auth and payments \u0026 pricing.\n\n### Which is cheaper for shipment tracking, atoship or Ship24?\n\natoship, at $0.03 per transaction against $0.045 per transaction for Ship24. These are the vendors' published prices for the job.\n\n### Do atoship and Ship24 need an API key?\n\natoship takes an API key or an OAuth sign-in. Ship24 needs an API key.\n\n### Can an agent call atoship and Ship24 without installing anything?\n\nYes. atoship has a hosted endpoint at https://atoship.com/api/mcp and Ship24 at https://api.ship24.com/public/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/atoship-vs-ship24.json, and with the fewest tokens: https://www.anchorterminal.com/compare/atoship-vs-ship24.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"atoship\", \"b\": \"ship24\"}`. From a terminal: `anchor compare atoship ship24`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/atoship.json and https://www.anchorterminal.com/api/v1/tools/ship24.json\n\n## Other comparisons with atoship or Ship24\n\n- [atoship vs EasyPost](https://www.anchorterminal.com/compare/atoship-vs-easypost.md)\n- [atoship vs Easyship](https://www.anchorterminal.com/compare/atoship-vs-easyship.md)\n- [atoship vs Envia](https://www.anchorterminal.com/compare/atoship-vs-envia.md)\n- [atoship vs Karrio](https://www.anchorterminal.com/compare/atoship-vs-karrio.md)\n- [atoship vs Sendcloud](https://www.anchorterminal.com/compare/atoship-vs-sendcloud.md)\n- [atoship vs ShipBob](https://www.anchorterminal.com/compare/atoship-vs-shipbob.md)\n- [atoship vs Shippo](https://www.anchorterminal.com/compare/atoship-vs-shippo.md)\n- [atoship vs ShippyPro](https://www.anchorterminal.com/compare/atoship-vs-shippypro.md)\n- [atoship vs ShipStation API](https://www.anchorterminal.com/compare/atoship-vs-shipstation.md)\n- [atoship vs TrackingMore](https://www.anchorterminal.com/compare/atoship-vs-trackingmore.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 Ship24](https://www.anchorterminal.com/compare/envia-vs-ship24.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": "atoship vs Ship24",
        "url": ""
      }
    ],
    "description": "Ship24 scores 52.4 (D) to atoship's 43 (E) for shipment tracking. atoship is cheaper for shipment tracking, $0.03 against $0.045 per transaction. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "atoship E 43",
      "Ship24 D 52.4",
      "scores"
    ],
    "h1": "atoship vs Ship24",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/atoship-vs-ship24",
    "published": "2026-10-01",
    "section": "tools",
    "title": "atoship vs Ship24 for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/atoship-vs-ship24"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 3130
  },
  "version": 1
}
