Yugalinks Commerce Intelligence
Server Details
Read-only OECD trade research for countries, products, corridors, lane risk, and opportunities.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
Each tool targets a distinct resource or granularity: corridor, country, product, global trade, export opportunities, lane risk, lane page, dataset list/search, and reference lookups. Even list_trade_datasets vs search_trade_datasets and lane_risk vs lane_page are clearly differentiated by metadata vs data and filtered observations vs single record.
All tools follow a consistent snake_case verb_noun pattern: get_* for data retrieval, list_*/search_* for dataset discovery, and lookup_* for reference data. There are no mixed conventions, vague verbs, or style inconsistencies.
With 11 tools, the surface is well-scoped for a commerce intelligence server, covering trade flows, opportunities, risk, dataset discovery, and lookups without unnecessary redundancy. The count sits comfortably in the ideal range and each tool earns its place.
The set provides complete read-only coverage of the stated domain: dataset discovery, country/product lookups, multi-granularity trade flows, export opportunities, and lane-level risk records. There are no obvious dead ends or missing operations for the intended public data-access purpose.
Available Tools
11 toolsget_corridor_tradeARead-onlyIdempotentInspect
Return reported yearly goods-flow values between exporter and importer countries.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Reporting year from 1995 through 2024. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. | |
| exporter_iso3 | No | ||
| importer_iso3 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds minimal behavioral context beyond 'reported yearly' and does not disclose what happens when exporter/importer filters are omitted or how pagination behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one direct, front-loaded sentence with no filler or redundant restatement of the tool name. It conveys the core operation compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only lookup that has an output schema and well-described parameters, the description is largely sufficient for invocation. The main gaps are sibling differentiation and behavior when no country filters are provided, but these are minor given the available structured context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 60% schema description coverage, the schema documents most parameters. The description reinforces the meaning of the year, exporter, importer, and value parameters, but adds little beyond what the schema already states and does not address optionality or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and a clear resource ('corridor trade' goods-flow values) and explicitly scopes results to exporter and importer countries. It is distinct from siblings like get_global_trade or get_country_trade semantically, though it does not name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'between exporter and importer countries' implies this is the right tool for bilateral corridor queries, so an agent can infer a basic use case. However, the description gives no explicit when-to-use guidance and does not name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_country_tradeARead-onlyIdempotentInspect
Return reported yearly imports, exports, balance, and growth for a country.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Reporting year from 1995 through 2024. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. | |
| country_iso3 | Yes | Three-letter ISO country code, for example IND or DEU. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds that data is 'reported' and 'yearly', which gives some context about the nature of the data, but does not disclose details like pagination behavior, return structure, or any special quirks. Since annotations carry the safety profile, this is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. It front-loads the primary output and resource, making it immediately actionable. Every word contributes to the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and comprehensive parameter descriptions, the tool is adequately specified. The description covers the core purpose, and annotations cover safety. Missing details like whether it returns a single record or a list are presumably handled by the output schema. The only minor gap is lack of explicit mention that results are a list, but this is not critical given the limit/offset parameters imply a collection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (year, limit, offset, country_iso3) is already documented with types, ranges, and defaults. The description does not add meaning beyond the schema; it merely states the high-level output fields (imports, exports, balance, growth) which indirectly relates to the purpose but not specifically to parameter syntax or semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and resource 'yearly imports, exports, balance, and growth for a country.' It clearly indicates the tool's focus on country-level trade data, distinguishing it from siblings like get_global_trade or get_corridor_trade by the 'for a country' qualifier. However, it does not explicitly name alternatives or contrast with them, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for country-specific trade metrics but does not provide explicit guidance on when to use this tool versus siblings such as get_global_trade or get_product_trade. There are no exclusions or alternative tool mentions, leaving the agent to infer from the name and sibling list. The context is clear enough for a reasonable choice but lacks direct routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_export_opportunitiesCRead-onlyIdempotentInspect
Return bounded export-opportunity indicators for country and product filters.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Reporting year from 1995 through 2024. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. | |
| hs_code | No | ||
| exporter_iso3 | No | ||
| importer_iso3 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds 'bounded' which hints at pagination, but that is already implied by the limit/offset parameters in the schema. No additional behavioral context is provided, such as what the indicators represent or how they are computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the core purpose. However, it is under-specified for a tool with six parameters, omitting any details about filters or expected usage. It is concise but at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 optional parameters, no required, output schema exists), the description is inadequate. It doesn't explain what 'opportunity indicators' are, how filters combine, or any constraints. It lacks essential context for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any parameters, and the schema description coverage is 50%, so the description carries none of the burden. The schema itself documents each parameter, but the description adds no meaning beyond that. Since coverage is low, the description should compensate, but it doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and resource ('bounded export-opportunity indicators') with filters for country and product. It is distinct from siblings like get_country_trade which focus on trade flows, though it doesn't explicitly differentiate. Still, it's clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any conditions, exclusions, or sibling tools. An agent would have to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_global_tradeARead-onlyIdempotentInspect
Return reported global merchandise-flow totals for a year.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Reporting year from 1995 through 2024. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description does not contradict them. It adds minimal behavioral context beyond scope ('reported' totals), but does not say much about pagination or aggregate granularity beyond what the schema and annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the action and scope with no filler. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only, idempotent getter with zero required parameters, fully documented schema parameters, and an output schema, the description is nearly complete. It only misses explicit sibling routing guidance, which is partially covered by the 'global' scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter has a clear description with defaults, min/max, and constraints. The tool description adds only 'for a year,' which weakly reinforces the year parameter, so it matches the baseline 3 baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Return reported global merchandise-flow totals for a year.' The term 'global' clearly distinguishes it from sibling tools like get_country_trade, get_corridor_trade, and get_product_trade.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context—this is the global aggregate view for a single year—so an agent can infer when it applies relative to country/corridor/product-scoped siblings. It does not explicitly name alternatives or exclusions, hence not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lane_pageBRead-onlyIdempotentInspect
Read the public machine-readable page for one exporter-importer HS6 lane-risk record.
| Name | Required | Description | Default |
|---|---|---|---|
| hs_code | Yes | Six-digit HS code. | |
| exporter_iso3 | Yes | Three-letter ISO country code, for example IND or DEU. | |
| importer_iso3 | Yes | Three-letter ISO country code, for example IND or DEU. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the useful 'public' and 'machine-readable page' context, but it does not reveal output format, pagination, or error behavior. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the action and object with no filler. It is compact and every phrase contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with rich annotations and an output schema, the description is largely adequate. However, it omits any guidance about when to choose this tool over the closely related get_lane_risk sibling, leaving an important decision point unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a clear description and format pattern. The description's mention of exporter-importer HS6 aligns with the three parameters but adds no meaningful semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and a clear resource ('public machine-readable page') scoped to 'one exporter-importer HS6 lane-risk record'. It is unambiguous about what the tool does, though it does not explicitly differentiate it from the similarly named get_lane_risk sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus get_lane_risk or other siblings. It does not state when not to use it, mention alternatives, or offer any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lane_riskBRead-onlyIdempotentInspect
Return reported lane-risk observations for country and product filters.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional text filter. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. | |
| hs_code | No | ||
| hs_chapter | No | Two-digit HS chapter. | |
| risk_driver | No | ||
| current_only | No | ||
| exporter_iso3 | No | ||
| importer_iso3 | No | ||
| min_trade_usd | No | ||
| attention_level | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the weak qualifier 'reported' and omits behavioral traits such as the current_only=true default (which hides historical observations) and pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 10-word sentence with zero filler, and the core purpose ('return reported lane-risk observations') is front-loaded. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and there are no required parameters. But with 11 parameters and no explanation of core domain concepts — what 'lane risk' means, how attention_level and risk_driver operate, what current_only defaults to — the description is too thin for an agent to invoke this tool with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36%, so the description must compensate for the 11 parameters. It groups filters into 'country and product' (exporter/importer_iso3, hs_code/hs_chapter) but never mentions risk_driver, attention_level, current_only, min_trade_usd, or q — several of which are central to a risk tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and resource ('reported lane-risk observations'), clearly marking this as the risk-data tool. The 'country and product filters' scope distinguishes it from sibling tools that return trade flows or pages, so an agent can tell it apart from get_corridor_trade and get_lane_page without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. The phrase 'for country and product filters' implies a usage context, but the agent is left to infer when this tool is preferred over siblings like get_lane_page or get_global_trade.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_tradeARead-onlyIdempotentInspect
Return reported yearly global merchandise flows and growth for an HS2, HS4, or HS6 product.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Reporting year from 1995 through 2024. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. | |
| hs_code | Yes | HS2, HS4, or HS6 product code. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the read-only and idempotent profile, so the bar is lower. The description adds meaningful behavioral scope beyond that: 'yearly' reveals the data frequency and 'global' signals that this returns world-level aggregates rather than country-specific breakdowns. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero filler. It states the action, the data scope, and the key input constraint (HS levels) efficiently without repeating schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only, idempotent annotations and the presence of an output schema, the description is sufficiently complete for an agent to select and invoke the tool. Minor ambiguity remains about whether 'global' means a single world total or a breakdown by partner, but the output schema and sibling context likely cover this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 only alludes to hs_code ('HS2, HS4, or HS6 product') and provides no additional semantics for year, limit, or offset that the schema does not already state. It does not compensate beyond the schema's full parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and a clear resource: reported yearly global merchandise flows and growth for an HS2, HS4, or HS6 product. It naturally differentiates from siblings like get_country_trade or get_corridor_trade by emphasizing product-level and global scope, though it does not explicitly name a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as get_global_trade or get_country_trade. The purpose implies the tool is for product-level data, but the description does not articulate selection conditions, exclusions, or scenarios where another sibling would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trade_datasetsARead-onlyIdempotentInspect
List every approved commerce-data dataset available through the public MCP surface.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, fully covering the safety profile. The description adds only scope qualifiers ('approved', 'public MCP surface') and no additional behavioral traits such as pagination, result ordering, or rate limits, so it provides modest but not substantial value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tight sentence with no filler. The key qualifier 'every' and the public-scope boundary are front-loaded, making the tool's purpose immediately apparent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation that has an output schema and safety annotations, the description is sufficient for an agent to select and invoke the tool correctly. It identifies the resource, the exhaustive scope, and the availability boundary without missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so there is nothing for the description to explain. The baseline of 4 applies because parameter semantics are a non-issue for this no-argument tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a well-defined resource ('approved commerce-data dataset') and scope ('public MCP surface'). The word 'every' clearly signals exhaustive enumeration, distinguishing it from search_trade_datasets and the get_* sibling tools without needing to inspect schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'every approved...available through the public MCP surface' clearly establishes when to call: when the agent needs the complete catalog of accessible datasets. It does not explicitly name search_trade_datasets as the alternative for filtered queries, but the exhaustive wording makes the intended use case unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_countriesBRead-onlyIdempotentInspect
Find country names and ISO3 codes used in Yugalinks commerce data.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional text filter. | |
| limit | No | Maximum number of rows to return. | |
| country_iso3 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, destructiveHint, and openWorldHint. The description adds only the domain scope ('used in Yugalinks commerce data'), which is useful but does not disclose behaviors like matching semantics, ordering, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It delivers the core purpose immediately and does not waste tokens.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, safe lookup tool with no required parameters, robust annotations, and an output schema, the description is nearly complete. The main missing piece is explicit usage guidance, but that is covered under a separate dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents q, limit, and country_iso3 to a reasonable degree. The description's mention of country names and ISO3 codes provides mild semantic context, but it does not clarify what q filters against or how country_iso3 interacts with q.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find') and a specific resource ('country names and ISO3 codes used in Yugalinks commerce data'). It is clear, though it does not explicitly contrast itself with sibling tools like get_country_trade.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no when-not conditions. An agent must infer from the tool name and sibling names that this is a lookup helper for country codes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_productsBRead-onlyIdempotentInspect
Find HS product codes and descriptions used in Yugalinks commerce data.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional text filter. | |
| limit | No | Maximum number of rows to return. | |
| offset | No | Number of rows to skip. | |
| hs_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful domain constraint 'used in Yugalinks commerce data' and indicates a lookup-style result, but does not describe matching behavior or return characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the verb and resource. It contains no filler, no repetition of the tool name, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, read-only annotations, and self-describing parameters, the description covers the essential lookup purpose. It only misses explicit usage differentiation from related lookups, but the low complexity means the tool can still be invoked correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with q, limit, and offset documented. The description does not add parameter-level meaning, and hs_code is only minimally described in the schema. Baseline 3 is appropriate because the schema carries most of the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Find') and resource ('HS product codes and descriptions'), with data-scope context ('Yugalinks commerce data'). It is clear, though it does not explicitly distinguish itself from siblings such as lookup_countries or get_product_trade.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description explains only what the tool does and does not mention exclusions, prerequisites, or sibling tools like search_trade_datasets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_trade_datasetsBRead-onlyIdempotentInspect
Search selected approved commerce datasets without exposing storage details.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional text filter. | |
| year | No | Reporting year from 1995 through 2024. | |
| limit | No | Maximum rows returned for each selected dataset. | |
| scope | No | Optional text filter. | |
| offset | No | Number of rows to skip. | |
| hs_code | No | ||
| country_iso3 | No | ||
| dataset_keys | Yes | One to eight dataset keys returned by list_trade_datasets. | |
| exporter_iso3 | No | ||
| importer_iso3 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to restate safety. The phrase 'without exposing storage details' adds a small behavioral guarantee, but the description offers little else about behavior such as pagination, filtering semantics, or result shape beyond what the schema encodes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence carries the core purpose without filler. The main action and scope are front-loaded, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, robust annotations, and an output schema, the description is mostly sufficient: an agent can infer required inputs and safe read-only behavior. It is slightly incomplete because it does not explain when to use this tool over its siblings or clarify what makes datasets 'approved,' but the schema compensates for key invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description itself adds no parameter-level meaning, and schema description coverage is only 60%, so it does not reach the higher baseline. However, the input schema provides useful per-parameter descriptions, including dataset_keys being returned by list_trade_datasets and the constraints on year, hs_code, and country codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the action ('Search') and the resource ('selected approved commerce datasets'), so an agent can tell this is a multi-dataset search tool. It does not explicitly distinguish itself from the sibling get_* and list_trade_datasets tools, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives like list_trade_datasets or the get_* trade tools. The phrase 'selected approved commerce datasets' implies a restricted scope, but no explicit when/when-not conditions or sibling references are provided.
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.
11 tool updates
- First observed
get_corridor_trade - First observed
get_country_trade - First observed
get_export_opportunities - First observed
get_global_trade - First observed
get_lane_page - First observed
get_lane_risk - First observed
get_product_trade - First observed
list_trade_datasets - First observed
lookup_countries - First observed
lookup_products - First observed
search_trade_datasets
Related MCP Connectors
Ocean & multimodal freight intelligence: rates, landed cost, transit, customs, risk, ship decisions
Read-only logistics data for Morocco-Europe shipping: quotes, couriers, tracking and customs.
Trade Intel MCP — Compound tools that chain Comtrade, Census, Treasury,
Global customs trade data and company registry. Search shipments, and look up legal entities.
Related MCP Servers
- AlicenseAqualityCmaintenanceRead-only Model Context Protocol tools for evidence-based development cooperation and ODA research.8Apache 2.0
- AlicenseAqualityDmaintenanceOcean and multimodal freight intelligence suite providing cross-validated rates, total landed cost, transit reliability, customs, risk, emissions, and unified ship decisions through 47 tools.4725 npmMIT
- FlicenseAqualityCmaintenanceReal-time supply chain risk intelligence with 25 tools: Global Disruption Index, Manufacturing Index, commodity prices, port congestion, border delays, chokepoints, air cargo, trade policy, energy, rail, freight, economic indicators, predictive signals, and AI intelligence briefs.6341-
- AlicenseNot gradedqualityCmaintenanceProvides global maritime trade and chokepoint signals from IMF PortWatch, free and without authentication.2 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.