StackData
Server Details
Official statistics, China censuses & yearbooks, and as-of customs tariffs with legal citations.
- Status
- Healthy
- Uptime
- 100.0% over 24 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 4 tools
Each tool targets a distinct operation: catalog search, exact table retrieval, natural-language data resolution, and tariff lookup. Even though search and resolve both accept English queries, one returns dataset IDs and the other returns observations, so the boundaries are clear.
Three tools follow a clear verb_noun pattern (get_table, resolve_data, search_datasets), and all names use lowercase snake_case. tariff_lookup deviates slightly from the verb-first pattern but remains consistent in style and readable.
Four tools is a well-scoped count for a read-only statistical data server. Each tool provides a distinct core capability with no redundant or filler tools.
The core read-only data workflow is covered: discover dataset IDs, fetch a known table, ask a data question, and run tariff lookups. Minor gaps such as schema-only metadata access or generic table filtering are not present, but agents can work around them with the existing tools.
Available Tools
4 toolsget_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'.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes | catalog dataset id |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | the question | |
| end | No | end year | |
| start | No | start year |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | search query | |
| limit | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | goods code, 2-10 digits (HS/TARIC/HTS) | |
| date | No | as-of date YYYY-MM-DD, default today | |
| origin | No | ISO2 origin country (eu/uk only) | |
| direction | No | import | |
| jurisdiction | No | eu |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
- First observed
get_table - First observed
resolve_data - First observed
search_datasets - First observed
tariff_lookup
Related MCP Connectors
China Customs (GACC English) — monthly merchandise trade statistics.
US tariff & trade truth: duty actually paid by origin/HS 2017+, HTS rulebook, CBP rulings. No key.
US tariff & trade truth: duty actually paid by origin/HS 2017+, HTS rulebook, CBP rulings. No key.
Source-linked US tariff and trade-action changes: legal status, effective dates, dated archive.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables 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.MIT
- AlicenseAqualityDmaintenanceEnables 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.3110 npm7Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables 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.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search Chinese HS commodity codes, retrieve detailed tariff and regulatory information, and calculate import taxes using 2026 import/export tariff data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.