turkiye-veri-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EVDS_API_KEY | No | Free API key from evds3.tcmb.gov.tr for EVDS tools. If not set, TUIK tools work but EVDS tools will return an explanatory message. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tuik_list_themesA | List TUIK statistical themes (top-level categories) with their ids. Args: lang: 'tr' for Turkish names, 'en' for English. |
| tuik_list_tablesA | List tables under a TUIK theme: SDMX 'dataflow' entries (use dataflow_id with tuik_get_data/tuik_download_data) or 'istab' file downloads (use url with tuik_download_table_file). Args: theme_id: Theme id from tuik_list_themes (e.g. '11'). lang: 'tr' or 'en'. resource_type: 'dataflow', 'istab', 'database' (legacy MEDAS/Biruni, link only), or 'all' (default: all three). |
| tuik_search_tablesA | Search TUIK table names across all themes (case-insensitive substring). Args: query: Search text, e.g. 'işgücü' or 'tüketici fiyat'. lang: Language of table names to search in ('tr' or 'en'). |
| tuik_describe_dataflowA | Describe a TUIK SDMX dataflow: dimensions, codelists, key template. Use before tuik_get_data when a dataflow refuses key='ALL' or to build a narrower key. The SDMX key joins one code per non-time dimension with dots, in position order; an empty slot means 'all' (e.g. 'TR..2021'). Args: dataflow_id: Three-part SDMX id, e.g. 'TR,DF_ADNKS_T26,1.0'. lang: Label language for codelists ('tr' or 'en'). |
| tuik_get_dataA | Fetch observations from a TUIK SDMX dataflow (all dimensions, full time span unless narrowed) and preview them in chat. Args: dataflow_id: Three-part SDMX id, e.g. 'TR,DF_ADNKS_T26,1.0'. key: SDMX key path ('ALL' or dot-separated codes like 'TR..2021'). start: Optional start period (e.g. '2010' or '2020-01'). end: Optional end period. max_rows: Rows to include in the preview (default 50). |
| tuik_download_dataA | Download a full TUIK SDMX dataset and write it as a tidy CSV file. Args: dataflow_id: Three-part SDMX id, e.g. 'TR,DF_ADNKS_T26,1.0'. output_path: Where to write the CSV (e.g. 'data/adnks_t26.csv'). key: SDMX key path ('ALL' or dot-separated codes). start: Optional start period. end: Optional end period. |
| tuik_download_table_fileA | Download an 'istab' table file (usually Excel) from the TUIK portal. Args: url: The url field of an istab row from tuik_list_tables/tuik_search_tables. output_path: Where to save the file (e.g. 'data/table.xlsx'). |
| tuik_get_table_dataA | Download an 'istab' Excel table and convert it to tidy long format. Handles TUIK's common layouts (title/footnote rows, year-per-sheet workbooks, crosstabs with label columns and period headers). Output columns: the table's own label columns plus 'donem' and 'deger'. Layouts vary, so check tidy_confidence; tuik_download_table_file always gets you the raw file instead. Args: url: The url field of an istab row from tuik_list_tables/tuik_search_tables. output_path: Optional CSV path; if given, the tidy table is written there. max_rows: Rows to include in the preview (default 50). |
| evds_categoriesA | List TCMB EVDS main categories (exchange rates, interest rates, inflation, balance of payments, surveys...). Args: lang: 'TR' or 'ENG'. |
| evds_datagroupsA | List or search EVDS datagroups (thematic bundles of series). Provide category_id to list one category's datagroups, query to search all datagroup names, or neither to list everything (truncated). Args: category_id: A category id from evds_categories (optional). query: Substring to search in datagroup names (optional). lang: 'TR' or 'ENG'. |
| evds_series_listA | List all series in an EVDS datagroup with codes and start dates. Args: datagroup_code: Datagroup code from evds_datagroups (e.g. 'bie_dkdovytl'). lang: 'TR' or 'ENG'. |
| evds_search_seriesA | Search EVDS series by name across every datagroup. EVDS has no server-side series search, so the first call walks all datagroups once (a few minutes) and caches the index locally; later searches are instant. Multiple words are ANDed. Args: query: Words to look for, e.g. 'konut fiyat' or 'issizlik'. lang: 'TR' or 'ENG'. limit: Maximum hits to return (default 50). refresh: Rebuild the index now instead of using the cache. The index also rebuilds itself automatically once it is a week old, so newly published TCMB series appear without any manual step. |
| evds_get_datagroup_dataA | Fetch every series in an EVDS datagroup at once (auto-chunked). Mirrors the website's 'download the whole datagroup' action. Large groups and long spans are split into several requests and stitched back together, so EVDS response limits do not silently truncate the result. Args: datagroup_code: Datagroup code from evds_datagroups (e.g. 'bie_dkdovytl'). start: Start date (dd-mm-yyyy or yyyy-mm-dd). output_path: Optional CSV path for the full table. end: End date (defaults to start). frequency: Target frequency name or code 1-8. aggregation: avg/min/max/first/last/sum. formula: Transformation name or code 0-8. max_rows: Rows in the preview (default 30). |
| evds_get_dataA | Fetch one or more EVDS series with full API features and preview in chat. Args: series: EVDS series codes, e.g. ['TP.DK.USD.A.YTL', 'TP.FG.J0']. start: Start date (dd-mm-yyyy or yyyy-mm-dd). end: End date (defaults to start). frequency: Target frequency: gunluk/isgunu/haftalik/ayda2/aylik/ ceyreklik/altiaylik/yillik (or codes 1-8). Empty = series default. aggregation: How to aggregate when reducing frequency: avg, min, max, first, last, sum. formula: Transformation: duzey, yuzde_degisim, fark, yillik_yuzde, yillik_fark, yilsonu_yuzde, yilsonu_fark, hareketli_ortalama, hareketli_toplam (or codes 0-8). Empty = level. max_rows: Rows in the preview (default 50). |
| evds_download_dataA | Fetch EVDS series and write them as a tidy CSV file (for analysis pipelines). Same parameters as evds_get_data. Args: series: EVDS series codes. start: Start date (dd-mm-yyyy or yyyy-mm-dd). output_path: Where to write the CSV (e.g. 'data/usd_try.csv'). end: End date (defaults to start). frequency: Target frequency name or code 1-8. aggregation: avg/min/max/first/last/sum. formula: Transformation name or code 0-8. |
| usage_statsA | Show how much this MCP server has been used (this instance's log). Counts tool calls, not people: one session calling several tools logs several lines. On a hosted free-tier deployment the count resets on redeploy/restart, so treat it as a rough activity signal, not a durable total. Anthropic does not expose per-connector usage to server owners, so this local counter is the closest available substitute. Args: days_recent: Size of the "recent" window in days (default 7). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahmthamza/turkiye-veri-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server