Skip to main content
Glama

Export-Control Goods Screening

export_controls_screen
Read-only

Screen goods for export-control restrictions to a destination country.

Combines the goods classification with the destination's restriction status and returns whether a license is required, the risk level, applicable license policies (e.g. presumption of denial), control reasons (NS, MT, NP, CB, AT), and proliferation/dual-use flags. Identify the goods by ANY of: ECCN, HS code, or a free-text description (English or Russian).

IMPORTANT — jurisdiction nexus: each jurisdiction's controls only bind a payment/shipment when there is a nexus to that jurisdiction (US EAR binds US persons, USD-clearing, and US-origin items; EU/UK/JP bind their persons, currencies, and origin). Use jurisdiction="ALL" for a comprehensive multi-jurisdiction view, or pick the one matching the actual touchpoints.

IMPORTANT, prefer eccn or hs_code: goods_description is a fallback: the classifier matches it lexically, so a vague description still returns one specific HS code and it is usually the wrong one ("industrial machinery" returns bakery and pasta machinery). When you pass a description only, the result carries classification_basis and classification_confidence_note; read them, never quote the inferred code back to the user as their HS code or ECCN, and ask for the code on their invoice or export declaration. The destination findings (embargo, transshipment risk, screening duties) are NOT affected by that doubt, so report them normally.

Provide at least one of eccn / hs_code / goods_description.

Examples: export_controls_screen("RU", eccn="3A001") # electronics → Russia export_controls_screen("CN", eccn="3A090") # advanced computing → China export_controls_screen("IR", goods_description="industrial valves") export_controls_screen("RU", goods_description="drone", jurisdiction="ALL") export_controls_screen("DE", hs_code="854231") # → Germany (allied)

Use case: 'Can we ship integrated circuits to Russia?'

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eccnNoExport Control Classification Number, e.g. "3A001". Give at least one of eccn, hs_code, goods_description.
hs_codeNoHarmonized System code, 4-8 digits (e.g. "854231"). Give at least one of eccn, hs_code, goods_description.
jurisdictionNo"US" (default), "EU", "UK", "JP", "ITAR", or "ALL".US
goods_descriptionNoFree-text goods description, English or Russian. A fallback for when no eccn or hs_code is known; see the description.
destination_countryYesDestination country, ISO 3166-1 alpha-2 country code (e.g. "RU", "CN").

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / destination_country / description
      Added value: +"Destination country, ISO 3166-1 alpha-2 country code (e.g. \"RU\", \"CN\")."
    • addedInput schema / properties / eccn / description
      Added value: +"Export Control Classification Number, e.g. \"3A001\". Give at least one of eccn, hs_code, goods_description."
    • addedInput schema / properties / goods_description / description
      Added value: +"Free-text goods description, English or Russian. A fallback for when no eccn or hs_code is known; see the description."
    • addedInput schema / properties / hs_code / description
      Added value: +"Harmonized System code, 4-8 digits (e.g. \"854231\"). Give at least one of eccn, hs_code, goods_description."
    • addedInput schema / properties / jurisdiction / description
      Added value: +"\"US\" (default), \"EU\", \"UK\", \"JP\", \"ITAR\", or \"ALL\"."
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and openWorldHint=false, and the description adds real value beyond them: it warns that goods_description is matched lexically and typically returns the wrong HS code, tells the agent to read classification_basis / classification_confidence_note and never quote an inferred code back to the user, and clarifies that destination findings (embargo, transshipment risk, screening duties) are unaffected by that doubt. That is precisely the kind of failure-mode and output-interpretation context annotations cannot carry.

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

Conciseness4/5

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

Front-loaded with purpose, then the two IMPORTANT blocks and worked examples, each earning its place for a non-trivial compliance tool. Slightly redundant — the 'provide at least one of' rule is stated both in prose and again in every schema field — and the block layout is dense, but there is no filler.

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

Completeness5/5

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

For a tool with an output schema, this description supplies everything else the agent needs: how to identify goods, how to select jurisdiction, what the fallback path implies, and five concrete invocation examples spanning eccn, hs_code, free-text, and ALL-jurisdiction calls. Nothing required to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 100%, so baseline is 3, but the description meaningfully exceeds the schema: it ranks the three identification parameters (eccn/hs_code preferred, goods_description a fallback), explains the lexical-matching weakness of goods_description, and gives real substance to jurisdiction via the nexus rule (US EAR binds US persons/USD-clearing/US-origin; EU/UK/JP bind their persons, currencies, origin) — none of which appears in the schema.

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

Purpose5/5

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

The description opens with a specific verb+resource+scope: 'Screen goods for export-control restrictions to a destination country,' then names the exact combination it performs (goods classification × destination restriction status). It is clearly distinguishable from siblings like eccn_lookup, goods_classify, hs_code_lookup, country_export_controls, and sanctions_screen, which each cover only one half of that combination.

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

Usage Guidelines4/5

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

Strong internal guidance: 'Provide at least one of eccn / hs_code / goods_description,' 'prefer eccn or hs_code,' and a detailed rule for choosing jurisdiction ('ALL' for multi-jurisdiction, or the one matching actual touchpoints). It does not, however, explicitly route the agent away from siblings (e.g. when to call eccn_lookup or goods_classify instead), which is the only gap.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources