Skip to main content
Glama

Server Details

Track parcels across 2,500+ carriers and 3PLs: live delivery status, event history, carrier lookup.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

12 tools
bulk_create_trackersBulk Create TrackersAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackersYesArray of tracker objects to create (minimum 1, maximum 100).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNoPer-item outcome, in submission order. Null when status is error.
errorNoRequest-level error. Null unless the whole request failed.
statusNosuccess (all created or already existing) | partial (successes and errors) | error (all failed, or a request-level error).
summaryNoPer-request counts. Null when status is error.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the annotations by explicitly warning that the operation is not fully idempotent and that retries may partially create trackers. It also discloses the return shape—counts of created, ignored/duplicate, and failed trackers plus per-item details—which is valuable behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences carry exactly the necessary information: the batch capability, the relationship to create_tracker, and critical idempotency/return behavior. Every sentence earns its place, and the most important limit is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich input schema and the existence of an output schema, the description covers the key operational caveat (partial creation on retry), the size limit, duplicate handling, and the return summary. Nothing essential for calling this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the 'trackers' array and its item fields. The description adds a helpful cross-reference to create_tracker for field details but does not enrich parameter meaning beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Creates up to 100 trackers in one request.' It clearly differentiates this from the sibling create_tracker by emphasizing the batch nature and the 100-item limit, so an agent can tell it apart immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'in one request' and 'up to 100' language clearly positions this tool for batch creation, and the reference to create_tracker for field details gives context about its relationship to the single-create tool. It does not explicitly state 'use create_tracker for a single tracker and this for multiple trackers,' but the use case is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_trackerCreate TrackerA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingsNo
courierCodeNoCourier 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.
courierNameNoCourier name (informational).
orderNumberNoAssociated order number.
trackingUrlNoCourier tracking URL.
shippingDateNoDate the package was shipped (YYYY-MM-DD or ISO 8601).
trackingNumberYesTracking number to monitor.
clientTrackerIdNoYour unique identifier for this tracker, for lookup via searchBy=clientTrackerId.
originCountryCodeNoOrigin country code (ISO alpha-2, e.g. US).
shipmentReferenceNoInternal reference for the shipment.
destinationPostCodeNoDestination postal/ZIP code.
destinationCountryCodeNoDestination country code (ISO alpha-2).

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackerYesThe tracker.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the idempotentHint annotation by explaining exactly what idempotency means here: same parameters reuse the existing tracker, while any field change creates a new one. Also discloses asynchronous webhook subscription behavior and specifies that the created tracker's Ship24 trackerId is returned in the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences deliver the full behavioral contract without redundancy: creation purpose, usage timing, async behavior, idempotency, webhooks, and return value. The critical info is front-loaded and every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and rich annotations, the description covers all essential decision factors: when to use, what happens after creation, idempotency behavior, and what the response contains. No critical gap remains for an agent selecting and invoking this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 92% parameter coverage, so the description need not restate field meanings. The description adds context about parameter reuse via idempotency but no parameter-specific semantics beyond the schema, which meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Creates a new tracker') and explicitly distinguishes ongoing monitoring from immediate result tools ('for immediate results use track or search_tracking'). The description makes the tool's purpose unmistakable and separates it from its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit condition for use ('when the user explicitly wants ongoing monitoring or webhook updates') and names specific alternatives for the opposite case ('track or search_tracking'). Also explains the asynchronous nature of results, which is critical for proper tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_webhook_historyDownload Webhook HistoryA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchByNoHow to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.
trackerIdYesShip24 trackerId, or clientTrackerId when searchBy="clientTrackerId".

Output Schema

ParametersJSON Schema
NameRequiredDescription
metadataNoTracker and webhook endpoint context.
webhooksYesSent and failed pushes, newest first. Pending webhooks are excluded.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint already provided, the description adds valuable behavioral details: pending webhooks are excluded, results are sorted newest first, and the operation is rate-limited to 1 request/second per tracker. These details go beyond the annotations and help the agent set correct expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, stating the core purpose first, then adding return fields and behavioral caveats. Every sentence provides useful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what is returned, what is excluded, ordering behavior, and rate limits, while the output schema handles return structure. For a two-parameter read-only tool, this is complete enough for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters fully, including searchBy's enum and the meaning of trackerId. The description does not add additional parameter-level detail, but none is needed given the 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Retrieves the full webhook push history for a tracker.' It clearly differentiates itself from siblings like get_tracker and resend_webhooks by focusing on webhook push history rather than tracking results or resending webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear this tool is for retrieving webhook push history, which strongly implies when to use it. It does not explicitly name alternatives or state when not to use it, but the context is sufficient to guide an agent toward this tool for webhook history needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_couriersGet CouriersA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
couriersYesAll couriers supported by Ship24.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description adds meaningful behavioral context: the endpoint has a 1 request/second rate limit and results should be cached. It also tells the agent what data is included, which helps set expectations for the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no wasted words: the return value is stated first, then use cases, then a critical rate-limit warning. Every sentence adds value and the most important operational detail is clearly flagged.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with an output schema already present, the description is complete. It covers what the tool returns, when to use it, and an important rate-limit constraint. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter documentation burden on the description. The baseline for a zero-parameter tool is 4, and the description appropriately focuses on output and usage rather than parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the list of all supported couriers with courier codes, human-readable names, and special tracking requirements. This is a specific verb-plus-resource statement that is easily distinguished from sibling tools like create_tracker or get_tracking_results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: before creating or updating trackers to discover valid courierCode values, and to identify which courier handles a tracking number format. It does not explicitly name alternatives or exclusion conditions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trackerGet TrackerA
Read-only
Inspect

Retrieves a single tracker by trackerId (or clientTrackerId when searchBy is set). Returns tracker metadata only — use get_tracking_results for events and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchByNoHow to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.
trackerIdYesShip24 trackerId, or clientTrackerId when searchBy="clientTrackerId".

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackerYesThe tracker.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds the important behavioral boundary that only tracker metadata is returned, not events or status. This goes beyond the schema by setting expectations about response scope, though it does not discuss error behavior or lookup failure handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The core operation and key distinction from get_tracking_results are front-loaded, and every clause adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-resource read with a full output schema, read-only annotations, and a clear sibling pointer, the description is complete. An agent can correctly invoke the tool and understand what it will get back without needing additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters are well documented with descriptions and an enum. The tool description adds little beyond the schema, only restating that searchBy alters interpretation of trackerId. Per the baseline, this is adequate but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Retrieves') and resource ('a single tracker'), and distinguishes this from get_tracking_results by stating it returns metadata only. It also clearly differentiates from list_trackers by focusing on a single tracker rather than a list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs the agent to use get_tracking_results for events and status, which is a direct when-to-use/alternative statement. It also clarifies the dual lookup modes via trackerId and clientTrackerId, giving clear context for selecting this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tracking_resultsGet Tracking ResultsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchByNoHow to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.
trackerIdYesShip24 trackerId, or clientTrackerId when searchBy="clientTrackerId".

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackingsYesOne entry per matched tracker or shipment.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true and openWorldHint=false; the description goes further by specifying that events are returned in order and listing the allowed statusMilestone values. It does not discuss pagination or errors, but for a read-only lookup with an output schema this is adequate added behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences each earn their place: the return payload, the primary use case, and the statusMilestone enum. It is front-loaded with the core behavior and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple read-only getter with one required parameter, a fully described input schema, and an output schema. The description covers what it returns, in what order, and when to use it, so an agent has enough to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema description coverage is 100%, so the schema already documents trackerId and searchBy meanings. The description mentions needing a trackerId and alludes to status values, but adds no parameter-level detail beyond the schema, giving the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('Returns') and resource ('full tracking results for an existing tracker') and enumerates the content: metadata, shipment status, events in order, and delivery statistics. It also marks itself as the primary tool for 'where is my package?' when a trackerId is available, distinguishing it from search-oriented siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool: when you have a trackerId and need package status context. It does not explicitly name sibling tools as alternatives or state when not to use it, but the 'primary tool for...' framing gives clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_trackersList TrackersB
Read-only
Inspect

Returns a paginated list of all trackers. Supports offset (page/limit) or cursor-based pagination. Filter by subscription status with isSubscribed.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-indexed).
sortNoSort order by createdAt. 1 = ascending (oldest first, default), -1 = descending (newest first).
limitNoResults per page (max 500).

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackersYesTrackers on the requested page.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds pagination/filtering behavior. However, it claims cursor-based pagination and an isSubscribed parameter that are not present in the input schema, making the behavioral guidance misleading and unreliable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the core action in the first sentence. The second sentence is short but contains inaccuracies, so it does not fully earn its place; still, the overall structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema and annotations cover some context, but the mismatch between the described pagination/filter options and the actual schema leaves an agent without a valid way to invoke the promised cursor or isSubscribed behavior. The description is therefore not complete enough for reliable tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description introduces 'isSubscribed' and 'cursor' as though they were parameters while the schema only defines page, sort, and limit. It adds no clarifying semantics for sort and creates confusion about available arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns a paginated list of all trackers.' This clearly distinguishes it from single-item tools like get_tracker and search-focused siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when to use the tool: to list all trackers, with pagination and subscription-status filtering. It does not explicitly name alternatives or exclusions, but the purpose is clear enough that an agent can infer the basic use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resend_webhooksResend WebhooksA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchByNoHow to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.
trackerIdYesShip24 trackerId, or clientTrackerId when searchBy="clientTrackerId".

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryYesOutcome of the webhook replay.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description goes well beyond the annotations, disclosing that it terminates in-flight deliveries, invalidates existing webhook payload records, and regenerates/resends them. It also adds the rate-limit detail. Nothing contradicts the destructiveHint=true or idempotentHint=false annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: main action, use case, then critical warnings. The destructive behavior and rate limit are front-loaded in the same compact block, making the tool's risk profile immediately visible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent tool, the description discloses side effects, rate limiting, and appropriate invocation context. An output schema exists, so return-value documentation is not required here. The description is complete enough for an agent to call it safely with the provided schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both searchBy and trackerId already documented inline. The description adds no new parameter-level detail beyond referring to 'a tracker,' so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb+resource: 'Replays all webhook events for a tracker.' It clearly separates this from siblings like download_webhook_history by focusing on replay/resend rather than retrieval. The use case 'when your endpoint missed or failed to process previous notifications' further pins down the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Use when your endpoint missed or failed to process previous notifications.' It also gives a clear when-not: 'do not call repeatedly in quick succession,' plus a rate-limit constraint. While it does not name an alternative sibling, the stated context is sufficient for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_trackingSearch TrackingA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
courierCodeNoCourier 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.
shippingDateNoDate the package was shipped (YYYY-MM-DD or ISO 8601).
trackingNumberYesTracking number to look up. 5-50 alphanumeric characters, hyphens, underscores, dots, or slashes.
originCountryCodeNoOrigin country code (ISO alpha-2).
destinationPostCodeNoDestination postal/ZIP code.
destinationCountryCodeNoDestination country code (ISO alpha-2).

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackingsYesOne entry per matched tracker or shipment.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, openWorldHint), the description discloses key behaviors: synchronous execution, immediate full results, no tracker creation, per-call billing, and subscription dependency. This is exactly the kind of contextual behavior an agent needs and exceeds what annotations alone provide. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences: first defines purpose and typical use, second states behavioral outcome and billing model, third provides fallback. No filler; each sentence adds distinct value and the key differentiator is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema is present, so return details need not be spelled out. The description covers when to use, how it behaves, what side effects it avoids, cost implications, and what to do on failure. For a six-parameter tool, this is complete and actionable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with detailed parameter descriptions including format, constraints, and courier-specific validation notes. The tool description does not add parameter-level meaning, but the schema already handles it, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: one-off tracking lookups with natural-language examples ('track X', 'where is my package'). It explicitly differentiates from siblings by labeling itself 'Default tool' and clarifying it is a synchronous per-call endpoint that creates no tracker, making its role distinct from track and create_tracker.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: it is the default for one-off lookups, and it provides a concrete routing rule for failure — if no_active_subscription occurs, use track instead. This gives an agent a clear decision boundary between search_tracking and its alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_tracking_by_numberSearch by Tracking NumberA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackingNumberYesThe raw shipment tracking number to search for (e.g. 1Z999AA10123456784).

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackingsYesOne entry per matched tracker or shipment.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, but the description goes further by explaining the concrete side-effect-free guarantees: 'never creates a tracker and never triggers a new crawl.' It also discloses the 404 tracker_not_found behavior, which is important for agents handling missing-tracker cases. This is exactly the kind of behavioral context the dimension rewards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. The first sentence states the core function and key differentiator, the second covers safety guarantees, and the third handles error behavior and alternatives. Every sentence earns its place, and the most decision-relevant content is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with an output schema and safety annotations, the description is complete. It covers the operation, queried resource scope, side effects, error response, and routing to alternatives. There is nothing an agent needs to call this tool correctly that is missing, and the presence of an output schema means return-value details need not be repeated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the single parameter with a type, minLength, and an example. The description adds the framing 'raw tracking number' and 'across trackers already on the account,' which slightly enriches the parameter's meaning, but it does not add substantially new information beyond the schema. With 100% schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns existing tracking results for a raw tracking number across trackers already on the account.' It also clarifies the key distinction that no trackerId is needed, and it distinguishes itself from siblings by naming search_tracking and track as alternatives. This gives an agent a clear, unambiguous understanding of what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use this first when a tracker may already exist.' It also gives a concrete fallback path on 404, directing the agent to search_tracking or track with selection criteria ('per-call' vs 'per-shipment'). This fully resolves the choice among the closely related sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trackTrack ShipmentA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingsNo
courierCodeNoCourier 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.
courierNameNo
orderNumberNo
trackingUrlNo
shippingDateNo
trackingNumberYes
clientTrackerIdNo
originCountryCodeNo
shipmentReferenceNo
destinationPostCodeNo
destinationCountryCodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackingsYesOne entry per matched tracker or shipment.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavior beyond annotations: it explains idempotency concretely ('same payload reuses the existing tracker'), discloses the persistent side effect, and describes the synchronous return behavior plus a conditional follow-up call. Annotations already include idempotentHint and destructiveHint, but the description enriches the agent's understanding of what happens during and after the call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: core behavior first, then idempotency, then usage routing, then a conditional follow-up, then field delegation. Every sentence earns its place, and there is no redundant restatement of the name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 parameters and nested objects, the description wisely delegates field details to create_tracker and relies on the presence of an output schema for return semantics. It covers the key operational context: persistence, synchronous results, idempotency, and when to use an alternative. The phrase 'per-shipment plan' is slightly unexplained, but overall the agent has enough direction to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 8%, and the description does not explain any of the 12 parameters. It defers responsibility with 'Accepts the same fields as create_tracker — see that tool for field details,' which is a helpful pointer but not self-contained. An agent may need to fetch another tool's definition to understand parameters like courierCode, shippingDate, or clientTrackerId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific behavior: 'Creates a persistent tracker on the account AND returns full tracking results synchronously in one call.' This goes beyond the tool name and titles, describing both the resource affected (persistent tracker) and the immediate outcome (tracking results), while also distinguishing it from the one-off search_tracking sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: 'Prefer search_tracking for one-off lookups when the per-call plan is available.' It also provides a concrete follow-up instruction to call get_tracking_results when the shipment is pending with no events. It does not fully contrast track with create_tracker, but it points to create_tracker for field semantics, which indirectly clarifies the relationship.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_trackerUpdate TrackerA
Idempotent
Inspect

Partially updates a tracker (PATCH). Only provided fields are changed. Common uses: toggling isSubscribed, correcting destination details, or setting a clientTrackerId.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchByNoHow to interpret trackerId: default is Ship24 trackerId, use "clientTrackerId" for your own reference.
settingsNo
trackerIdYesThe tracker to update (Ship24 trackerId or clientTrackerId).
courierCodeNoCourier 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.
isSubscribedNotrue to subscribe to webhooks, false to unsubscribe.
shippingDateNoShip date (YYYY-MM-DD or ISO 8601). Immutable once tracking data exists.
originCountryCodeNoOrigin country code (ISO alpha-2). Immutable once tracking data exists.
destinationPostCodeNo
destinationCountryCodeNoDestination country code (ISO alpha-2). Immutable once tracking data exists.

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackerYesThe tracker.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable behavioral context beyond the annotations by explicitly stating that only provided fields are changed, reinforcing the PATCH semantics. The annotations already indicate non-destructive and idempotent behavior, so the description does not need to repeat safety details. It could mention immutability constraints, but those are already captured in the schema descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it names the operation, the HTTP semantics, the partial-update rule, and common use cases in three short sentences. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for an agent to understand the tool's role among its siblings, especially with the output schema and annotations available. It lacks explicit guidance on when to prefer update_tracker over create_tracker, but the partial-update framing and common-use examples cover most selection scenarios, and the schema handles parameter-level constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 78%, so most parameters are already documented in the schema. The description adds the general semantic that omitted fields remain unchanged, and hints at clientTrackerId usage, but it does not provide detailed parameter-level guidance beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Partially updates a tracker (PATCH)', a specific verb plus resource that clearly identifies the operation and differentiates it from create/get/list siblings. It also clarifies the partial-update semantics and names concrete use cases such as toggling isSubscribed and correcting destination details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool is appropriate by listing common uses: toggling isSubscribed, correcting destination details, or setting a clientTrackerId. It does not explicitly name alternatives or say when not to use it, but the PATCH semantics and 'only provided fields are changed' make the intended scenario reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Track packages across 3,200+ carriers (USPS, UPS, FedEx, DHL, China Post, UniUni, SpeedX and more) with automatic carrier detection. Register, list, and archive tracking numbers and get real-time delivery event timelines via the 24hTrack API.
    52
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to track and manage deliveries by interacting with the Parcel delivery tracking API. Users can add new shipments, retrieve active delivery statuses, and look up carrier information through natural language.
    2
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation2/5

Several tools appear to answer the same 'where is my package?' question: search_tracking, search_tracking_by_number, track, and get_tracking_results. The descriptions explain subtle differences around billing, persistence, and account state, but the tool boundaries are still easy to blur during selection.

Naming Consistency4/5

Most tools follow a consistent snake_case verb_noun pattern such as create_tracker, get_tracker, list_trackers, update_tracker, and bulk_create_trackers. The bare verb 'track' breaks the pattern, and search_tracking_by_number is a bit awkward, but overall naming is predictable.

Tool Count5/5

Twelve tools is a reasonable, well-scoped size for a tracking service covering tracker lifecycle management, batch creation, search, couriers, and webhook operations. The count feels justified rather than padded.

Completeness3/5

The surface covers create, get, list, update, bulk creation, search, and webhook history/replay, which is fairly comprehensive. However, there is no delete_tracker or equivalent removal tool, leaving a notable lifecycle gap for stopping or cleaning up trackers.

Resources