Skip to main content
Glama

CBI Data

Dated, evidence-qualified investment citizenship research for eleven programmes. The original public compilation is authoritative for its migrated CBI.me claims. It includes 44 ordinary-passport policy lookup slots for the UK, US, Canada and Schengen short stays. These are qualified slots, not 44 unconditional waivers. Every required programme field has evidence or an explicit incomplete state.

This first release retains dated editorial reviews with partial verification; it does not claim a newly completed legal audit. Conflicting Saint Lucia prices, São Tomé adult-dependant issuance limits, US issuance exceptions and conditional Canadian air eTA access remain explicit. Costs return exact known subtotals by currency and a null comprehensive total. Eligibility and admission are separate.

Reproduce a pinned release

Requires Node 24 LTS. No maintainer account, private repository or API key needed.

git clone --branch data-2026-10-25.2 https://github.com/heathermhuang/cbi-data.git
cd cbi-data
npm ci --ignore-scripts
npm run check
node examples/compare.mjs
node examples/travel-rule.mjs
node examples/mcp-client.mjs

Use the GitHub Release dataset archive and SHA256SUMS for static JSON/CSV. The package tarball can be installed locally; npm registry publication is not required. Never substitute an unversioned installer for the pinned example.

curl -fsS 'https://cbi.me/api/v1/travel-rules?passport=ATG&destination=CAN&release=2026-10-25.2'
curl -fsS 'https://cbi.me/api/v1/coverage?release=2026-10-25.2'

Remote MCP: https://cbi.me/mcp (Streamable HTTP, anonymous public reads). Local MCP: node /absolute/path/to/cbi-data/src/cli/stdio.mjs after the pinned checkout and build above. Stdout contains protocol messages only.

Eight tools: list_programmes, get_programme, compare_programmes, get_programme_costs, get_travel_rule, get_source, get_changes, get_coverage. The hosted service also retains its four existing guide tools. The standalone adapter has no private workspace tools, accounts, bindings or storage.

See API, MCP, methodology, coverage, maintenance, releases and contributing.

Original code MIT; original compilation CC BY 4.0. Linked sources retain rights.

Available Tools

8 tools
compare_programmesC
Read-onlyIdempotent

Read-only compare programmes. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
idsYes
includeNo
releaseNo
scenarioNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds a useful behavioral signal: preserve evidence dates, conditions, coverage gaps and warnings, and that missing context never establishes eligibility. That's real context beyond annotations, though it explains output semantics rather than comparison mechanics or limits.

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?

Three short sentences with the purpose front-loaded, so nothing is bloated. However, the second and third sentences are terse and cryptic, reading more like ritual disclaimers than clear guidance.

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

Completeness3/5

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

An output schema exists, so return values needn't be described. But with four undocumented parameters at 0% schema coverage and no comparison-behavior detail, an agent lacks what it needs to call the tool with confidence in its arguments.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters. The description never explains ids (2-4 items), include='evidence', release, or scenario, so the agent gets no meaning for any parameter. This is the largest gap in the definition.

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

Purpose4/5

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

States a specific verb and resource: 'compare programmes'. The 'compare' verb distinguishes it from siblings like get_programme and list_programmes, though it doesn't name them explicitly. An agent can tell the operation apart, but not precisely which sibling it competes with.

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

Usage Guidelines2/5

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

No guidance on when to use this versus get_programme, list_programmes, or get_coverage. The 'missing context' sentence is a caveat about interpretation, not a when-to-use rule. The agent must infer selection from the name alone.

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

get_changesC
Read-onlyIdempotent

Read-only get changes. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
toYes
fromYes
limitNo
cursorNo
includeNo
releaseNo
programmeNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.3/5.0
Behavior3/5

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 covered. The description adds genuinely new behavioral context beyond the annotations: the payload carries evidence dates, conditions, coverage gaps and warnings, and absent context must not be treated as proof of eligibility. That is useful, but it says nothing about pagination, cursoring, or how partial results should be interpreted across pages.

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?

Three short sentences with the read-only property front-loaded, so it is appropriately sized and makes no redundant claims. However, the middle and last sentences are cryptic, especially 'Preserve evidence dates, conditions, coverage gaps and warnings,' which reads as an instruction to the reader rather than a description of the tool's behavior.

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

Completeness2/5

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

An output schema exists, so return values needn't be explained, but with 7 undocumented parameters and no explanation of what a 'change' is or what from/to delimit, the definition leaves too much to inference. The one completeness strength is the warning that gaps in context do not establish eligibility, which partially addresses the domain risk of over-reading results.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, so the description carries the full burden and it explains none of them: from/to semantics, the 1-50 limit, the cursor, the include='evidence' constant, and the release/programme filters are all undiscussed. The only indirect signal is the mention of 'evidence,' which never states that include must be 'evidence'. The gap is substantial for a filtered, paginated query.

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

Purpose2/5

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

The description opens with 'Read-only get changes,' which largely restates the tool name and never says what kind of change objects these are (travel-rule changes, programme changes, evidence snapshots) or over what domain 'from'/'to' range. It reads as a tautology with a hint of read-only scope rather than a specific verb+resource definition, and it does nothing to distinguish it from siblings like get_travel_rule or get_coverage.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no sibling is named among list_programmes, get_programme, compare_programmes, get_programme_costs, get_travel_rule, get_source, get_coverage. The clause 'Missing context never establishes eligibility or a travel waiver' is a downstream interpretive rule, not a routing rule, so the agent still has to guess which tool answers a change-history question.

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

get_coverageC
Read-onlyIdempotent

Read-only get coverage. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
releaseNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the description only needs to add context beyond that. It does add a domain warning about preserving evidence dates, conditions, gaps, and warnings, and about missing context not establishing eligibility or waiver, but it remains vague about what the tool actually returns or how that preservation manifests.

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 description is short and front-loads 'Read-only get coverage', which is good. However, the remaining sentences are terse and cryptic, and the phrase 'Preserve evidence dates' is ambiguous rather than informative, so the brevity does not fully earn its place.

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

Completeness2/5

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

An output schema exists, so return-value detail is less necessary, but the description still leaves the core concept of 'coverage' undefined and completely omits the sole input parameter 'release'. For a tool that appears to relate to programmes and travel rules, this is not complete enough for reliable selection and invocation.

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

Parameters1/5

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

The schema has one optional parameter, 'release', with zero description coverage. The description never mentions 'release' or explains its format, constraints, defaults, or how it affects the result, leaving the agent with no semantic guidance for the only input.

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

Purpose3/5

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

The description states a specific verb and resource ('get coverage') and reinforces that it is read-only, but it never defines what 'coverage' means in this domain. It does not distinguish this tool from siblings such as get_programme or get_travel_rule, so an agent must infer the scope.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus list_programmes, get_programme, get_travel_rule, or get_source. The sentence about missing context not establishing eligibility or a travel waiver adds a caution but does not tell the agent when this tool is the right choice.

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

get_programmeC
Read-onlyIdempotent

Read-only get programme. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
idYes
includeNo
releaseNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuine domain constraint ('Missing context never establishes eligibility or a travel waiver') and an instruction to preserve evidence dates and warnings, but it remains cryptic about how that surfaces in the response.

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?

It is short and free of filler, but the opening clause is redundant with the tool name and annotations, while the second sentence compresses important guardrails into an opaque phrasing that would benefit from a clarifying clause.

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

Completeness2/5

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

An output schema exists, so return shape need not be described, but for a three-parameter tool with zero schema coverage the definition leaves the agent unable to sensibly choose `include` or `release`. The core purpose and parameter effects are both under-specified.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters. The description never explains what `id` identifies, what `include: "evidence"` unlocks, or what `release` scopes to, so the agent must infer all parameter meaning from bare patterns and a const.

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

Purpose3/5

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

"Read-only get programme" names a verb and resource, but the verb merely restates the tool name and never says what a programme is or what the read returns. Nothing distinguishes it from siblings like get_coverage, get_programme_costs, or list_programmes.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as get_programme_costs or compare_programmes. The second sentence is an interpretive caveat, not a usage instruction.

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

get_programme_costsC
Read-onlyIdempotent

Read-only get programme costs. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
idYes
optionNo
includeNo
releaseNo
scenarioNosingle_adult

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds meaningful behavioral context by noting that results should preserve evidence dates, conditions, coverage gaps, and warnings, and that missing context must not be treated as establishing eligibility or a travel waiver.

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 three short sentences and front-loads the core action ('Read-only get programme costs'). The following caution sentences are concise and relevant, though somewhat boilerplate in tone.

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

Completeness2/5

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

With five undocumented parameters at 0% schema coverage and no explicit sibling routing, the description is not complete enough to help an agent call the tool correctly. The output schema and annotations reduce the burden somewhat, but key invocation semantics remain missing.

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

Parameters1/5

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

The schema has five parameters and 0% description coverage. The description mentions none of them—id, option, include, release, or scenario—so it does not compensate for the schema's lack of parameter documentation.

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

Purpose4/5

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

The description states a specific verb and resource: 'get programme costs.' It is clear what the tool retrieves, though it does not explicitly distinguish itself from siblings like get_programme, get_coverage, or compare_programmes.

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

Usage Guidelines2/5

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

The description offers caution about preserving evidence and not inferring eligibility, but gives no guidance on when to use this tool versus get_programme, get_coverage, or compare_programmes. The selection context is left implicit.

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

get_sourceC
Read-onlyIdempotent

Read-only get source. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
idYes
includeNo
releaseNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful domain behavior: preserving evidence dates, conditions, coverage gaps and warnings, plus a critical caution that missing context never establishes eligibility or a travel waiver.

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 definition is three short sentences and front-loads the read-only status. The first sentence largely repeats the name/annotations, but there is no verbose fluff and the key caveat is easy to spot.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, with zero schema descriptions for any of the three parameters and an undefined notion of "source," the description does not give an agent enough context to invoke it confidently.

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

Parameters1/5

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

Schema description coverage is 0% and there are three parameters, yet the description never explains id, include, or release. The mention of "evidence" does not map meaningfully onto the include const or clarify release.

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

Purpose2/5

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

The description says "Read-only get source" but never defines what a source is or distinguishes it from siblings like get_coverage, get_travel_rule, or get_changes. The second sentence hints at evidence attributes, but the core purpose remains a near-restatement of the tool name.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternatives or exclusions. The caveat about missing context not establishing eligibility or a travel waiver is an interpretation rule, not routing guidance.

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

get_travel_ruleC
Read-onlyIdempotent

Read-only get travel rule. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
includeNo
purposeNo
releaseNo
passportYes
transportNo
destinationYes
documentTypeNo
qualifyingVisaNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world, so the bar is lower. The description still adds real context beyond them: results carry evidence dates, conditions, coverage gaps and warnings, and absent context must not be read as an eligibility or waiver conclusion — a meaningful semantic caveat for a compliance-adjacent lookup.

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?

Three short sentences with no padding, and the read-only qualifier is front-loaded. The phrasing is telegraphic and the second/third sentences read as disjointed rules rather than a coherent brief, but nothing is redundant.

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

Completeness2/5

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

An output schema exists, so return values needn't be explained, but with eight undocumented parameters, no usage routing among seven siblings, and no indication of which optional inputs change the result, the definition leaves too much for the agent to guess before calling.

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

Parameters2/5

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

Eight parameters at 0% schema description coverage, and the description explains none of them — not the required passport/destination pair, not the transport or qualifyingVisa enums, not the include='evidence' constant, not purpose/release/documentType. Only a faint echo of 'evidence' hints at the include flag, leaving the burden unmet.

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

Purpose3/5

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

States a verb and resource ('get travel rule') and the read-only nature, but 'travel rule' is unexplained domain jargon, and the sentence doesn't tell an agent what the resource is or how it differs from siblings like get_programme or get_coverage. The trailing sentences describe output caveats rather than clarifying purpose.

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

Usage Guidelines2/5

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

No statement of when to call this versus the seven sibling tools, no prerequisites, and no exclusion conditions. The guidance present ('preserve evidence dates... missing context never establishes eligibility') is about interpreting results, not selecting the tool.

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

list_programmesB
Read-onlyIdempotent

Read-only list programmes. Preserve evidence dates, conditions, coverage gaps and warnings. Missing context never establishes eligibility or a travel waiver.

NameRequiredDescriptionDefault
kindNo
limitNo
stageNo
cursorNo
includeNo
releaseNo
jurisdictionNo

Output Schema

NameRequiredDescription
dataYes
coverageYes
evidenceNo
warningsYes
evaluatedAtYes
generatedAtYes
schemaVersionYes
datasetReleaseYes

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and non-destructive, but the description adds genuine domain context the annotations cannot: it instructs the agent to preserve evidence dates, conditions, coverage gaps and warnings, and warns that missing context never establishes eligibility or a travel waiver. That is a meaningful epistemic constraint for a legal/immigration dataset, though it omits pagination behaviour and what a partial/empty result means.

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?

Three short sentences, front-loaded with the core operation, with no filler or repetition. The caveat sentences are dense but each carries a distinct rule; slightly more explicit framing of the second sentence would help.

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

Completeness2/5

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

An output schema exists so return values needn't be described, but with seven undocumented filter/pagination parameters at 0% schema coverage the definition leaves the agent unable to call the tool correctly beyond passing no arguments. The domain warnings are valuable but do not fill the structural gap.

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

Parameters2/5

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

Seven parameters exist with 0% schema description coverage, yet the description names none of them – no explanation of kind, stage, release, jurisdiction, limit, cursor, or include. The words "evidence" and "coverage gaps" faintly echo the include=evidence const and get_coverage sibling, but this is far from compensating for a total absence of filter and pagination semantics.

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

Purpose4/5

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

States a specific verb and resource ("Read-only list programmes"), which distinguishes it from get_programme and compare_programmes by implying bulk enumeration rather than single-record retrieval. However, it never explicitly says 'returns multiple programmes' or contrasts with those siblings, so the 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.

Usage Guidelines2/5

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

The description gives no when-to-use guidance and never names an alternative among the seven siblings (get_programme, compare_programmes, get_coverage). Sentences two and three are output-interpretation rules, not usage routing, so an agent has no stated criteria for choosing this tool over its neighbours.

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.

  1. 8 tool updatesv0.1.1
    • First observedcompare_programmes
    • First observedget_changes
    • First observedget_coverage
    • First observedget_programme
    • First observedget_programme_costs
    • First observedget_source
    • First observedget_travel_rule
    • First observedlist_programmes

TDQS

B3.1/5.0

Scored across 8 tools

Disambiguation4/5

Each tool name targets a distinct facet (listing vs single programme, comparison, costs, travel rules, sources, changes, coverage), so an agent can route sensibly. However, every description is the same boilerplate text, so the names alone carry the differentiation burden, and get_programme_costs / get_coverage have some conceptual overlap.

Naming Consistency5/5

All eight tools follow a strict snake_case verb_noun pattern using list_, get_, and compare_ prefixes with a single consistent noun for the resource. No style mixing or ad-hoc names anywhere in the set.

Tool Count5/5

Eight tools is a well-scoped size for a read-only reference-data server. Each tool maps to a distinct data facet, and there is no redundant filler.

Completeness4/5

The surface covers the lifecycle of read-only reference work: enumerate, inspect, compare, plus costs, travel rules, provenance (source), change history, and coverage gaps. A free-text search or a bulk multi-programme filter is missing, but agents can work around it via list_programmes and compare_programmes.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Document verification for AI agents: forensic authenticity signals for PDFs and images, field extraction, Australian identity checks, adverse-media and sanctions screening, AU/NZ government tender search, AI-text detection, and citation verification. Hosted with a free anonymous tier; the repo ships a Dockerfile that bridges to the live endpoint.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Exposes fourteen read-only tools over the HEY Research public API, letting assistants look up Robinhood Chain projects, builders, shipped work, relationships and market context, with each answer tagged FACT, DERIVED or UNKNOWN and unmeasured fields omitted rather than zeroed. Runs over stdio or hosted Streamable HTTP, and gives no trade instructions.
    13
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables querying, comparing, and analyzing official Brazilian IBGE data through 23 tools covering localities, demographics, census, SIDRA statistics, indicators, geography, health, sanitation, economy, and territorial snapshots. Responses preserve reproducible provenance, including source, URL, period or vintage, extraction timestamp, and derivation status, and it can run locally over STDIO or remotely via Cloudflare Workers.
    24
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Lets agents query a private AI concierge service's overview, privacy layers and benchmarks, search and read its site pages, and register a person's interest once they approve the details. Available as a remote Streamable HTTP endpoint or a local stdio bridge, with no API key required.
    25 npm
    MIT