Skip to main content
Glama

Server Details

Official statistics, China censuses & yearbooks, and as-of customs tariffs with legal citations.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.1% over 46 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation4/5

The tools mostly target distinct steps: catalog search, structure inspection, exact series retrieval, stored table retrieval, natural-language resolution, and tariff lookup. The main overlap is that resolve_data can effectively wrap search_datasets + get_series for convenience, but descriptions make the manual exact-code path and the English-query path reasonably distinguishable.

Naming Consistency4/5

All names use snake_case, and most follow a verb_noun pattern such as get_series, get_structure, get_table, resolve_data, and search_datasets. tariff_lookup is a minor noun-noun deviation, but the set remains predictable and readable.

Tool Count5/5

Six tools is well within the ideal 3-15 range and each tool appears to earn its place in the statistical-data and tariff retrieval workflow. The count is not bloated and does not feel thin for the stated catalog and query capabilities.

Completeness4/5

The read-only surface covers discovery, structure inspection, exact series retrieval, stored table retrieval, natural-language querying, and tariff lookup, which is strong lifecycle coverage for this domain. Minor gaps remain, such as no explicit helper to discover tariff goods codes or bulk/multi-series export, but core workflows are supported.

Available Tools

6 tools
get_seriesAInspect

Fetch ONE series with every dimension named by you (no guessing or relaxing): dataset, ISO3 countries, an ISO period range and a member code for every dimension from get_structure. Returns status ok/empty/refused with each value's provenance, and the missing country-periods listed. A bad request is a named 400 error saying which field and what is allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodYesInclusive ISO period range. "latest" is not accepted: name the periods you want. Annual 2020, quarterly 2020-Q1, monthly 2020-01.
selectYesA member code for every dimension of the dataset (other than geography and time) as listed in /structure, including frequency. Every dimension must be named; a missing or unknown dimension or code is a 400, never defaulted.
datasetYesA dataset id from the catalog, as returned by search (/v1/search, or the search_datasets MCP tool), e.g. "ilo-sdmx:DF_X".
countriesYesISO 3166-1 alpha-3 codes (e.g. "JPN") or an aggregate code listed in the dataset's /structure. 1 to 25 entries.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations and no output schema, the description carries the full burden and does well: it discloses the ok/empty/refused statuses, per-value provenance, listed missing country-periods, and named 400 errors specifying the offending field. It omits auth/permission requirements and any rate-limit context, so not quite top marks.

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 the action and resource, and the three sentences each carry substance (inputs, return statuses, error behavior). The nested parentheticals are slightly dense but nothing is wasted.

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

Completeness4/5

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

For a four-parameter, fully-required tool with no output schema and no annotations, the description covers returns (statuses, provenance, missing periods) and failure modes adequately. It leaves auth/permission expectations unstated, a minor gap.

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%, so the schema already documents the period form, ISO3 country codes, dataset id and select semantics. The description only reinforces the existing rules (no relaxation, every dimension named) without adding format or example detail beyond the schema, so the baseline of 3 applies.

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 and resource ("Fetch ONE series") with scope, and the capitalized "ONE" implicitly contrasts it with the multi-series sibling get_table. An agent can tell what it retrieves and what inputs are mandatory without opening the schema.

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?

Explicitly routes the agent to get_structure to obtain dimension member codes and warns that nothing is defaulted or relaxed. It gives clear preconditions but names no sibling alternative (e.g., get_table for many series), so no exclusions are stated.

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

get_structureAInspect

The published structure of one dataset, free: its dimensions with every member code and label, frequencies, period coverage, the ISO3 countries it serves, and whether it is servable. Call this before get_series to learn the codes to send. Dataset ids come from search_datasets.

ParametersJSON Schema
NameRequiredDescriptionDefault
datasetYescatalog dataset id, e.g. 'ilo-sdmx:DF_X'

TDQS

A4.6/5.0
Behavior4/5

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

No annotations, so the description carries the burden; it discloses the return payload, flags that the result is 'free', and notes the servability status. It does not cover auth requirements, rate limits, or failure behavior, so it stops short of full disclosure.

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-loads the resource definition and packs the return contents into one dense clause list, with workflow guidance in the trailing sentences. Everything earns its place, though the long enumerative first sentence is heavier than strictly necessary.

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?

No output schema exists, so the description must describe returns itself, and it does so thoroughly (dimensions, codes, labels, frequencies, coverage, countries, servability). Combined with the pre-call workflow note and id provenance, an agent has everything needed to invoke it correctly.

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?

One parameter at 100% schema coverage sets a baseline of 3, and the description adds meaningful provenance beyond the schema by telling the agent the id originates from search_datasets. It does not add format or validation nuance beyond the schema example.

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?

Names a specific resource (the published structure of one dataset) and enumerates exactly what it contains: dimensions with member codes and labels, frequencies, period coverage, ISO3 countries, servability. An agent can distinguish this from get_series and get_table without opening any schema.

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?

Gives explicit sequencing ('Call this before get_series to learn the codes to send') and names the sibling that supplies its input ('Dataset ids come from search_datasets'). Both when-to-use and where-the-argument-comes-from are stated.

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

get_tableAInspect

Fetch a STORED table whole, by dataset id (families cn-nbs-census and cn-nbs-yearbook): labelled rows × columns with original-language labels, English overlay, units, and provenance down to the source file. Ids look like 'cn-nbs-census:2010_a0101a'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYescatalog dataset id

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description must carry the disclosure burden. It clearly states this is a fetch operation (non-mutating) that returns the whole stored table, and describes the content structure. It does not mention error handling or potential limitations, but given the simplicity, the core behavioral traits are disclosed.

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 a single well-structured sentence that front-loads the core action ('Fetch a STORED table whole'), then details the return contents and ID format. No wasted words; every phrase earns its place.

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 one parameter and no output schema, the description fully covers what the agent needs to know: what it retrieves, the exact input format, and the families involved. There is no missing operational detail that would prevent correct usage.

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 dataset_id as 'catalog dataset id' (100% coverage). The description adds significant value by giving the exact ID format ('cn-nbs-census:2010_a0101a') and the applicable families, which helps the agent construct valid values. This goes beyond the schema's minimal description.

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 clearly states the verb 'Fetch', the resource (a STORED table), and the distinguishing scope (by dataset id, with families cn-nbs-census and cn-nbs-yearbook). It also specifies the exact return contents (labelled rows×columns, labels, English overlay, units, provenance), which differentiates it from siblings like tariff_lookup or resolve_data.

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?

It implies usage when you have a dataset_id and provides the ID format, but it does not explicitly state when to prefer this over search_datasets (e.g., when you already have an ID) or exclude scenarios like searching by keyword. The guidance is implied but not explicit.

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

resolve_dataAInspect

Ask a data question in English ('unemployment rate in Japan', 'compare GDP in Japan and Germany') — resolves to the best covering dataset and returns the observations, with coverage honesty (missing countries are reported, never papered over).

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesthe question
endNoend year
startNostart year

TDQS

A4.4/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the behavioral burden. It discloses that the tool returns observations and adds an important behavioral guarantee: missing countries are reported rather than silently omitted. It could mention failure when no dataset matches, but the disclosed behavior is meaningful and honest.

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 a single, information-dense sentence. Examples are embedded in a parenthetical, and every clause contributes: the action, the resolution behavior, the return value, and a key honesty guarantee. No fluff or repetition.

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

Completeness4/5

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

For a 3-parameter tool with no output schema, the description covers the input style, resolution behavior, return content, and an important coverage guarantee. It does not detail output formatting or how failures are handled, but it provides enough context for an agent to invoke and interpret the result correctly.

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 coverage is 100% for the three parameters, so the schema already documents start and end years. The description adds semantic value by clarifying that the q parameter is a natural-language English data question and provides concrete examples of valid input.

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 names a specific verb ('Ask') and resource ('data question') and explains that it 'resolves to the best covering dataset and returns the observations.' The natural-language query behavior clearly distinguishes it from sibling tools like get_table or search_datasets, which are more direct retrieval/search operations.

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?

The description gives clear usage context: use this tool when you have a data question phrased in English, supported by examples like 'unemployment rate in Japan.' It does not explicitly name alternatives or exclusions, but the intended use case is unmistakable.

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

search_datasetsAInspect

Search StackData's catalog of 50k+ official statistical datasets (SDMX/World Bank dataflows, China censuses and yearbooks, tariff schedules). Multilingual: an English query finds Chinese-titled tables. Returns dataset ids usable with the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYessearch query
limitNo

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It discloses meaningful behaviors: multilingual search (English query finds Chinese-titled tables), the scope of the catalog, and that output is dataset IDs. However, it does not mention pagination, ordering, default limit behavior, or whether the search is fuzzy/prefix-based, leaving some behavioral ambiguity.

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 compact sentences deliver the essential information: what is searched, the catalog size, content types, multilingual behavior, and the output type. It is front-loaded, specific, and contains no filler or repeated schema information.

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

Completeness4/5

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

For a simple two-parameter search tool with no output schema, the description covers the catalog scope, search behavior, return value (dataset IDs), and downstream usage. Minor gaps like result count or paging are already partially covered by the schema defaults, so the description is reasonably complete.

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 only 50%, since 'limit' lacks a description. The description adds value by clarifying that 'q' supports multilingual matching, which goes beyond 'search query.' However, it does not address the 'limit' parameter or explain how many results may be returned, despite the schema's default/max values already existing.

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 a specific verb ('Search'), a precise resource ('StackData's catalog of 50k+ official statistical datasets'), and enumerates concrete content types. It makes clear the tool is a discovery/search layer whose outputs feed other tools, distinguishing it from siblings like get_table or tariff_lookup.

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?

The description clearly implies when to use this tool: before the other dataset tools, since it 'returns dataset ids usable with the other tools.' It also highlights the multilingual matching behavior as an important usage consideration. It does not explicitly list exclusion conditions or name alternative tools, so not a full 5.

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

tariff_lookupAInspect

As-of customs-tariff lookup: which measures/duty rates apply to a goods code in a jurisdiction (eu, us, uk, jp), optionally from an origin, on a date. Duty expressions are verbatim; every measure carries its legal citation. Not legal advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesgoods code, 2-10 digits (HS/TARIC/HTS)
dateNoas-of date YYYY-MM-DD, default today
originNoISO2 origin country (eu/uk only)
directionNoimport
jurisdictionNoeu

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral disclosure burden. It adds meaningful detail: duty expressions are verbatim, every measure includes a legal citation, and the tool is not legal advice. It does not cover pagination, errors, or rate limits, but the core lookup behavior and output traits are transparently stated.

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 two tight sentences with no filler. The first sentence front-loads the purpose and query parameters; the second adds output behavior and a caveat. Every element earns its place.

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

Completeness4/5

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

For a tool with no output schema and no annotations, the description covers purpose, query parameters, output characteristics, and a caveat. Minor gaps remain: direction/export semantics are not explained, and defaults are left to the schema. Overall, it is largely complete for an agent to select and invoke the tool correctly.

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 description restates key parameters (code, jurisdiction, origin, date) and enumerates jurisdiction values, matching the schema. Schema coverage is 60%, and the description helps clarify the query dimensions, but it does not mention the 'direction' parameter or its import/export semantics, leaving part of the parameter space underspecified.

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 a specific verb ('lookup'), a clear resource ('customs-tariff'), and the core query dimensions: goods code, jurisdiction, optional origin, and date. It distinguishes this from the generic sibling tools (get_table, resolve_data, search_datasets) by its domain and 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?

The description implies when to use the tool (when tariff/duty-rate information is needed as of a certain date) but provides no explicit guidance about alternatives or when not to use it. Sibling tools are not mentioned, so the decision boundary is left entirely to the agent.

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. 2 tool updates
    • Addedget_series
    • Addedget_structure
  2. 4 tool updates
    • First observedget_table
    • First observedresolve_data
    • First observedsearch_datasets
    • First observedtariff_lookup

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying China's official monthly merchandise trade statistics, including total exports/imports/balance, breakdowns by trading partner and HS commodity sections, and trade indices from the GACC English-language site.
    20 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables querying China National Bureau of Statistics data including economic indicators, time series, and regional statistics. Supports natural language search, batch queries, comparisons, and analysis across monthly, quarterly, and yearly datasets.
    31
    24 npm
    8
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search mainland China's national laws, administrative and local regulations, judicial interpretations, and Supreme People's Court guiding cases, and to retrieve metadata plus the original Chinese text of individual articles or full regulations and case narratives. Results carry issuing body, promulgation and effective dates, and in-force status, with keyless access and no fabricated snippets when a document can't be read.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying China's official foreign exchange reserves, balance of payments, and external debt data from SAFE's English-language data pages, including publication-date metadata for freshness.
    241 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources