Skip to main content
Glama

Server Details

Trackberry is container tracking and document automation for fresh produce importers (https://trackberry.com). It reads shipment documents, follows each container's vessel by satellite AIS every hour, and shows what's arriving and when. This connector gives your assistant read-only access to your organization's air and ocean shipments: search shipments, ETAs and tracking timelines, containers running out of free time, alerts, and extracted document data and files. Sign in with your Trackberry account via OAuth.

Ownership verified
Status
Healthy
Uptime
70.9% over 21 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation4/5

Each tool targets a distinct resource (documents, shipments, tracking, alerts, free time, organization) and descriptions explicitly cross-reference when to use which alternative, e.g. get_shipment vs get_tracking_timeline vs search_shipments. The only mild overlap is between get_shipment and search_shipments with detail:'full', which returns largely the same shipment fields.

Naming Consistency5/5

All nine tools follow a consistent verb_noun snake_case pattern (get_document_data, list_documents, search_shipments, get_tracking_timeline). Verbs map predictably to intent: get for one entity, list for collections, search for queries.

Tool Count5/5

Nine tools is well within the ideal 3-15 range and each earns its place by covering a distinct facet of the logistics tracking domain. No redundant or filler tools are present.

Completeness4/5

The surface covers the read lifecycle well: shipments, documents (metadata, structured data, raw file), tracking history, alerts/checks, free time at risk, and organization scope. It is a read-only connection by design, so the absence of create/update tools is expected, though minor gaps like carrier or port reference lookups exist.

Available Tools

10 tools
get_document_dataGet the data extracted from a documentA
Read-onlyIdempotent
Inspect

The structured fields Trackberry read from one document: for a bill of lading the parties, ports, vessel and containers; for an invoice the amounts and terms; and so on. type and schema say what kind of document it is. fields is empty when nothing could be extracted. Use it for "what is the invoice total on doc_45" or "who is the consignee on the B/L". Get document ids from list_documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesA document id such as "doc_45", as returned by list_documents.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds a genuinely useful edge case not in annotations or schema: `fields` is empty when nothing could be extracted. It does not discuss error behavior or extraction latency.

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?

Front-loads the core purpose, then layers document-type examples, the return-shape keys, and the empty-fields caveat. Every sentence earns its place; 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?

There is no output schema, so the description carries the return-value burden and does so by naming `type`, `schema`, and `fields` and noting when `fields` is empty. For a single-param read tool this is complete.

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?

Schema coverage is 100% and there is a single parameter, so the baseline is 3. The description goes beyond by cross-referencing the source of the id (list_documents), which orients the agent on how to obtain a valid value.

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 (retrieve structured fields extracted from one document) and concretely enumerates what those fields are per document type (parties/ports/vessel for a B/L, amounts/terms for an invoice). This distinguishes it from siblings like get_document_file (raw file) and list_documents (ids only).

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?

Gives concrete example queries ('what is the invoice total on doc_45', 'who is the consignee on the B/L') and tells the agent where to source ids (list_documents). It lacks an explicit when-not/alternative statement (e.g. vs get_document_file), but the routing context is clear.

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

get_document_fileRead a document's fileA
Read-onlyIdempotent
Inspect

The original file of one document, for reading it yourself: a PDF comes back as the file, a picture as an image, a text or CSV file as text. Use it when get_document_data does not have the answer, to check a value against the original, or when the user asks to see or read the document. Prefer get_document_data first: it is smaller and already structured. Only documents with downloadable true in list_documents have a file. PDFs up to 5 MB, pictures up to 3.75 MB and text up to 200 KB can be sent; spreadsheets and other formats cannot be read here, so use get_document_data for them.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesA document id such as "doc_45", as returned by list_documents.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare it read-only, idempotent, and non-destructive, but the description adds substantial operational context beyond them: which formats are readable, size ceilings (5 MB PDF / 3.75 MB images / 200 KB text), and that spreadsheets cannot be read here. This is exactly the value-add the annotation baseline asks for.

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?

Front-loaded with what the tool returns, then routing guidance, prerequisite, and limits. Five sentences all carry distinct load; none is 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?

With no output schema, the description compensates by describing the return shape per format, and it covers the routing, prerequisite, and size/format constraints an agent needs to call this correctly. Nothing material 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?

Only one parameter and schema coverage is 100%, so the schema fully documents document_id including its list_documents origin. The description adds no syntax or format detail beyond the schema, so the baseline 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?

States a specific resource (the original file of one document) and concretely describes what comes back per format (PDF as file, image as image, text/CSV as text). It is clearly distinguishable from get_document_data, which is named as the structured-data alternative.

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?

Explicit when-to-use (when get_document_data lacks the answer, to verify a value, or when the user asks to see the document), explicit when-not/prefer alternative (prefer get_document_data first because it is smaller and structured), and a hard prerequisite (only `downloadable` true documents have a file).

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

get_shipmentGet a shipmentA
Read-onlyIdempotent
Inspect

Everything about one shipment: status, route, ETA (effective_eta is the one to quote, with original_eta and predicted_eta beside it), carrier, parties, cargo, containers, labels, check counts, notes, and a free_time summary with the demurrage and detention clocks. Use it for "when does it arrive" or "how many free days are left". For where a shipment is now or the way it is taking, use get_tracking_timeline, which also shows a map (the same route, vessel and track data is the REST API's GET /shipments/{id}/map); for paperwork use list_documents. url is the shipment's page in Trackberry: link its display_name (container or air waybill number) to it, never a made-up URL. public_tracking_url is the shareable tracking page that needs no login, for sending to a customer or partner; it is null when the organization has public pages off or the shipment is archived or not yet live, so never invent one.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipment_idYesA shipment id such as "shp_123", as returned by search_shipments.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely non-structured behavioral context: which ETA field to quote, that public_tracking_url is null when public pages are off / shipment archived / not yet live, and that URLs must never be invented.

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?

Front-loads the payload summary, then routes to alternatives, then handles the two URL fields. Dense and purposeful, though the URL/ETA caveats make it longer than strictly minimal; every sentence still does work.

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?

No output schema exists, so the description carries the return-value burden — and it does so by listing the returned categories plus the ETA-field and nullability semantics. An agent can call this and interpret the response without further documentation.

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?

Only one parameter, fully documented in the schema (100% coverage, including the shp_123 format and its source search_shipments). The description adds no further parameter-level detail, so the baseline 3 for schema-carried params 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?

Opens with a specific verb and resource ('Everything about one shipment') and then enumerates the exact payload surface (status, route, ETA, carrier, parties, cargo, containers, labels, check counts, notes, free_time). It is immediately distinguishable from siblings like get_tracking_timeline and list_documents.

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 explicit trigger phrases ('when does it arrive', 'how many free days are left') and names alternatives with their selecting conditions: get_tracking_timeline for current position/route, list_documents for paperwork. Nothing is left to inference.

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

get_tracking_timelineGet a shipment's tracking timelineA
Read-onlyIdempotent
Inspect

The journey of one shipment: its route legs, every tracking event in order (gate-in, loaded, discharged, and so on, with place, time and coordinates), and the history of ETA revisions. Use it for "what happened to shipment shp_123", "where is it on the map", "where is it now", "has the ETA moved" or "when was it discharged". Clients that show MCP Apps draw the voyage on a map: the sea route, its ports, the vessel and its track. eta_revisions lists each change with the previous and new date and the slip in seconds, so it answers "how much did the ETA slip". Only the most recent event_limit events are returned (40 by default); events_total says how many there are. For where a list of shipments stands, search_shipments' latest_event is enough: do not call this once per shipment.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_limitNoHow many of the most recent tracking events to return, 1 to 500.
shipment_idYesA shipment id such as "shp_123", as returned by search_shipments.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's real contribution is behavioral: the truncation rule (only the most recent `event_limit` events, 40 by default, `events_total` gives the full count) and the eta_revisions shape (previous/new date plus slip in seconds). It omits anything about auth, quotas, or ordering caveats, but for a read tool the truncation semantics are the key disclosure and they are present.

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?

Front-loaded with the core capability, then usage triggers, then return detail, then the routing exclusion. Dense and largely waste-free, though the quoted example-utterances list is longer than strictly necessary.

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?

With no output schema, the description carries the burden of describing returns and does so: route legs, ordered events with place/time/coordinates, eta_revisions with previous/new dates and slip seconds, plus the map rendering for MCP Apps clients. Nothing essential to correct invocation 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?

Schema coverage is 100%, so the baseline is 3; the description goes beyond the schema by explaining what `event_limit` actually does (windows the most recent events) and pairing it with the `events_total` counter that reports the unfiltered count. That is meaningful semantics an agent could not derive from the schema alone.

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?

Opens with a specific verb+resource scope ('The journey of one shipment') and enumerates the payload components (route legs, events, eta revisions). It also explicitly names the sibling it is not — search_shipments' `latest_event` — so an agent can distinguish it without opening either schema.

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?

Provides concrete triggering phrasings ('what happened to shipment shp_123', 'has the ETA moved') plus an explicit when-not: for a list of shipments, use search_shipments' `latest_event` rather than calling this per shipment. Both the use case and the anti-pattern are stated.

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

list_alertsList alerts and failed checksA
Read-onlyIdempotent
Inspect

What needs attention: open monitoring alerts (tracking gone dark, ETA long past, container dwelling at the terminal, draft never validated) and shipment checks that failed or raised a warning (for example a document that disagrees with the booking). Use it for "anything wrong with my shipments" or, with shipment_id, "is shipment shp_123 healthy". Returns two lists, alerts and checks, each newest first and limited to limit entries. Each entry has a shipment_url: link the shipment's container or air waybill number to it, never a made-up URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many results to return, 1 to 100.
shipment_idNoOnly this shipment's alerts and checks, such as "shp_123".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description does not need to restate safety. It adds genuinely useful context beyond that: the return shape (two lists, newest first, capped at limit) and the shipment_url linking obligation, which prevents fabricated URLs.

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?

Well front-loaded: what the tool surfaces, then when to use it, then the return shape, then the URL guidance. The prose is dense but each sentence carries information; only the shipment_url sentence is arguably output-formatting that could be trimmed.

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?

With no output schema, the description carries the burden of explaining returns and does so adequately (two lists, newest first, limit-bounded, shipment_url per entry). It omits anything about empty results or error conditions, which is a minor gap for a read-only listing tool.

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%, so the baseline is 3. The description adds one meaningful nuance, clarifying that limit caps each list rather than the combined result, and that shipment_id narrows to a single shipment, but it provides no format or edge-case detail beyond that.

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 frame ("open monitoring alerts... and shipment checks that failed or raised a warning") and enumerates concrete alert categories, so an agent knows exactly which data it returns and can distinguish it from siblings like get_shipment or list_free_time_at_risk.

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 explicit triggering intents ("anything wrong with my shipments", and "is shipment shp_123 healthy" with shipment_id), which maps cleanly to whether to pass the optional parameter. It stops short of naming alternative tools or exclusions, which is the only gap.

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

list_documentsList a shipment's documentsA
Read-onlyIdempotent
Inspect

The documents attached to one shipment (bill of lading, commercial invoice, packing list, certificates and so on), each with an id such as "doc_45", its type, file name and processing status. Use it for "which documents does shipment shp_123 have" or "is the certificate of origin missing". Use get_document_data for what a document says, and get_document_file to read the original when downloadable is true. Each entry has a shipment_url: link the shipment's container or air waybill number to it, never a made-up URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipment_idYesA shipment id such as "shp_123", as returned by search_shipments.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, closed-world and non-destructive, so the safety profile is settled. The description adds value beyond that by describing the shape of each returned entry and warning not to fabricate shipment_url values, but it says nothing about pagination or result-size limits.

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?

Front-loaded with purpose and contents, then usage examples, then sibling routing. Every sentence earns its place except the trailing shipment_url caveat, which is useful but slightly tangential to the tool's core job.

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?

With no output schema, the description correctly carries the burden of describing return entries (id, type, file name, processing status) and how to use shipment_url. An agent has everything needed to call and interpret this tool.

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% and the single parameter is fully documented in the schema with the same 'shp_123' example the description uses, so the description adds no meaning beyond it. Baseline 3 applies when the schema does the heavy lifting.

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+resource (list a shipment's documents) and enumerates the concrete contents (bill of lading, invoice, packing list, id, type, file name, status). It clearly differentiates itself from get_document_data and get_document_file, which are named directly.

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 explicit when-to-use examples ('which documents does shipment shp_123 have', 'is the certificate of origin missing') and routes the agent to the correct alternatives with conditions: get_document_data for content, get_document_file when `downloadable` is true.

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

list_free_time_at_riskList shipments with free time at riskA
Read-onlyIdempotent
Inspect

Ocean shipments whose demurrage or detention free time is running out or already over, most urgent first. Discharged in the last 45 days only. Use it for "what will cost us demurrage this week" or "which containers should we pick up first". Each entry has the demurrage and detention clocks with days left and the active clock; terms_unknown means no free-time terms are set for that carrier, so the clock is only counting days. Each has a shipment_url: link the container number to it, never a made-up URL. Takes no arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safe read-only/idempotent profile, and the description adds real behavioral context beyond them: the 45-day discharge window, urgency ordering, the demurrage/detention clock semantics with days-left and active clock, the meaning of terms_unknown, and the instruction to use the provided shipment_url rather than fabricate one.

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?

Front-loads the resource and urgency ordering, then packs output semantics and the URL-safety rule into tight sentences. With no output schema, none of the return-value detail is redundant, and nothing is padding.

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?

A parameterless list tool with no output schema needs the description to carry the return-shape burden, and it does: clock fields, terms_unknown, and the shipment_url linking rule are all present. An agent can call and render this correctly from the text alone.

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?

Zero parameters, so per the baseline this is a 4. 'Takes no arguments' simply confirms what the empty schema already shows, adding no new parameter meaning.

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 resource and scope: ocean shipments whose demurrage/detention free time is running out or already over, sorted most urgent first. This is unambiguous and clearly separable from generic siblings like search_shipments or list_alerts.

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?

Gives two concrete trigger questions ('what will cost us demurrage this week', 'which containers should we pick up first') plus a hard scope constraint (discharged in the last 45 days only). It stops short of naming an explicit alternative or when-not condition, but the intended use is obvious.

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

list_organizationsList the organization this connection can readA
Read-onlyIdempotent
Inspect

The Trackberry organization this connection is scoped to. A connection reads exactly one organization: every other tool answers about it and nothing else. To read a different organization, disconnect and connect again with a token or an authorization for that organization. Takes no arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With annotations declaring readOnlyHint=true, idempotentHint=true, destructiveHint=false and closed-world, the safety profile is already covered. The description adds genuinely new behavior: the hard one-organization scoping rule and the requirement to reauthorize to see a different org. It stops short of describing the returned payload.

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 tight sentences with no filler, front-loading the resource identity before the scoping constraint and the reconnection instruction. Every sentence earns its place.

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 zero-parameter read tool this is nearly complete: it explains scope, the no-argument contract, and the limitation on switching orgs. The only gap is that no output schema exists, so the description could have said what fields the organization record actually returns.

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 takes zero parameters, which is the baseline 4 case. The description reinforces this with 'Takes no arguments,' removing any doubt, but there is no parameter meaning to add beyond that.

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 names the specific resource (the Trackberry organization this connection is scoped to) and resolves the plural-name ambiguity by stating that exactly one organization exists per connection. It also implicitly distinguishes itself from siblings, noting every other tool answers about that same organization.

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 explains the context in which the tool is relevant (the connection is scoped to one org and all other tools report on it) and gives an explicit exclusion: you cannot read another org with this tool, you must disconnect and reconnect with a different token. What's not stated is the concrete trigger for calling it (e.g., to obtain the organization id used elsewhere), though that is easy to infer.

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

query_stockQuery stock for saleA
Read-onlyIdempotent
Inspect

What is still for sale: boxes on live shipments, on the water or landed, that are not pre-allocated, from the packing lists, grouped by produce and calibre (size) like the Trading View. Use it for "how many size 14 avocados are unallocated in Rotterdam", "what can we still sell arriving next week" or "which mango sizes are left with QC 7 or better". available_boxes is what can be sold; allocated_boxes is already pre-allocated. in_transit_boxes and arrived_boxes split the available boxes by where the shipment is. qc_score is the box-weighted average of the 1-9 inspection scores (9 excellent, 6 acceptable, 1 discard) over the scored available boxes; qc_scored_boxes says how many have one. min_qc_score keeps only pallets whose own score meets it, and excluded then counts the available boxes dropped for having no score or a lower one: say so when they are many, since an uninspected container is not missing stock. Archived shipments are not counted. Each row lists its shipments with container_numbers: name a shipment by its container number and link it to its shipment_url, never a made-up URL. Calibres are compared as packers write them once normalised ("14", "12+", "113"); pass them as strings.

ParametersJSON Schema
NameRequiredDescriptionDefault
arrivalNo"in_transit" for on the water, "arrived" for landed (including in warehouse), "in_warehouse" for received at the warehouse only, "any" (default) for all.any
produceNoOnly this produce, such as "avocado". Plural is fine.
varietyNoOnly this variety, such as "Hass".
calibresNoOnly these calibres (sizes or counts), such as ["14", "16"].
group_byNoHow to split the rows. Produce always comes first. Default: ["produce", "calibre"].
destinationNoOnly shipments to this port or country, such as "Rotterdam" or "Netherlands".
min_qc_scoreNoOnly pallets whose latest QC score is at least this, 1 to 9.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description goes well beyond them: it explains what available/allocated/in_transit/arrived mean, how min_qc_score filters pallets and how `excluded` counts dropped boxes, that archived shipments are excluded, and how container numbers and shipment URLs should be used. This is exactly the extra behavioral context annotations cannot carry.

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?

Deliberately front-loaded with the purpose before the field-by-field semantics, and most sentences earn their place. It is dense and long, though — output-field explanation is interleaved with filtering guidance rather than separated, which slightly reduces scanability.

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?

There is no output schema, so the description must describe what comes back, and it does: available_boxes, allocated_boxes, in_transit_boxes, arrived_boxes, qc_score, qc_scored_boxes, min_qc_score/excluded, container_numbers and shipment_url. An agent has enough to call the tool and interpret the result correctly.

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?

Schema coverage is 100% so the baseline is 3, but the description adds real meaning: it clarifies min_qc_score semantics (pallet's own score, with a separate `excluded` count), the string-normalisation rule for calibres ("14", "12+", "113"), and the sale-relevance of the arrival buckets. That is more than restating the schema.

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 precise verb+resource with an explicit scope definition: boxes on live shipments, on the water or landed, not pre-allocated, grouped by produce and calibre. This is specific enough that an agent can tell it apart from shipment/document tools like search_shipments or get_shipment without opening any schema.

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?

Gives three concrete example questions that map directly onto the tool (unallocated size 14 avocados in Rotterdam, what can be sold arriving next week, mango sizes with QC 7+), which is strong positive routing. It does not, however, name an alternative tool or state when NOT to use it, 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.

search_shipmentsSearch shipmentsA
Read-onlyIdempotent
Inspect

Find shipments in the organization, newest first. Use it to answer "which shipments are on their way", "what arrives next week", "find the shipment for booking ABC123" or "what did we ship from Guayaquil". query matches references, B/L and container numbers, parties, ports and produce. Each result is a short summary: status, route, ETD and ETA, carrier, container numbers, failed checks, and latest_event, the last thing that actually happened (milestone, time, place, vessel). That answers "where is each shipment" for a whole list, so do not call get_tracking_timeline per shipment for an overview; call it only for one shipment's full history. Pass detail: "full" for every field (parties, cargo, notes, tracking state), or use get_shipment for one shipment with its free time. Use the id (such as "shp_123") for the other tools. Each has a url: link the shipment's container or air waybill number to it, never a made-up URL. Archived shipments are excluded unless archived says otherwise. Results are paged: when has_more is true, pass the last id as starting_after.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many results to return, 1 to 100.
queryNoFree text: a reference, B/L or container number, party, port or product.
detailNo"summary" (default) for the short result, "full" for every field of each shipment.summary
archivedNo"false" (default) for live shipments, "true" for archived ones, "any" for both.false
statusesNoOnly these statuses. Omit for all of them.
eta_afterNoOnly shipments whose effective ETA is on or after this ISO 8601 date or date-time.
eta_beforeNoOnly shipments whose effective ETA is on or before this ISO 8601 date or date-time.
starting_afterNoPaging cursor: the id of the last result of the previous page. Only when has_more was true.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive) and the description does not contradict them. It adds genuinely useful behavior: archived shipments excluded by default, results are paged with a has_more/starting_after cursor, and the url field must be linked rather than fabricated. Missing only rate-limit or error behavior.

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?

Front-loads purpose and scoping in the first sentence, then usage, results, and paging guidance in a logical order. It is dense and long for a search tool, but nearly every sentence carries actionable information rather than 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?

With no output schema, the description compensates by enumerating the summary result fields (status, route, ETD/ETA, carrier, containers, failed checks, latest_event) and explaining paging and the url contract. Combined with the full schema, an agent has everything needed to call and interpret this tool.

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 baseline is 3. The description restates much of what the schema already documents (query matching references/B/L/containers/parties/ports/produce, detail:full, archived default) and adds only marginal detail such as 'use the id for the other tools' and the url linking instruction.

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 (find/search) and resource (shipments), scoped to the organization with a defined order ('newest first'). It explicitly distinguishes itself from siblings get_tracking_timeline and get_shipment, so an agent can route correctly without opening a schema.

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?

Names concrete user questions it answers, gives an explicit when-not ('do not call get_tracking_timeline per shipment for an overview; call it only for one shipment's full history'), and names the alternative for single-shipment needs (get_shipment). Routing is unambiguous.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedquery_stock
  2. 9 tool updates
    • First observedget_document_data
    • First observedget_document_file
    • First observedget_shipment
    • First observedget_tracking_timeline
    • First observedlist_alerts
    • First observedlist_documents
    • First observedlist_free_time_at_risk
    • First observedlist_organizations
    • First observedsearch_shipments

Publisher details

Operator
Trackberry (Rebase Capital SL) · Publisher source
Operator website
https://trackberry.com
Vendor relationship
First-party
Documentation
Not available
Trust center
Not available
Restrictions
Requires a Trackberry account (paid service for produce importers). Users sign in with OAuth and approve access to one organization on Trackberry's consent screen. All tools are read-only.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to query and manage logistics shipment data, supporting operations like tracking, quoting, and performance analysis via nine tools backed by a demo dataset or a REST API.
    9
    253 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to track ocean shipments and containers via Terminal49, submitting bill of lading, booking, or container numbers to retrieve tracking IDs, shipment details, container status, holds, demurrage last free days, and normalized transport events. Works through a Pipeworx gateway endpoint or as a local stdio MCP server.
    20 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to track packages, rate and create shipments, manage pickups and customs documentation, and perform international shipping logistics checks through natural language.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources