Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
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.8/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct role: check_export_license combines ECCN and country for a verdict, lookup_eccn provides entry details, lookup_country provides destination chart rows, and explain_reason_code expands code definitions. There is no overlap that would cause an agent to select the wrong tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: check_export_license, explain_reason_code, lookup_country, lookup_eccn. The convention is uniform and predictable.

Tool Count5/5

Four tools is well-scoped for the focused purpose of export control license determination. Each tool earns its place as part of a coherent workflow, and the count is within the ideal range.

Completeness5/5

For the stated scope (Commerce Country Chart-based license checking), the tool set covers the full workflow: look up ECCN, look up country, check license, and expand reason codes. The descriptions explicitly note limitations, so there are no surprising gaps within the server's intended domain.

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.

Every verdict carries its own evidence and you should report it rather than the boolean alone. checked lists each chart cell that was read and what it held, so a negative answer can be verified against 15 CFR part 738 Supplement No. 1 without trusting this server; footnotes carries row conditions this tool does not apply and which can change the answer; sourceEdition says which CFR edition the tables came from, and a snapshot older than the current regulation gives a stale answer that still reads as confident.

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.
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.
checkedNoEvery chart-determined control on the entry, each with the column read, its reason code, the scope it applies to, and whether that column is marked for this destination. This is the citation for the verdict and it is the only way to check a `licenseRequired: false`, which otherwise arrives as a bare boolean. Verify it against 15 CFR part 738 Supplement No. 1 before relying on a negative answer.
countryNoThe chart row that was matched.
messageNoWhy no verdict was returned, when status is not `ok`.
footnotesNoFootnotes on this chart row, each with its number and text. **They can change the answer and this tool does not apply them.** Footnote 6 is the Russia and Belarus sanctions and footnote 8 is Crimea. A `licenseRequired: false` on a row carrying footnotes is not a clear result until the footnote text has been read.
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.
sourceEditionYesThe CFR edition the tables were taken from. Present on every response, including errors. Data older than the current regulation is a stale answer, not a wrong one, and the regulation is the authority.
countryColumnsNoEvery control column marked for this destination on the chart row, whether or not it bears on this ECCN.
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 beyond the readOnlyHint by explaining nuanced behaviors: the meaning of `false` (chart alone does not require a license, not clearance), the `indeterminate` result (unanswered question), the evidence fields (`checked`, `footnotes`, `sourceEdition`), and the staleness caveat that an older snapshot gives a confident but stale answer. This is exceptionally 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 long but every sentence earns its place, covering purpose, usage, return semantics, evidence fields, and limitations. It is front-loaded with the core function and organized into logical paragraphs, with 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?

Given the tool's complexity and the presence of an output schema, the description thoroughly explains return values, the meaning of verdicts, evidence fields, and potential pitfalls like stale data. It is as complete as needed for an agent to select and trust the tool.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters already described with examples and constraints. The description only repeats 'ECCN and a destination country' and adds no additional parameter-specific guidance, so 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 verb+resource+scope: 'report whether the Commerce Country Chart requires an export licence, and which reasons for control trigger it.' It clearly distinguishes itself from sibling tools by focusing on checking export license requirements, not explaining reason codes or looking up countries/ECCNs.

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 the tool: 'Use this when someone is about to ship or transfer a controlled item abroad and needs the licence question answered before it moves.' It also provides clear exclusions: 'This tool cannot classify an item into an ECCN and will not try,' and clarifies that a false result is not clearance and does not cover Entity List, embargoes, or end-use controls.

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.

Frequently Asked Questions

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.