Skip to main content
Glama

Export Control

Server Details

Does the US Commerce Country Chart require an export licence for an ECCN to a destination?

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
toolstop/toolstop
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct role: license check, glossary lookup, country chart lookup, and ECCN lookup. There is no functional overlap; while lookup_eccn provides chart columns, check_export_license combines ECCN and country, so the purposes are clearly separated.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: check_export_license, explain_reason_code, lookup_country, lookup_eccn. Two use 'lookup' but the pattern is uniform and predictable.

Tool Count5/5

Four tools is a well-scoped size for the export control domain. Each tool covers a core operation: country lookup, ECCN lookup, reason code explanation, and the combined license check. No redundant tools exist, and the count is neither too thin nor excessive.

Completeness5/5

Within the stated scope of determining export license requirements using the Commerce Country Chart, the tools provide a complete workflow: look up the country, look up the ECCN, and check the license decision. The reason code expansion completes the picture. The tools explicitly note what they do not cover (e.g., classification, entity lists), which is outside the domain scope.

Available Tools

4 tools
check_export_licenseDoes the country chart require an export licenceA
Read-only
Inspect

Given an ECCN and a destination country, report whether the Commerce Country Chart requires an export licence, and which reasons for control trigger it. Use this when someone is about to ship or transfer a controlled item abroad and needs the licence question answered before it moves. Returns the triggering reasons with the scope text from the Control List entry, because many controls apply to only part of an entry, plus any controls that are not decided by the chart at all. A false result means the chart alone does not require a licence; it is not clearance to export, and it says nothing about the Entity List, embargoes, end-use controls, or whether the ECCN is the right one. An entry the chart does not decide returns indeterminate with its requirement text instead of a verdict, which is an unanswered question rather than a negative answer. This tool cannot classify an item into an ECCN and will not try.

ParametersJSON Schema
NameRequiredDescriptionDefault
eccnYesExport Control Classification Number, e.g. 3A001. Digit, letter A to E, three digits.
countryYesDestination country as spelled on the Commerce Country Chart, e.g. Japan or Korea, South.

Output Schema

ParametersJSON Schema
NameRequiredDescription
eccnNoThe normalised ECCN.
titleNoThe Control List entry heading, on an indeterminate result.
statusYesOutcome of the lookup. Only `ok` carries an answer. `embargoed` means the chart does not govern the destination. `indeterminate` means the entry has no country-chart control in this data and the chart cannot answer for it, which is not the same as no licence being required. `ambiguous_country` means the name matched more than one row and you must ask which was meant.
countryNoThe chart row that was matched.
messageNoWhy no verdict was returned, when status is not `ok`.
candidatesNoPossible destinations, when the country name matched more than one row.
notCoveredNoWhat this answer does not address. Always present on an answered lookup.
triggeredByNoEach control whose chart column is marked for this destination, with its scope caveat.
licenseRequiredNoWhether the country chart requires a licence. Present only when status is `ok`. False does not mean the export is permitted.
controlsNotOnChartNoControls on this entry that the chart does not decide, with the requirement text verbatim.
Behavior5/5

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

The description goes well beyond the readOnlyHint annotation by explaining the meaning of false and indeterminate results, the scope text behavior, and that controls not decided by the chart are returned. It also clarifies that the tool does not attempt classification, which is important behavioral context.

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

Conciseness4/5

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

The description is six sentences but every sentence adds meaningful information about use cases, return semantics, and limitations. It is front-loaded with the core purpose and then elaborates. Slightly long but justifiable for the tool's complexity.

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

Completeness5/5

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

With an output schema present, the description still explains return behavior thoroughly, including possible indeterminate outcomes and the scope text nuance. It covers limitations and what the tool does not do, making it complete for a tool of this complexity.

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

Parameters3/5

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

The schema already provides detailed descriptions for both parameters with examples (3A001, Japan). The description restates them in the opening but adds no new parameter-specific semantics. Given 100% schema coverage, the baseline of 3 is appropriate.

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

Purpose5/5

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

The description opens with a specific action: reporting whether the Commerce Country Chart requires an export licence for a given ECCN and country. It clearly distinguishes from sibling tools like lookup_eccn and explain_reason_code by focusing on the licence decision rather than classification or reason code explanation.

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

Usage Guidelines4/5

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

It explicitly states when to use: when exporting/transferring a controlled item abroad and needing the licence question answered. It also gives exclusions: not clearance, doesn't cover Entity List/embargoes/end-use controls, and cannot classify an ECCN. However, it does not name specific alternative tools from the sibling list, so it's slightly less explicit than ideal.

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

explain_reason_codeExpand a reason-for-control codeA
Read-only
Inspect

Expand a reason-for-control code such as NS, AT or CB into its full name. Use this when reading a Control List entry or a chart column and the two-letter code is not obvious. Returns the code and the name it stands for, or the whole glossary when called with no argument. This is a glossary lookup only: it reports what a code means, never whether that control applies to anything you are shipping, and it cannot tell you whether a licence is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoA two-letter reason code, e.g. NS. Omit to list all of them.

Output Schema

ParametersJSON Schema
NameRequiredDescription
codeNoThe code, uppercased.
nameNoWhat the code stands for.
codesNoEvery known code, when none was given.
statusYesOutcome of the lookup.
Behavior5/5

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

Beyond the readOnlyHint annotation, it discloses the output behavior (returns code and name, or whole glossary when no argument) and explicitly states it cannot judge control applicability or license requirements.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, then usage, then return and limitations; no redundant words.

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

Completeness5/5

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

For a simple lookup tool with one optional parameter, the description covers purpose, usage, return values, and limitations; the output schema exists to detail further, so nothing is missing.

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

Parameters4/5

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

The schema already describes the 'code' parameter with 100% coverage, so the description's main added value is concrete examples and clarifying the no-argument behavior; it reinforces but does not significantly extend 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 uses a specific verb ('Expand') and resource ('reason-for-control code'), provides concrete examples (NS, AT, CB), and explicitly distinguishes itself from license-checking tools by stating it is a glossary lookup only.

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

Usage Guidelines5/5

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

It explicitly states when to use ('when reading a Control List entry or a chart column and the two-letter code is not obvious') and clearly excludes license determination, preventing misuse in favor of tools like check_export_license.

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

lookup_countryWhich control columns a destination carriesA
Read-only
Inspect

Return the Commerce Country Chart row for a destination: which of the sixteen control columns are marked, with each reason expanded. Use this to see how heavily controlled a destination is, or to check the chart's spelling of a country before another lookup. Special-controls destinations such as Cuba, Iran, North Korea and Syria return embargoed with a referral, because the chart does not govern them and reading a blank row as permission would be badly wrong. A marked column means a licence is required for items controlled for that reason; it says nothing about any particular item until you pair it with an ECCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesDestination country name, e.g. Germany.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesOutcome of the lookup. Only `ok` carries an answer. `embargoed` means the chart does not govern the destination. `indeterminate` means the entry has no country-chart control in this data and the chart cannot answer for it, which is not the same as no licence being required. `ambiguous_country` means the name matched more than one row and you must ask which was meant.
columnsNoMarked control columns, each with its reason code and expanded name.
countryNoThe chart row that was matched.
referralNoWhere to look instead, for a special-controls destination.
footnotesNoChart footnotes on this row, each with its number and text. They carry conditions the grid cannot show, such as the Russia and Belarus sanctions and the Crimea controls, and they can change the answer.
candidatesNoPossible destinations, when the name matched more than one row.
Behavior5/5

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

Beyond the readOnlyHint, the description discloses important behavioral details: the 'embargoed' result with referral for special destinations, the meaning of marked columns (licence required), and the limitation that it says nothing about specific items until paired with an ECCN. This exceeds the annotation coverage and prevents misinterpretation.

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

Conciseness5/5

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

The description is dense but every sentence adds value, including the special-case caveat and the clarification about licence meaning. It is front-loaded with the primary purpose and structured logically from general behavior to exceptions.

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

Completeness5/5

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

Given the tool's complexity (sixteen columns, special cases, integration with ECCN lookups), the description covers the key behaviors and usage context thoroughly. The presence of an output schema means return details need not be elaborated, and the special-controls warning addresses a critical edge case that could otherwise lead to unsafe conclusions.

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

Parameters3/5

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

The schema already fully describes the single 'country' parameter with 'Destination country name' and an example. The description adds minor context about checking spelling before other lookups, but this is not essential to parameter usage. With 100% schema coverage, baseline is 3.

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

Purpose5/5

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

The description states the tool returns the Commerce Country Chart row for a destination, specifying exactly what data it provides (which of sixteen control columns are marked, with reasons expanded). This clearly differentiates it from sibling tools by focusing on the chart rather than license checks, reason codes, or ECCN lookups.

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

Usage Guidelines5/5

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

Explicit usage guidance is given: 'Use this to see how heavily controlled a destination is, or to check the chart's spelling of a country before another lookup.' It also warns about special-controls destinations, implying when this tool is not appropriate for those cases and when a referral is provided.

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

lookup_eccnRead a Control List entry's reasons for controlA
Read-only
Inspect

Look up one ECCN on the Commerce Control List and return its title, its reasons for control, and the chart column each reason maps to. Use this to understand why an item is controlled, or to see the scope caveats before relying on a licence answer, since a control often applies to only some sub-paragraphs of an entry. Some entries are not decided by the country chart at all, and those return chartDetermined: false with the requirement text instead, or indeterminate when the entry carries no chart control at all. Knowing an entry's reasons for control does not tell you whether a licence is required for a destination; pass the ECCN to check_export_license for that. This tool cannot tell you whether an item falls under this ECCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
eccnYesExport Control Classification Number, e.g. 5A002.

Output Schema

ParametersJSON Schema
NameRequiredDescription
eccnNoThe normalised ECCN.
titleNoThe entry heading as published.
statusYesOutcome of the lookup. Only `ok` carries an answer. `embargoed` means the chart does not govern the destination. `indeterminate` means the entry has no country-chart control in this data and the chart cannot answer for it, which is not the same as no licence being required. `ambiguous_country` means the name matched more than one row and you must ask which was meant.
reasonsNoReason-for-control codes on the entry, with their expanded names.
controlsNoEach control, its scope text, and the chart column or other requirement it maps to.
chartDeterminedNoWhether any control on this entry is decided by the country chart.
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description adds substantial behavioral nuance beyond that: it explains the various return shapes (chartDetermined false with requirement text, or indeterminate when no chart control), and warns about scope caveats (control often applies to only some sub-paragraphs). It also discloses what the tool cannot do, which is transparent.

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

Conciseness5/5

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

The description is front-loaded with the core function, then usage, then edge cases, then the critical distinction from check_export_license. Each sentence earns its place; the length is justified by the tool's behavioral complexity, and 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?

Despite the output schema existing, the description explains the key return variants (chartDetermined false/indeterminate), the relationship to licence checking, and the limitation about classification. This covers the tricky parts an agent needs to know to invoke the tool correctly and interpret results.

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

Parameters3/5

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

Schema coverage is 100% and the schema already describes the eccn parameter as 'Export Control Classification Number, e.g. 5A002.' The description adds little beyond calling it 'one ECCN' and using the term repeatedly; no new format, constraints, or examples are provided beyond 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: 'Look up one ECCN on the Commerce Control List and return its title, its reasons for control, and the chart column each reason maps to.' This clearly distinguishes it from siblings: it doesn't check licenses (check_export_license), explain reason codes (explain_reason_code), or look up countries (lookup_country).

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('to understand why an item is controlled, or to see the scope caveats') and gives an exclusion: 'Knowing an entry's reasons for control does not tell you whether a licence is required for a destination; pass the ECCN to check_export_license for that.' It also notes a limitation: 'This tool cannot tell you whether an item falls under this ECCN.'

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

Discussions

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

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.