Thailand NSO MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| discover_dataflowsA | Discover available TNSO (Thailand National Statistical Office) dataflows. Optionally filter by comma-separated keywords (matched against id, Thai/English name and description). Start here to find a dataset, then call get_constraints. |
| get_structureA | Get the data structure (DSD) for a datastructure id: the ordered list of dimensions and the codelist each uses. Fast path when you already know the codes. |
| get_constraintsA | Get all valid dimension values (with Thai/English labels) and the available time range for a dataflow. One call returns everything needed to build a get_data query. Time periods are Buddhist Era (BE = Gregorian + 543). |
| get_codelist_descriptionA | Get Thai and English labels for every code in a codelist (e.g. 'CL_CWT'). |
| get_conceptsA | Resolve a TNSO SDMX concept id to its Thai or English name (searches all TNSO concept schemes; result cached). Use lang='th' or lang='en'. |
| get_dataA | Fetch observations for a dataflow as a TSV table, with reproducible CSV/curl URLs. Supports dimension filtering and a time range. Omit dimensions from dimension_filters to get all their values; pass multiple codes per dimension as an array. If no period is given, the latest available year is returned. IMPORTANT: start_period/end_period are Buddhist Era years (e.g. 2567 = 2024). |
| get_cache_diagnosticsA | Check persistent-cache health (exists, size, writability). Pass debug=true to additionally reveal the cache path and stored keys (host-sensitive). For debugging. |
| get_territorial_codesA | Look up Thai geography codes used by the AREA / CWT dimensions: level='region' (CL_AREA), 'province' (CL_CWT, 77 changwat), or 'district' (CL_AMPHOE). Filter by 'name' (Thai or English substring). Use this to find codes before calling get_data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a distinct purpose: discovery, structure, constraints, data retrieval, code lookups, and diagnostics. No overlap exists; even get_codelist_description and get_constraints serve different needs.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., discover_dataflows, get_constraints, get_data), making it predictable for agents.
With 8 tools, the set is well-scoped for a statistical data server, covering discovery, structure, query building, data retrieval, and code lookups without unnecessary tools.
The tool surface covers the full workflow: discover dataflows, get structure and constraints, fetch data, and resolve codes. No obvious gaps for a public statistics API.