Skip to main content
Glama

Compare Forced Labor Register Sources

forced_labor_source_compare
Read-onlyIdempotent

Compares two sources of the MORVS U.S. Forced Labor Company Register: the DHS UFLPA Entity List (dhs), CBP withhold release orders and findings (cbp), and the Consolidated Screening List rows that exactly match a DHS or CBP name (csl). Returns the entity ids named in both sources under the register's reviewed name and alias joins, the ids in source_a with no reviewed match in source_b and the reverse, with counts, the register's own published overlap figures, the source rows behind each listed entity (source URL, row locator, snapshot date) and each source's snapshot date, in pages of up to 50 ids per list continued with next_cursor. Issuers linked only through a filing are never counted, so a parent never enters an overlap. The sources apply different laws; an entity with no reviewed match in the other source reads "No reviewed name or alias match in this source snapshot", which is not a clearance finding.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum entity ids per list on one page; default 50, max 50.
cursorNoThe next_cursor value from an earlier page with the same sources; omit for the first page.
source_aYesFirst source: dhs (UFLPA Entity List), cbp (CBP WROs and Findings) or csl (matched Consolidated Screening List rows).
source_bYesSecond source, different from source_a: dhs, cbp or csl. Lists are reported as a without b and b without a.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses substantial behavior: pagination in pages of up to 50 ids continued with next_cursor, that issuers linked only through a filing are never counted (a parent never enters an overlap), that sources apply different laws, and that a no-reviewed-match reads as a specific string that is not a clearance finding.

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

Conciseness3/5

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

The purpose is front-loaded, but the content is delivered as one dense paragraph with deeply nested clauses covering outputs, joins, pagination, and caveats, which makes it hard to scan. Content largely earns its place, but structure is weak.

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 no output schema, the description carries the return-format burden and does so completely: entity ids in both/one-sided lists, counts, published overlap figures, per-entity source rows (URL, row locator, snapshot date), snapshot dates, and pagination. It also supplies the caveat needed to interpret results responsibly.

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?

Schema description coverage is 100%, so the baseline is 3; however, the description adds interpretive meaning by explaining how source_a and source_b are compared ('Lists are reported as a without b and b without a') and what the csl enum value means (rows exactly matching a DHS/CBP name). This goes beyond the raw 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?

States a specific verb (compares) and resource (two sources of the MORVS U.S. Forced Labor Company Register), enumerating dhs/cbp/csl as the sources. It is clearly distinguishable from the sibling forced_labor_company_check, which operates on a single company rather than cross-source overlap.

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

Usage Guidelines3/5

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

The description implies when the tool applies (source-overlap analysis across DHS/CBP/CSL) and warns that a no-match reading is not a clearance finding, but it never explicitly routes the agent versus alternatives such as forced_labor_company_check or screen_all. Usage is inferable but not stated.

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