TradeGraph
Server Details
An export sales team for consumer brands, inside your AI: markets, buyers, emails and pricing.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 15 tools
Each tool has a reasonably distinct role (find_item resolves HS codes, price_ladder does pricing, reply_pace does weekly pacing, blind_spots does compliance), and descriptions explicitly cross-reference each other. The main overlap is the market-facing cluster — gtm_plan, market_picks, market_scan, and country_brief all surface market rankings — plus channel_plan being a zoom-in on part of gtm_plan, which could still cause an agent to hesitate over which to call first.
All names are snake_case and descriptive, with no casing or separator inconsistency. The only minor deviation is the verb/noun mix — find_item and market_scan are verb-led while most others (country_brief, price_ladder, reply_pace) are noun phrases — but the pattern remains readable and predictable.
15 tools sits squarely in the well-scoped range. Each tool maps to a distinct stage of the export workflow (resolve item → pick markets → check compliance → price → outreach → pace → creative), and none feels redundant or trivially padded.
The surface covers the advisory lifecycle thoroughly: item resolution, market selection, compliance gating, pricing, outreach sequencing, weekly pacing, and creative asset planning. The gaps are execution-side — live_call and save_plan are referenced in descriptions but not exposed as tools here, and there is no dedicated buyer-list management tool — but agents can work around these via gtm_plan outputs and the treg MCP server.
Available Tools
15 toolsblind_spotsWhat exporters miss: blockers, approvals, extra dutiesARead-onlyIdempotentInspect
What a Korean exporter of this product is likely to miss in a market — the unknown unknowns beyond the product category's usual compliance: rules that can stop the sale (e.g. UV filters not allowed in US sunscreen, meat ingredients from countries the EU has not listed), approvals needed before import or sale (radio certification such as FCC, EU RED, Japan's Giteki or Canada's ISED; India BIS; registration of special-use cosmetics in China), extra duties or charges that change the quote (US Section 232 on steel and aluminium content, EU CBAM), and filings or labels (EU deforestation due diligence, producer registration (EPR) for batteries and electronics, and packaging EPR such as Germany's LUCID register in packaging_epr, EU ban on generic green claims), plus Korea-side checks (strategic items, dangerous goods in shipping). Each rule is triggered by the exact HS code or a product trait (pass description or traits) and comes with kind, gate (true = clear it before anything else: the plan's before-you-sell gate), who must act (you or the importer), the date it applies from (upcoming rules too), the official source and the date it was checked; stale marks rules not re-checked for 180 days. The category compliance pointer and its official source are included per market. Omit country to check every market in the plan's table. Starting points, not legal advice. Free, read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. | |
| traits | No | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. | |
| country | No | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to check the markets of the plan's table. | |
| product | No | Optional: the product's own name in English (e.g. 'vegan sunscreen'). | |
| description | No | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive, but the description adds substantial behavioral detail: the per-rule payload (kind, gate, who must act, applicable-from date, official source, checked date), the 180-day stale marker, that upcoming rules are included, and how omitted country is resolved. This is rich context well 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?
Purpose is front-loaded and clear, but the prose is very dense and dominated by long illustrative lists (UV filters, FCC/RED/Giteki/ISED, Section 232, CBAM, EPR). The examples aid comprehension but the single sprawling passage is longer than needed to convey the same information.
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 no output schema, the description carries the burden of explaining return values, and it does so thoroughly: it names the fields each rule returns and the product_traits field. Combined with parameter behavior it is complete enough 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?
Schema coverage is 100%, so every parameter is already documented in the schema. The description reiterates trait detection and the country-omission behavior, adding some cross-parameter meaning (rules triggered by code or trait) but not new syntax or examples beyond the schema. Baseline 3 applies.
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 job: surface the non-obvious rules a Korean exporter would miss beyond category compliance, and enumerates the rule families (blockers, approvals, duties, filings). It clearly reads as a compliance/regulatory blind-spot detector, distinct from siblings like country_brief or market_scan. It doesn't name a sibling tool explicitly, so it stops short of 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?
It gives real usage context: rules are triggered by HS code or product trait, 'pass description or traits,' and 'omit country to check every market in the plan's table.' It frames the tool as 'starting points, not legal advice' and as complementary to category compliance. It stops short of 5 because it doesn't explicitly say when to prefer a sibling or when not to use this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buyer_targetsWho replies: country × buyer typeARead-onlyIdempotentInspect
Reply rates of country × buyer type (importer, distributor, wholesaler, retailer, brand, manufacturer, clinic) from 2.2M real export emails, shrunk toward the average so small samples do not mislead, ranked by the low end of the 90% interval. 'proven' = beats the average even with bad luck; 'promising' = too few contacts to be sure but could reach 2× average.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Which confidence tiers to return. | |
| limit | No | Rows to return. | |
| country | No | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional. | |
| buyer_type | No | Optional buyer type filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive tool. The description adds meaningful behavioral context by explaining the data source size, shrinkage toward the average, ranking by the low end of the interval, and precise meanings of the 'proven' and 'promising' tiers.
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 two dense but efficient sentences, front-loading the resource and then adding methodology and tier definitions. Every sentence contributes directly to understanding the output and confidence labels.
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 read-only analytics tool with a fully described schema and safety annotations, the definition provides enough context to call it correctly. It could be stronger by clarifying how this tool differs from related siblings, but the core return concept and tier semantics are covered.
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 goes beyond the schema by defining the confidence tiers 'proven' and 'promising', which adds real semantic meaning to the tier parameter beyond its enum values.
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 states the resource: reply rates by country × buyer type from real export emails, ranked by the lower bound of a 90% interval. It is specific about the data and methodology, but it does not explicitly differentiate itself from potentially related siblings such as reply_pace or outreach_playbook.
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 intended use is implied by the title and description: identifying country × buyer type segments with high reply likelihood. However, there is no explicit when-to-use guidance, no exclusions, and no reference to alternative sibling tools that might be more appropriate for adjacent questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
channel_planChannels, creators and live-data calls for a countryBRead-onlyIdempotentInspect
GTM engineering plan for one country: creator platforms to seed on, marketplaces to research, buyer channels, local-language and disclosure rules, product compliance pointers (with an official source link), the official tariff lookup and Korea FTA, and the treg.to endpoint ids (with per-call prices and example request bodies) to run creator discovery, vetting, marketplace research, social listening, ad-library and buyer-contact steps. Estimated data cost included.
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; adds niche keywords and compliance pointers. | |
| motion | No | Which part of the plan to return. 'all' adapts to the item: industrial goods get b2b, trade and search only. | |
| traits | No | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. | |
| country | Yes | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. | |
| description | No | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description doesn't need to. It does add useful context: the output carries an estimated data cost, per-call prices for treg.to endpoints, and an official source link for compliance — but it says nothing about whether calling this tool itself consumes quota, how large the response is, or what happens for unsupported countries.
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?
It is front-loaded with the deliverable type, which is good, but the rest is one long run-on sentence packing seven or eight content categories plus a cost note. The inventory could be trimmed or restructured without losing information an agent needs to select the tool.
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 five-parameter, one-required read-only tool with a fully documented schema and no output schema, the description is complete enough about what comes back. The residual gap is selection context — when this beats gtm_plan or country_brief — rather than invocation 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?
Schema description coverage is 100% and the parameter descriptions are unusually rich (enum values, trait vocabulary, HS4 examples), so the schema does the heavy lifting. The tool description adds no parameter-level meaning beyond what is already documented — it doesn't explain how motion interacts with traits or what 'all' returns for consumer goods.
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 deliverable ('GTM engineering plan for one country') and enumerates its contents precisely enough that an agent knows what it gets back. It does not, however, distinguish it from the sibling gtm_plan or country_brief, which appear to overlap heavily — no sentence says why to pick this one.
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?
Usage is only implied by the content inventory and by the note that 'all' adapts to item type (industrial goods get b2b/trade/search only). There is no explicit when-to-use guidance, no exclusions, and no named alternative despite several plausibly overlapping siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
country_briefMarket brief for one countryARead-onlyIdempotentInspect
Everything TradeGraph knows about one country: reply rate and best buyer types, the product's import size/growth/Korea share and supplier mix, why other Korean exporters chose it, reply rates by industry, top US states (for the US), and the sales/creator channels and disclosure rules to use there.
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional. | |
| traits | No | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. | |
| country | Yes | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. | |
| description | No | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the description correctly does not restate it. It adds useful behavioral context by inventorying the returned sections and flagging that US state data is country-conditional. It says nothing about size, pagination, latency, or how sparse the response is when no item is supplied.
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 opens with the scope statement and then lists the sections, and every listed item is informative rather than filler. It is a long, comma-heavy run-on that takes effort to parse, which keeps it off a 5.
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 no output schema, the description carries the burden of telling the agent what comes back, and the section inventory does that reasonably well, including the country-conditional nuance. Gaps remain: it does not indicate the brief's behavior when the optional item/traits/description are omitted, which matters for a tool whose params are mostly optional.
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 schema already explains item, traits, country and description in detail; the baseline of 3 applies. The description contributes nothing parameter-specific — it never mentions country, item, traits or description, nor how omitting item changes the brief.
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 gives a specific resource ('everything TradeGraph knows about one country') and enumerates the concrete payload sections: reply rate, buyer types, import size/growth/Korea share, supplier mix, industry reply rates, US states, channels and disclosure rules. An agent can tell this is the broad single-country profile tool rather than a narrow lookup. It stops short of naming a sibling (e.g. market_scan, buyer_targets) to contrast against, 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?
Usage is only implied: 'everything TradeGraph knows about one country' suggests a broad orientation call before drilling into narrower tools, and '(for the US)' hints at conditional coverage. Nothing states when to prefer this over market_scan, export_rank, buyer_targets or reply_pace, and there are no preconditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_rankWorld export ranking for a productARead-onlyIdempotentInspect
World exporters of a product (UN Comtrade, latest year), Korea's rank and value, and where Korea already sells it most.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds genuine context beyond them: the data source (UN Comtrade) and recency (latest year), plus what the result contains. It does not describe result size, units, or ranking length, so it stops short of full behavioral disclosure.
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 dense sentence with no filler, and the most discriminating detail (world ranking) comes first. It is a noun phrase without an explicit verb, which slightly weakens front-loading of the action, but nothing is wasted.
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 no output schema and a single fully-documented parameter, the description carries most of the burden and does sketch the return content (exporter ranking, Korea rank/value, top markets). It could say more about how many exporters are returned or the response shape, but it is sufficient for a correct call.
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 coverage is 100% and the single `item` parameter is richly documented with HS4 codes and name examples. The description only restates 'a product' and adds no format, validation, or fallback detail beyond the schema. Baseline 3 is appropriate when the schema does all the work.
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 names a specific resource and scope: world exporters of a product from UN Comtrade, plus Korea's rank, value, and top markets. An agent can tell it returns a ranking view rather than a general market scan. It does not name or contrast any sibling (market_scan, country_brief, find_item), so differentiation is left implicit.
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 guidance and no named alternative among the many sibling tools. Usage is only implied by the scope: product-level export landscape centered on Korea. An agent must infer the routing decision itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_itemFind a product's HS codeARead-onlyIdempotentInspect
Resolve a product description (any of 10 languages, e.g. 'vegan sunscreen', '컵라면', 'kimchi', 'キムチ', '3304') to one of the 35 HS4 items TradeGraph covers, or to the usual HS4 code of ~60 other common consumer products (kimchi 2005, shampoo 3305, candy 1704, ginseng roots 1211, ginseng extract 1302…) that gtm_plan and market_scan take with live UN Comtrade data. Ingredient words alone (ginseng, vitamin, collagen) do not decide the item: 'ginseng cream' is cosmetics 3304, 'ginseng shampoo' hair care 3305. For ginseng the answer adds hs_by_form (roots, extract, mixed preparations, drinks); for electric beauty devices it adds hs_by_form too (LED masks and microcurrent 8543.70, vibrating massagers 9019.10, hair stylers 8516). Use before other tools when unsure of the HS code.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Product name, alias or HS digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world, so the description focuses on added context: 10-language input support, coverage breadth, disambiguation rules ('ginseng cream' is 3304, not 1211), and conditional return fields (hs_by_form). It does not describe fallback behavior when no item matches, which is the main remaining gap.
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 core action and scope are front-loaded in the first sentence, with disambiguation and return-shape caveats following. The parenthetical example lists (kimchi 2005, shampoo 3305, ginseng roots 1211…) are slightly overstuffed for a single paragraph but each illustrates a mapping rule.
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 one parameter and no output schema, the description carries the burden of explaining return values, and it does so for the conditional hs_by_form cases. Coverage limits and disambiguation rules are covered; the unmatched-input path and general return shape are not.
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 coverage is 100%, so baseline is 3; the description earns above that by clarifying the query accepts any of 10 languages and raw HS digits (e.g. '3304'), plus concrete examples of what a valid query looks like. It adds real interpretive value over 'Product name, alias or HS digits.'
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 verb and resource: resolve a product description to one of 35 HS4 items or the usual HS4 code of ~60 other consumer products. It names the downstream consumers (gtm_plan, market_scan) and the domain, so an agent can distinguish it from every sibling in the list.
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?
"Use before other tools when unsure of the HS code" gives explicit sequencing and a clear conditional trigger. The 'when unsure' framing implies the inverse case, but there is no explicit statement of when to skip it or what to do on no-match.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gtm_planExport GTM plan for a productARead-onlyIdempotentInspect
START HERE. One call returns the export go-to-market plan for a product: which countries to sell to (UN Comtrade imports × reply rates from 2.2M real export emails, compared within the product's industry, plus the next-best markets to compare), which buyer types reply there, how many follow-ups to send, the channels (creator seeding and marketplaces for consumer goods; buyer lists and trade shows for industrial goods; see motion), compliance flags with an official source link (compliance_gate marks approvals that block the market until they pass; channel_plan.packaging adds EU packaging EPR), a before_you_sell checklist (sanctions, FTA and proof of origin, trademark, payment terms, holidays, re-export hubs), the official tariff lookup (tariff_by_market compares the markets side by side), data_first (where the data would start even when you pass a country), gated_markets (compared markets with such a gate), banned_markets (those of them closed outright by an ingredient ban, such as ingredients of human origin: no approval opens them, so data_first, the market the data picks and next_markets skip them), next_markets (where to move at week 13, by the same rule as data_first, skipping gated markets and exclude), English email drafts (first email, follow-ups, week-3 sample check-in, and quote_reply_email for when a buyer asks for a price first; for Japan the same drafts in Japanese as local_emails, first_email_variants included), reply_target (expected replies from the product's own industry in that market, sends for 10 replies, the week-13 rule; reply_pace checks your numbers against it each week), a 13-week schedule, buyer_sources (trade fairs with the next edition's dates, city and book_meetings_from, 6 weeks before; BuyKOREA, KOTRA), and the exact treg.to endpoints (ids + prices) to execute it. blind_spots lists what exporters miss in the focus market beyond the category's compliance pointer, triggered by the exact HS code and product traits (product_traits; pass description or traits): rules that can stop the sale, approvals before import, extra duties or charges and filings, each with who acts, the date it applies from, the official source and the date checked; blind_spots_by_market names them for the other markets in the table, blind_gate is the one that blocks the sale when the compliance pointer has no gate, and gated_markets includes markets with such a blocker. Called signed in (/mcp/account) for a plan the account has not saved, save_plan gives the my_progress call (start = the coming Monday) that puts it on the user's dashboard. Sanctioned markets are never picked and are flagged. The full answer (default) runs 40,000-80,000 characters; detail=brief keeps the plan and leaves out channel_plan.steps (call channel_plan for endpoint ids, prices and request bodies) and the alternative first-email drafts (first_email_variants, the Japanese ones too), listing what it left out in omitted: use it for a first answer or to compare markets, and the full answer when picking drafts in the weekly routine. Free, read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. | |
| detail | No | Optional: brief (about half the size, for chat clients with a result size limit) or full (default, every draft). | |
| origin | No | Optional: where the product is made, ISO alpha-2 (default KR, or the signed-in company's origin). TradeGraph's reply data comes from Korean exporters: another origin is left out of the markets and origin_check says what applies. | |
| traits | No | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. | |
| country | No | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to let the data pick the market. | |
| exclude | No | Optional: markets already tried, comma-separated ISO codes or names (e.g. 'DE,PL'); next_markets skips them. | |
| product | No | Optional: the product's own name in English for the first-email draft (e.g. 'kimchi', 'sunscreen'), up to 60 characters. Defaults to the item name; for a live HS code without it the draft says 'products under HS 2005'. A name not in English is not put in the English drafts (product_note says what they use). | |
| description | No | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). | |
| product_local | No | Optional, Japan: the product's name in Japanese for the Japanese drafts (local_emails), e.g. 'カシミヤ混ニット'. A product written in Japanese is used there too. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false), but the description still adds real substance: output size of 40,000-80,000 characters, the cost of detail=brief and what it omits, and the gated/banned-market behavior (human-derived ingredient bans that no approval opens). It could say more about latency or failure modes for an international lookup, but the added context is well 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 purpose is front-loaded, but the opening sentence is a single sprawling clause that enumerates a dozen output fields in one breath and runs most of the description's length. The reader must parse semicolons within parentheses to find what they need; this is dense rather than concise, and the structure does not help scanning.
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 tool with 9 parameters, no output schema, and this much downstream structure, the description covers return size, gating semantics, defaults, auth requirements, and sibling delegation. An agent can call it and interpret the result without consulting anything else.
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 coverage is 100%, so the baseline is 3; the description earns a bump by tying parameters to outcomes — omitting country lets 'the data pick the market', exclude feeds next_markets, traits/description trigger blind_spots, product_local selects Japanese drafts. Most of this restates the schema, but the parameter-to-output relationships add usable meaning.
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 first words 'START HERE. One call returns the export go-to-market plan for a product' give a specific verb and resource, followed by an enumeration of returned artifacts (markets, buyer types, follow-ups, channels, compliance flags, tariffs, drafts). Sibling tools like channel_plan, reply_pace, blind_spots, and save_plan are named with their distinct roles, so an agent can differentiate this from them 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit entry-point guidance ('START HERE'), explicit when-to-use-detail=brief ('for a first answer or to compare markets') versus full ('when picking drafts in the weekly routine'), and explicit delegation rules ('call channel_plan for endpoint ids, prices and request bodies'; save_plan for persisting). Prerequisites (signed in at /mcp/account, free, read-only) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_studioMarketplace and ad images for a marketARead-onlyIdempotentInspect
Plan the product image set for one market: the marketplace's main-image rules (Amazon, Rakuten, Tmall, Shopee, TikTok Shop…), a 7-image gallery (real main image, local lifestyle, texture, how-to, benefits infographic, scale, trust) with edit-from-packshot prompts for treg.to image models, ad sizes per platform, AI and claims rules, and the estimated cost. Free, read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets the product group. | |
| country | Yes | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. | |
| product | No | The product in plain English as it looks. | |
| variants | No | Generated variants per frame. | |
| marketplace | No | Optional marketplace, e.g. 'amazon', 'rakuten', 'shopee'; defaults to the market's main one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile, and 'Free, read-only' merely restates readOnlyHint, which earns no credit. The valuable addition is disclosing that the tool returns prompts and a plan (7-image gallery, edit-from-packshot prompts, ad sizes, claims rules, estimated cost) rather than generated images — a non-obvious behavioral fact for a tool whose name suggests image creation.
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?
It is front-loaded with the core action, but the rest is one run-on sentence with nested parentheses and ellipsis lists that is hard to scan. The trailing 'Free, read-only' duplicates structured annotations and does not earn 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 no output schema, the enumeration of deliverables is what makes this tool callable with correct expectations, and it covers composition, platform rules and cost. Enough is present; only the prompt/target-model handoff for downstream generation is left implicit.
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 applies and the schema already defines item, country, product, variants and marketplace. The description adds nothing about how the two product-ish parameters (item vs product) interact or what marketplace selection changes — the one real ambiguity left unaddressed.
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?
Opens with a specific verb and scope ('Plan the product image set for one market') and enumerates the concrete deliverables, so an agent can tell this apart from video_studio or channel_plan. It stops short of naming a sibling or state of work it is not, which keeps it at 4 rather than 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 trigger condition is implied by 'for one market' and the required country parameter, and 'Free, read-only' signals a safe planning call. There is no explicit when-to-use/when-not guidance and no routing to alternatives such as video_studio for motion assets, so usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
live_toolsFind live-data endpoints for a jobARead-onlyIdempotentInspect
Search the treg.to catalog (3,800+ endpoints across 110 providers) for the endpoints that do a job, e.g. 'find TikTok beauty creators', 'Amazon best sellers', 'verify buyer emails', '샤오홍슈 KOL 단가'. Returns endpoint ids, providers and per-call prices. Execute them with live_call when connected with a TradeGraph account (charged to its prepaid credits), or with the treg MCP server (https://treg.to/mcp/, tool call) / treg call <id> using the user's own treg token. Without an account TradeGraph never spends money.
| Name | Required | Description | Default |
|---|---|---|---|
| job | Yes | What you want to do, in English or Korean. | |
| limit | No | Endpoints to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, but the description adds substantive context beyond them: the catalog size (3,800+ endpoints, 110 providers), what is returned, the two execution paths, that calls are charged to prepaid credits, and that no money is spent without an account. This is real behavioral disclosure about cost and auth that the annotations cannot convey.
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 search purpose and examples are front-loaded, and the sentence about execution paths is useful for an agent deciding what to do after the search. The inclusion of the MCP URL and CLI syntax is slightly more operational detail than a search tool strictly needs, but it is compact and not padded.
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 two-parameter, read-only discovery tool with no output schema, the description covers what can be searched, what comes back (ids, providers, per-call prices), and how to proceed after the search. Only the exact response shape and pagination/limit behavior are left implicit, which is minor here.
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 coverage is 100%, so the baseline is 3, but the description's worked examples clarify that `job` is a natural-language goal in English or Korean rather than a keyword or endpoint id, which adds genuine meaning beyond the schema's short one-liner. The `limit` parameter is left entirely to the schema, which is acceptable given full coverage.
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 names a specific verb and resource — searching the treg.to catalog of live-data endpoints — and backs it with concrete job examples ('find TikTok beauty creators', 'Amazon best sellers'). It also distinguishes itself from the other tools by noting it returns endpoint ids/providers/prices rather than performing the job itself.
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?
It clearly says when to use it: to find an endpoint that does a job, with examples of the kind of job phrasing expected. It then routes the agent onward to live_call, the treg MCP server, or the CLI depending on account state, which is explicit usage guidance. It doesn't state exclusions (e.g. when the sibling tools like market_scan or find_item are the better choice), 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.
market_picksWhere to sell a productARead-onlyIdempotentInspect
Import markets for a product ranked by size, with 3-year growth, Korea's share and the reply rate Korean exporters of that industry actually got there (reply_scope: industry = compared with the industry's average; none = no emails from that industry yet, so not ranked). 'pick' marks the Pareto frontier: no other market is both bigger and replies better. Korea (domestic) and sanctioned markets are excluded from picks; regional_hub flags re-export hubs whose imports overstate local demand.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. | |
| limit | No | Markets to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotations, the description discloses real analytical behavior: what 'pick' means (Pareto frontier: no other market both bigger and better-replying), that Korea domestic and sanctioned markets are excluded from picks, that regional_hub markets overstate local demand, and the reply_scope='none' case where an industry has no emails and is therefore unranked. These are exactly the caveats an agent needs to interpret results without misreading them.
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 ranking basis is front-loaded, which is good, but the text is three long, jargon-heavy sentences dense with nested parentheticals ('reply_scope: industry = compared with...', 'regional_hub flags...'), making it slower to parse than necessary. Every clause carries information, but the packaging could be tightened into a short lead plus caveat list.
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 no output schema, the description carries the burden of explaining return fields, and it does so for the non-obvious ones (pick, regional_hub, reply_scope, exclusions). It stops short of describing the overall result shape or ordering guarantees, but an agent can call it and interpret the output 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 coverage is 100% and both parameters (item, limit) are fully documented with examples and bounds, so the description need not add parameter detail. The one concept it expands, reply_scope, is not actually a declared input parameter, so it functions as output semantics rather than parameter semantics; baseline 3 applies.
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 opening clause states the resource and the ranking basis ('Import markets for a product ranked by size, with 3-year growth, Korea's share and the reply rate'), which tells an agent exactly what comes back. It does not name or contrast with the closest siblings (market_scan, export_rank, buyer_targets), so differentiation relies on the agent already knowing those tools.
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 statement of when to use this tool rather than market_scan or export_rank, nor any prerequisite or exclusion guidance for the agent's decision. Usage is only inferable from the title 'Where to sell a product' and the ranked-markets content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_scanLive import markets for any HS codeARead-onlyIdempotentInspect
For products outside TradeGraph's 35 items: live UN Comtrade imports by country for any 4-digit HS code (latest complete year, 3-year growth, Korea's exports there), joined with TradeGraph reply rates for the product's industry, with Pareto picks. gtm_plan accepts the same HS code for a full plan. Free, read-only; the first call for a code takes a few seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| hs | Yes | 4-digit HS code, e.g. '1905' (biscuits, snacks), '2005' (kimchi), '1904' (instant rice), '2206' (makgeolli), '3305' (shampoo), '3303' (perfume). | |
| limit | No | Markets to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the tool is free, uses live UN Comtrade data, and the first call for a code takes a few seconds, which helps set latency expectations.
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 dense but front-loaded paragraph with no filler. Every clause contributes: scope, data source, output components, alternative tool, cost, safety, and latency.
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 no output schema, the description adequately explains the returned content: imports by country, latest complete year, 3-year growth, Korea's exports, reply rates, and Pareto picks. Combined with rich annotations and full schema parameter coverage, an agent has enough information to call the tool 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 100%, and the schema already documents the hs code format with examples and the limit parameter with its bounds and default. The description reinforces that any 4-digit HS code is accepted but adds no extra syntax or semantics beyond the schema, so the baseline of 3 applies.
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 operation and resource: live UN Comtrade import markets by country for any 4-digit HS code, enriched with TradeGraph reply rates and Pareto picks. It also scopes the tool to products outside TradeGraph's 35 items and distinguishes it from gtm_plan, so an agent can tell what this tool returns.
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?
It gives a clear usage condition ('For products outside TradeGraph's 35 items') and names gtm_plan as the alternative for a full plan using the same HS code. It does not explicitly say what to use for products inside TradeGraph's 35 items or clarify overlap with sibling tools such as market_picks, so it falls short of fully explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outreach_playbookHow many emails, when, and what replies sayARead-onlyIdempotentInspect
Measured from 2.2M real export emails: replies per 10,000 emails at each follow-up step, the recommended number of emails, how many days to wait before the next one (follow_up_after_days), when replies arrive, what replies say (interest, questions, meeting requests…), and the funnel per 10,000 emails. Use to set a sequence's length and timing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds meaningful context beyond that: the data is empirical (measured from 2.2M real export emails) and the 'per 10,000 emails' normalization unit, which tells the agent how to interpret the numbers. It says nothing about freshness, sample segmentation, or whether figures are sliced by industry/step, leaving some interpretive gaps.
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 provenance and payload are front-loaded in the first clause, which is good. However, the body is a single long run-on sentence that strings six-plus metrics together with parentheticals, making it harder to scan than a short bulleted breakdown would be.
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 no output schema, the description carries the burden of describing returns, and it does enumerate the metric families an agent will receive (per-step reply rates, recommended email count and cadence, reply timing, reply intent categories, funnel). It is complete enough to call correctly, though it omits the shape/grouping of the response (e.g., whether results are broken out by step or segment).
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 takes zero parameters, so the baseline of 4 applies. The only 'parameter-like' detail mentioned, follow_up_after_days, is described as a returned metric rather than an input, which is consistent with the empty 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 names the resource precisely (benchmark email metrics derived from 2.2M export emails) and enumerates the specific metrics returned: replies per 10,000 at each step, recommended email count, follow_up_after_days, reply timing, reply intents, and funnel. It does not differentiate itself from the sibling reply_pace, which appears to cover overlapping territory (reply timing), so an agent can understand what it does but not how it differs from that neighbor.
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 closing sentence gives a clear use case: 'Use to set a sequence's length and timing,' which tells the agent the decision this data supports. There is no explicit exclusion or named alternative (e.g., reply_pace), so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_ladderExport price ladder: FOB to shelf priceARead-onlyIdempotentInspect
Turn a FOB unit price into the landed cost, importer/distributor price and shelf price (incl. VAT) in a country — or, from a target shelf price, the highest FOB that reaches it. Channels: retail (importer-distributor → retailer), distributor (importer → distributor → retailer), marketplace (importer of record selling on a marketplace), cross_border (Japan only: you ship each order from Korea to the consumer, e.g. as a Qoo10 or Rakuten overseas seller; no importer, and no duty or import consumption tax while a parcel's customs value is ¥10,000 or less, 60% of the retail price for personal-use goods; cross_border says whether the price stays under that limit, flags goods Japan never exempts (knitwear, leather shoes, some leather bags and gloves, ski boots and sugars: excluded, excluded_some) and liquor or tobacco tax (excise), and what changes from 1 Apr 2028: items priced ¥10,000 or less before tax carry Japanese consumption tax paid by the seller or a designated marketplace (small_item, price_with_tax_jpy), and with the 60% rule gone dearer items pay duty and tax on delivery), b2b (importer-distributor → business end user such as a clinic or factory; the default for equipment, parts and medical devices) and b2b_dealer (importer → dealer → business end user). The b2b channels stop at the end-user price before VAT (price_point 'end_user'; shelf_usd then holds that price), because business buyers usually reclaim VAT. Uses standard VAT and food rates, Korea FTA status and typical margins by product group; duty defaults to the rate TradeGraph has checked where it has one (US Section 301 and its exceptions: us_duty; Japan's RCEP or general rate for seaweed, clothing, bags and shoes: jp_duty; Mexico's general tariff, as Korea has no FTA there, raised on 1 Jan 2026 for cosmetics, toys, bags and clothing: mx_duty), otherwise 0% with a note to look it up. compare lays the same FOB side by side in other markets, each with its own duty and VAT (compare 'auto' picks the item's largest import markets). Every assumption is returned and can be overridden. Where the European Central Bank publishes the market's currency (yen, euro, pound, yuan and others; not TWD, VND, SAR or AED), local gives the same prices in that currency at its reference rate (as_of), and target_shelf_local takes the target in that currency. Free, read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets VAT (food rate), default margins and the default channel (b2b for equipment, parts and medical devices). | |
| channel | No | Route to the consumer or, for goods sold to businesses, to the end user. Default: retail, or b2b when the item is sold to businesses. cross_border is for Japan only. | |
| compare | No | Optional: other markets to price the same FOB and channel in, each with its own duty and VAT defaults (your duty_pct and vat_pct stay with this country; margins, freight and import costs carry over). Comma-separated ISO codes (e.g. "US,JP,MX", up to 5) or "auto" for the item's largest import markets that have a VAT table, skipping sanctioned markets and re-export hubs. Returns compare (this market first, then the others: shelf_usd, local shelf, multiple, duty_pct with duty_source checked/fta/free_port/none/yours, vat_pct, shelf_tax) and compare_basis (given, imports, or default when TradeGraph has no import figures for the item). Not for cross_border. | |
| country | Yes | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. | |
| fob_usd | No | FOB price per unit in USD. Give this, target_shelf_usd or target_shelf_local. | |
| targets | No | Optional: several shelf prices in USD to compare, comma-separated (e.g. "19.99,24.99,29.99", up to 6) — returns fob_at_targets, the highest FOB for each with the same assumptions. Use competitors' shelf prices to see what each allows. | |
| vat_pct | No | Override the VAT/GST rate. | |
| duty_pct | No | Import duty % of CIF for your tariff line (default 0, except the US: 12.5 — the combined duty on most Korean goods since 24 Jul 2026, KORUS included — or, when item is given, that HS code's US rate: 50% or 25% Section 232 on steel, aluminium and copper goods, 15% for Korean auto parts, 0% for electronics exempt from Section 301; check your line at the tariff_lookup link in the result). | |
| parcel_usd | No | Channel cross_border: courier from Korea to the customer's door per unit in USD (default 5, an assumption; use your courier's quote). | |
| description | No | Optional: the product's own name or a short description (e.g. '김스낵', 'seasoned seaweed snack'). Product traits in it pick the US duty line, e.g. seaweed snacks under HS 2008 are on the Section 301 exemption list. | |
| freight_pct | No | Freight + insurance as % of FOB (default 8). | |
| fulfillment_usd | No | Fulfilment per unit in USD for marketplace sales (default 4). | |
| import_costs_pct | No | Broker, port, inland and labelling as % of CIF (default 4). | |
| target_shelf_usd | No | Shelf price you want per unit in USD (incl. VAT where VAT applies; for the b2b channels the end-user price before VAT); returns the highest FOB that reaches it. | |
| dealer_margin_pct | No | Dealer margin, % of its selling price (channel 'b2b_dealer', default 25). | |
| retail_margin_pct | No | Retailer margin, % of its selling price. | |
| seller_margin_pct | No | Your margin on marketplace sales, % of price (default 25). | |
| target_shelf_local | No | The same target in the market's own currency (e.g. 2500 for ¥2,500 on Qoo10 Japan, 19.99 for €19.99 in Germany); converted at the ECB reference rate. Use it instead of target_shelf_usd. | |
| importer_margin_pct | No | Importer margin, % of its selling price (channel b2b: the importer-distributor selling to the end user, default 30, 35 for medical devices; b2b_dealer: 15, or 20 for medical devices). | |
| marketplace_fee_pct | No | Marketplace referral fee % (default 15). | |
| distributor_margin_pct | No | Distributor margin, % of its selling price (channel 'distributor'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses the defaulting logic (checked duty rates for US Section 301, JP RCEP, MX general tariff, otherwise 0% with a lookup note), the ECB reference-rate basis with as_of, and that every assumption is returned and overridable. That matters, though a good share of it is restated from the parameter schema rather than adding new behavioral context about e.g. latency or failure modes.
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?
Front-loaded with the core transformation in sentence one, which is good. But the cross_border parenthetical is a single enormous clause packing the Japan de-minimis rule, exclusions, excise, and the 1 Apr 2028 change into one sentence, hurting scannability; that channel detail is already carried by the channel parameter description.
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 21 parameters, no output schema and one required field, the description does the necessary work: it names key return payloads (compare, compare_basis, fob_at_targets, local, as_of, assumptions) and explains which inputs are mutually exclusive. An agent can call it correctly without further 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?
Schema coverage is 100%, so the baseline is 3; the description still earns a bump by giving domain meaning the schema alone does not: what each channel means commercially, how compare 'auto' picks markets, and why b2b channels stop at the pre-VAT end-user price. Still, duty and margin semantics largely duplicate the per-parameter descriptions.
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 opening sentence states a precise bidirectional verb+resource: FOB to landed/importer/shelf price, or target shelf price back to the highest FOB. No sibling tool (channel_plan, gtm_plan, market_scan) does pricing math, so the role is unmistakable.
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?
Channel selection is spelled out with concrete routing rules and conditions (cross_border is Japan-only; b2b is the default for equipment, parts and medical devices; compare is 'not for cross_border'; target_shelf_local replaces target_shelf_usd). It never routes against sibling tools such as channel_plan or gtm_plan, so upstream/downstream positioning 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.
reply_paceAre my replies on track?ARead-onlyIdempotentInspect
Weekly pace check for one market: pass the buyers emailed so far (each buyer once, first emails only), the buyers who replied (any reply, a no counts) and, if known, the week of the 13-week schedule and how many replies were interested (warm). Call it first in the weekly routine and act on it before anything else: relay risk_note first when present (sanctions or export controls on that market), then status_text, advice (or decision_text once the target is reached) and send_this_week as they are; find_buyers_type is this week's buyer type and email_draft the first email to use (first_email or a key of gtm_plan first_email_variants); changed lists the changes made so far, to pass back next week; they agree with each other and with the web plan, and each gives one change to make, not a choice. Returns: status (one of too_early, no_replies, below, change_now, decision_moves, behind_schedule, normal_range, few_interested, above, on_track, or the decision next_market, change_and_retry, keep_going; on_track only when the current rate reaches 10 replies at the target, sends are on schedule and the interested share is not low), status_text, advice, send_this_week (new buyers to add this week: the catch-up number when more than a week behind; at next_market the first 200 in send_this_week_in), the rate Korean exporters of this product usually get there (the same industry × market rate as gtm_plan reply_target, from 2.2M real export emails), the normal range for that many sends (Poisson 5–95%), projected_replies_at_target, alternative_buyer_type, behind_schedule (weeks 2–12), decision_moves (week 13 or later before the target: the week to decide), and from 95% of sends_for_10_replies the decision with decision_text (fewer than 5 replies → next_market, named only then; 5–9 → same market once more, the next buyer type with a new subject line for retry_batch.send more, then 10 or more in total keeps going and fewer moves on; 10 or more → keep going). Pass exclude with markets already tried. With warm it adds warm_share against the usual share; when low (from 5 replies, under half the usual share) the status or decision says to change the offer and warm_note explains. Called signed in (/mcp/account) for a market with a saved buyer list, it adds account_note (the list's size, list_unsent — how many on it are not emailed yet by the sent number passed, counted from the front of the list — and the buyer types whose map searches have all run) and points to my_progress, which plans the week with that list. Free, read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. | |
| sent | Yes | Buyers emailed so far in this market (count each buyer once; follow-ups don't add). | |
| warm | No | Optional: of the replies, how many were interested (a question, a sample request or a meeting; not a no). Compared with the usual interested share of replies; from 5 replies a low share adds warm_note. | |
| week | No | Optional: the week of the 13-week schedule they are in (1 = the week of the first 200 emails), to flag sends behind schedule or a decision that moves past week 13. | |
| changed | No | Optional: changes already made in earlier weeks, as last week's changed (comma-separated: next_type, new_subject, new_subject_2, offer, retry, retry_type). A change once made is kept: the same verdict again keeps it instead of flipping back, a retry uses a subject line not sent yet, and retry (a retry batch already started) keeps that subject line in the following weeks; retry_type (the retry switched to a buyer type not tried yet) keeps that type's email. my_progress does this from the saved log. | |
| country | Yes | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. | |
| exclude | No | Optional: markets already tried, comma-separated ISO codes or names (e.g. 'DE,PL'), skipped when naming the next market. | |
| replies | Yes | Buyers who replied so far (any reply, including a no). | |
| buyer_type | No | Optional: the buyer type the user sent to last week (last week's find_buyers_type); after a switch to the next type the check keeps it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive, closed-world behavior, but the description adds real context beyond them: status meanings, decision thresholds at 10 replies, warm-share rules, statistical backing from 2.2M emails, and the account_note behavior when signed in. The disclosure is rich, though it is delivered in a dense and sometimes confusing run-on form.
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 sprawling paragraph with semicolon-chained clauses and nested return-value enumerations. It is front-loaded with the purpose, but the size and density make it hard for an agent to parse quickly, and many details duplicate the schema.
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?
Because there is no output schema and the tool returns many status values and advice fields, the description must explain return semantics, and it does so thoroughly. It covers status thresholds, decision logic, warm-note behavior, and account-note additions, leaving little functionally missing even if the presentation is poor.
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 coverage is 100%, so the schema already documents all nine parameters. The description adds some meaning, such as 'each buyer once, first emails only,' 'a no counts,' and how exclude is used, but much of this repeats the schema rather than extending it.
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 opening line states a specific computation for a specific resource: a weekly pace check for one market based on sent/replies. It distinguishes itself from nearby tools by naming find_buyers_type, email_draft, gtm_plan, and my_progress, though the surrounding sprawl makes the core purpose less crisp than it could be.
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?
It explicitly says to call this first in the weekly routine and act on it before anything else, and it points to my_progress as the alternative for a saved buyer list. It does not state exclusions or prerequisites in a clean when-not form, but the sequencing guidance is unusually explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_studioShort-form video ads for a market (Higgsfield-style presets)ARead-onlyIdempotentInspect
Plan AI product videos for one market and platform, Higgsfield-style: preset formats (hero orbit, texture macro, unboxing POV, 3-step routine, local lifestyle, AI presenter) with camera moves, a shot list, keyframe and image-to-video prompts, ready request bodies for treg.to video models (draft Seedance 1 Lite, standard Hailuo 2.3, premium Veo 3.1 Fast; HeyGen avatar for presenters), hook variants for A/B tests, the platform spec (aspect, length, safe zone), voice-over language, music, AI-label and claims rules, and the estimated cost. Starts from the real packshot so the pack never changes. Free, read-only — generation runs on the user's treg token.
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets the product group for scenes and claims rules. | |
| tier | No | Model tier: draft (cheap 480p tests), standard (Hailuo 2.3 768P), premium (Veo 3.1 Fast 1080p). | |
| preset | No | Video format; auto = three presets that suit the product group. | |
| country | Yes | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. | |
| product | No | The product in plain English as it looks, e.g. 'vegan sunscreen SPF50, 50 ml white tube with green cap'. Used in every prompt. | |
| platform | No | Where the video runs; auto = the market's first creator platform. | |
| variants | No | Hook variants per preset (A/B test the first 2 seconds). | |
| has_packshot | No | Whether a real product photo exists (default true). Without one the plan asks for it first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, closed-world, and safe; the description adds genuinely non-redundant behavior: it costs nothing, it never mutates the packshot ('the pack never changes'), the output includes estimated cost, and generation is deferred to the user's treg token. It omits any statement about determinism of preset selection or plan size beyond variants, which keeps it at 4.
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 core scope is front-loaded, but the first sentence is a single ~130-word run-on that packs presets, prompts, request bodies, model tiers, hook variants, platform specs, compliance rules, and cost into one breath. It is information-dense but would be far easier to parse as structured clauses.
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 no output schema, the description carries the burden of describing the return value and does so thoroughly (shot list, keyframe and image-to-video prompts, request bodies, hook variants, platform spec, cost). The only gaps are how presets interact when multiple are requested and whether 'auto' can be overridden per platform.
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 coverage is 100% and every parameter is already documented, including the tier-to-model mapping and preset enum. The description restates that same mapping ('draft Seedance 1 Lite, standard Hailuo 2.3, premium Veo 3.1 Fast') rather than adding new semantics, so the baseline 3 applies.
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 verb and resource ('Plan AI product videos for one market and platform') plus a recognizable style reference and an explicit inventory of what it produces. It is clearly distinct from the sibling image_studio and from analytical tools like channel_plan.
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 closing line 'Free, read-only — generation runs on the user's treg token' makes the planning-vs-generation boundary explicit, which tells an agent when this tool stops and actual rendering begins. It does not name a sibling alternative or state exclusions (e.g., multi-market planning), 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- First observed
blind_spots - First observed
buyer_targets - First observed
channel_plan - First observed
country_brief - First observed
export_rank - First observed
find_item - First observed
gtm_plan - First observed
image_studio - First observed
live_tools - First observed
market_picks - First observed
market_scan - First observed
outreach_playbook - First observed
price_ladder - First observed
reply_pace - First observed
video_studio
Related MCP Connectors
AI sales team for export-import: outbound prospecting, trade data analysis, HS codes, tariffs, OFAC.
Find buyers, run LinkedIn, email and X outreach, and answer replies from your AI.
AI sales — prospect discovery, ICP scoring, outreach generation.
AI sales agent: finds B2B buyers, researches each one, writes from your accounts, books meetings
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search Korean health food product catalog, generate bilingual buyer emails, and track export tasks for Korean red ginseng and herbal products.1MIT
- AlicenseAqualityCmaintenanceEnables foreign trade sales workflows by orchestrating market scanning, product selection, customer profiling, credit checks, outreach drafting, and quotation calculations with source-traceable, three-category conclusions.10MIT
- AlicenseAqualityDmaintenanceEMEA sales + employment compliance for AI agents across 7 countries (UK, Germany, France, Spain, Italy, Netherlands, Sweden). GDPR, IR35, CNIL, B2B opt-out rules, cultural buyer psychology. Built by an ex-Deel ($12B) compliance + sales operator.7MIT
- AlicenseNot gradedqualityCmaintenanceEnables buyer-side AI agents to search every wholesaler catalogue on the hub at once, compare drinks field by field, identify the maker, and retrieve the trade channel for ordering across European countries. It serves beer, wine, spirits, cider and ready-to-drink products for business-to-business trade only.61 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.