VeriTR
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EVDS_API_KEY | No | Your TCMB EVDS API key for financial series data. |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_indicatorsA | Search VeriTR's normalized indicator catalog. USE THIS FIRST, before get_series, whenever the exact indicator id is unknown. Returns VeriTR indicator ids (e.g. 'population.total') that get_series accepts. Search works in Turkish and English and is accent-insensitive. |
| search_datasetsA | Search the raw dataset catalogs of the source institutions. Use this when search_indicators returns nothing useful, and always for city-level questions about İstanbul (transport, traffic, environment, culture, infrastructure) — İBB publishes ~560 municipal datasets that have no VeriTR indicator id. Follow up with get_dataset to read the rows. NOTE: TÜİK serves its catalog metadata in English only, so English keywords ('unemployment', 'vehicle') match better for TÜİK; İBB is indexed in Turkish. |
| get_datasetA | Read the columns and rows of a raw dataset found via search_datasets. This is the path for municipal (İBB) data, which is deliberately NOT mapped into the normalized indicator namespace — use get_series for national indicators and this for city datasets. Returns the field list, a page of rows, the total row count, and the source licence. Page with offset; the response says how many rows were withheld. |
| get_seriesA | Fetch a time series for one indicator. This is the primary data tool. Returns compact [period, value] pairs plus the source institution and dataset id.
Omitting |
| get_snapshotA | Get one indicator's value across ALL regions at a single point in time, ranked. Use this for "which provinces have the highest/lowest X" questions instead of calling get_series once per province. |
| compare_regionsA | Compare ONE indicator across SEVERAL regions over time. Each region gets its own series plus a summary (first/last value, total change). For comparing several indicators instead, use compare_series. |
| compare_seriesA | Compare SEVERAL indicators — possibly from different institutions — side by side. This is what makes cross-source questions answerable, e.g. TÜİK population against TCMB house prices. Frequency mismatches are reported explicitly and never silently resampled. Set normalize=true when units differ. |
| get_metadataA | Get the full definition of an indicator: unit, frequency, geography coverage, which dimensions you may override in get_series, the source dataset, and the official URL. Call this when get_series arguments are unclear. |
| get_sourcesA | List every institution VeriTR can reach, with live availability status. Use this when a query fails, to tell the user whether the problem is a missing API key, a provider outage, or an unsupported topic. |
| analyze_seriesA | Run deterministic statistics over a single series (growth rates, moving average, rebasing to 100, min/max/mean). Prefer this over doing the arithmetic yourself when the series has many observations — it avoids transcription errors. |
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 10 tools
Each tool has a distinct access pattern or comparison dimension: normalized indicators vs raw datasets, time-series vs single-snapshot, multi-region vs multi-indicator. The search tools are explicitly differentiated by when to use each.
All tool names follow a consistent snake_case verb_noun pattern: search_*, get_*, compare_*, analyze_series. The naming makes the action and target clear without ambiguity.
Ten tools is a well-scoped size for a data-access server. Each tool earns its place and covers a distinct query need without redundancy or bloat.
The surface covers the full read-only lifecycle: discovery, retrieval, comparison, metadata, source diagnostics, and lightweight analysis. No obvious dead ends or missing operations for the stated purpose.