The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Turkiye listing page.
Türkiye'nin kamu verisi, tek MCP sunucusunda. Claude, Cursor, VS Code, Codex ve MCP konuşan her asistan için: TCMB döviz kurları, TCMB EVDS istatistikleri (enflasyon, faiz, 40 binden fazla seri), BIST günlük fiyatlar, kripto TL fiyatları, AFAD ve Kandilli deprem katalogları, MGM hava durumu ve uyarıları, akaryakıt fiyatları, İstanbul anlık trafik indeksi, nöbetçi eczaneler (İstanbul, İzmir), İSPARK otopark doluluğu, İstanbul hava kalitesi, Metro İstanbul hat/istasyon/duyuruları, İzmir ESHOT canlı otobüs ve hal fiyatları, İBB/İzmir/Konya/Gaziantep açık veri portalları, Resmî Gazete fihristi ve metinleri, mevzuat.gov.tr'de kanun/yönetmelik arama ve madde madde güncel metin, resmî tatiller, ÖSYM sınav takvimi, resmî parametreler (asgari ücret, SGK taban/tavan), 81 il ve 973 ilçenin nüfus/yüzölçümü/plaka bilgisi, AA ve TRT haber başlıkları ve TCKN / VKN / IBAN biçim doğrulama — her yanıt kaynağı ve alınma zamanıyla birlikte.
Turkey's public data as one MCP server: central-bank FX rates, the central bank's EVDS statistics service (inflation, rates, 40,000+ series), Borsa İstanbul daily prices, crypto prices in lira, the national and Kandilli earthquake catalogues, state weather service observations, forecasts and warnings, district-level fuel prices, Istanbul's live traffic index, on-duty pharmacies (Istanbul, İzmir), İSPARK car-park occupancy, Istanbul air quality, Istanbul metro lines/stations/announcements, İzmir live buses and wholesale food prices, the Istanbul, İzmir, Konya and Gaziantep open-data portals (search, datasets, DataStore rows), the Official Gazette's daily index and article texts, consolidated legislation search and article-level text from mevzuat.gov.tr, public holidays, the national exam calendar, official annual figures (minimum wage, social-security floor/ceiling), province and district profiles, AA/TRT headlines and offline ID/tax/IBAN checksum validation. Every answer carries its source and fetch time.
Bağımsız projedir. mcp-turkiye hiçbir kamu kurumunun resmî hizmeti değildir. MIT lisansı yalnızca kodu kapsar; her veri kaynağının kendi kullanım şartı vardır (SOURCES.md) ve sunucunun kullanımı Kabul Edilebilir Kullanım politikasına tabidir.
Node.js 20+ yeterli; kurulacak başka bir şey yok. Anahtar yalnızca TCMB EVDS araçları için gerekir (ücretsiz, aşağıda); diğer her şey anahtarsız çalışır.
Claude Code
Claude Desktop — claude_desktop_config.json:
Cursor / VS Code — .cursor/mcp.json ya da .vscode/mcp.json:
Cline — MCP ayarlarında aynı mcpServers girdisi; Cline'a kurulumu kendisi yaptırmak için adım adım yönerge: llms-install.md.
Sonra asistanınıza Türkçe sorun:
"Bugünkü TCMB dolar satış kuru ne, hangi bültenden?" "Yıllık enflasyon kaç, politika faizi ne, son açıklanan ay hangisi?" "Son üç günde 4'ten büyük deprem oldu mu?" "Kadıköy'de hava nasıl, hafta sonu yağmur var mı?" "Bugün için meteorolojik uyarı var mı, Ankara'yı kapsıyor mu?" "Kandilli'ye göre son 24 saatte 3'ten büyük kaç deprem oldu?" "KPSS sonuçları ne zaman açıklanacak, ALES/3 başvurusu ne zaman?" "Bornova'da motorin kaç lira?" "İBB açık veride otopark verisi var mı, tablosunu göster." "Bugün Resmî Gazete'de hangi yönetmelikler çıktı, ilkini özetle." "KVKK'nın 6. maddesi ne diyor, özel nitelikli veri ne?" "2026 asgari ücret net kaç lira, SGK tavanı ne, hangi kanuna göre?" "İş Kanunu'nda ihbar süreleri hangi maddede, kaç hafta?" "THYAO son bir ayda ne yaptı, BIST 100'e göre?" "Yıllık enflasyon son 8 ayda nasıl seyretti?" (EVDS anahtarıyla) "İstanbul'da şu an trafik nasıl?" "29 Ekim 2026 hangi güne geliyor, iş günü mü?" "TR33 0006 1005 1978 6457 8413 26 geçerli bir IBAN mı, hangi banka?"
Her makineye kurmak yerine sunucuyu bir kez buluta koyup istemcileri URL ile bağlayabilirsiniz. Her sürümde imaj ghcr.io/berkantacun/mcp-turkiye adresine yayınlanır; yerleşik Streamable HTTP giriş noktası (dist/http.js) aynı araçları ve aynı zarfı /mcp yolunda sunar. Durumsuzdur (oturum kimliği yok), bu yüzden birden çok kopya arkasında da çalışır.
Docker olmadan: npm run build && HOST=127.0.0.1 PORT=8080 node dist/http.js (yerelde yalnızca kendi makinenizden erişilsin diye 127.0.0.1).
| Ortam değişkeni | Varsayılan | Ne yapar |
|---|---|---|
PORT | 8080 | Dinlenen port |
HOST | 0.0.0.0 | Dinlenen adres; IPv6 olmayan ortamlarda (Azure Container Apps) :: çalışmaz |
MCP_TURKIYE_API_KEY | — | Verilince her /mcp isteği X-API-Key başlığı ister, yoksa 401. Eski ad MCP_PROXY_API_KEY de geçerli |
MCP_TURKIYE_RATE_LIMIT | 60 | IP başına dakikadaki istek sınırı; aşılınca 429 ve Retry-After. 0 kapatır |
TRUST_PROXY | — | 1 iken istemci IP'si X-Forwarded-For'un en sağdaki girdisinden okunur; yalnızca güvenilir bir ters vekilin arkasında açın |
MCP_TURKIYE_ALLOWED_ORIGINS | — | Tarayıcıdan çağırmasına izin verilen kaynaklar, virgülle (* hepsi). Origin başlığı taşıyan ve listede olmayan istek 403 alır; MCP istemcileri bu başlığı göndermez, tarayıcılar (DNS rebinding dahil) gönderir |
GET /health anahtarsız 200 döner ve hız sınırına sayılmaz; sağlık yoklaması için.413 alır; SIGTERM'de sunucu yeni bağlantı almayı bırakır, süren istekleri bitirir (en fazla 10 sn).acikveri_* araçları Konya için hata döner, diğer kaynaklar çalışır (Azure Container Apps, Germany West Central'da denendi).Claude Desktop'ta tek makine için yukarıdaki yerel kurulum (npx) yeterlidir. Uzak bağlayıcı, sunucuyu claude.ai'de (web, mobil) ya da her makineye kurmadan kullanmak içindir. Bu proje herkese açık bir uç nokta işletmez; önce yukarıdaki imajla kendi sunucunuzu kurmanız gerekir.
Önkoşullar (Anthropic belgesi):
160.79.104.0/21'dir (IP adresleri); güvenlik duvarınızda bu aralığa izin verin.https://<alan-adınız>/mcp biçimindedir; aktarım Streamable HTTP'dir.Ekleme:
Anahtar (MCP_TURKIYE_API_KEY):
x-api-key'i seçip değere anahtarı olduğu gibi yazın. Bu özellik beta ve yalnızca bazı kuruluşlarda açık.X-API-Key gönderemez ve anahtarlı sunucu her isteğe 401 döner. Anahtarı kapatmak sunucuyu açık bir vekile çevirir (yukarıdaki uyarı). Bu durumda Claude Desktop'ta yerel kurulumu kullanın. Anahtarsız çalıştırmaya karar verirseniz en azından güvenlik duvarında yalnızca 160.79.104.0/21'e izin verin; bu aralık tüm Claude kullanıcılarının bağlayıcı trafiğidir, URL'yi bilen başka bir Claude kullanıcısı yine bağlanabilir.Bilmeniz gerekenler:
MCP_TURKIYE_RATE_LIMIT'i yükseltmeniz gerekebilir. Sunucu bir ters vekilin arkasındaysa TRUST_PROXY=1 verin, yoksa bütün istekler vekilin adresinden gelmiş sayılır.127.0.0.1, localhost) bir sunucu claude.ai'ye bağlanamaz: Anthropic'in sunucuları ona ulaşamaz. Claude Code ise bağlantıyı kendi makinenizden kurar; yerel sunucu için yukarıdaki claude mcp add --transport http komutunu kullanın.| Araç | Ne yapar | Ağ |
|---|---|---|
tcmb_kurlar | Günün (ya da verilen tarihin) TCMB gösterge kur bülteni, tüm para birimleri | TCMB |
tcmb_kur | Tek para biriminin kuru — birim alanına dikkat, JPY 100 birim için verilir | TCMB |
evds_kategoriler | EVDS konu ağacı (fiyatlar, faiz, kurlar, ödemeler dengesi, anketler, konut…) | TCMB EVDS* |
evds_veri_gruplari | Bir kategorideki veri grupları: kod, frekans, birim, tarih aralığı | TCMB EVDS* |
evds_seriler | Bir veri grubundaki seriler, ad filtresiyle | TCMB EVDS* |
evds_seri | Bir ya da birkaç serinin gözlemleri; formül (yıllık % değişim vb.), frekans ve toplama seçenekleri | TCMB EVDS* |
evds_gosterge | Başlıca göstergeler kod bilmeden, adıyla: yıllık/aylık enflasyon, ÜFE, politika faizi, dolar/euro/sterlin, konut fiyat endeksi, reel efektif kur; son değer ve tarih | TCMB EVDS* |
bist_hisse | Bir hissenin gün sonu fiyat geçmişi (kapanış, AOF, min/max, hacim, piyasa değeri) + aynı günün BIST 100 ve USD/TRY'si | İş Yatırım |
btcturk_kripto | Kripto varlıkların anlık TL (ya da USDT) fiyatı: son, alış/satış, günlük değişim, hacim; sembol listesi ya da hacme göre ilk 30 | BtcTurk |
afad_depremler | Tarih aralığı, en küçük büyüklük ve limitle deprem listesi; yeniden eskiye | AFAD |
kandilli_depremler | Kandilli Rasathanesi'nin son depremleri — AFAD'dan bağımsız ikinci katalog; ML/Mw/MD, ilksel/revize | Kandilli |
mgm_hava_durumu | İl/ilçe için anlık gözlem (sıcaklık, hissedilen, nem, rüzgâr, basınç, hadise) + 5 günlük tahmin | MGM |
mgm_uyarilar | Yürürlükteki meteorolojik uyarılar (kuvvetli yağış, fırtına, kar…) tam metniyle; il ile süz | MGM |
opet_akaryakit | İlçe bazında benzin/motorin/gazyağı/fuel oil pompa fiyatları; İstanbul iki yaka | Opet |
ibb_trafik_indeksi | İstanbul geneli anlık trafik yoğunluğu (0–100), her çağrıda taze | İBB |
ibb_nobetci_eczane | İstanbul'da bugün nöbetçi eczaneler: ad, ilçe, adres, telefon, konum; ilce ile süz | İBB |
ibb_otopark | İSPARK otoparkları anlık boş yer/doluluk; ilçe, ad ya da koordinata göre en yakından | İBB |
ibb_otopark_detay | Bir İSPARK otoparkının tarifesi, adresi, aylık abonelik ücreti | İBB |
ibb_hava_kalitesi | 28 istasyonda AQI, baskın kirletici, PM10/SO2/O3/NO2/CO; tek istasyon için 24 saatlik seri | İBB |
ibb_metro | Metro İstanbul hatları (ilk/son sefer) ve bir hattın sıralı istasyonları (asansör, tuvalet…) | İBB |
ibb_metro_duyurular | Metro İstanbul yolcu duyuruları: arıza, sefer düzenlemesi, kapalı istasyon | İBB |
izmir_nobetci_eczane | İzmir'de bugün nöbetçi eczaneler, bölgeye göre | İzmir BB |
izmir_hal_fiyatlari | İzmir toptancı hali günlük sebze-meyve / balık fiyatları (asgari, azami, ortalama) | İzmir BB |
izmir_otobus | Bir ESHOT durağına yaklaşan otobüsler, canlı: hat, kalan durak, konum | İzmir BB |
acikveri_ara | İBB, İzmir, Konya ya da Gaziantep açık veri portalında veri seti arama | 4 belediye |
acikveri_veriseti | Veri seti ayrıntısı: lisans, dosyalar, indirme bağlantıları, tablo servisi var mı | 4 belediye |
acikveri_kayitlar | Tablo servisi açık kaynağın sütun ve satırları (DataStore), sayfalama ve metin filtresi | 4 belediye |
resmi_gazete_fihrist | Günün Resmî Gazete fihristi: sayı, bölüm/tür, madde başlıkları ve bağlantıları | Resmî Gazete |
resmi_gazete_metin | Bir maddenin (yönetmelik, tebliğ, karar) düz metni, 20 bin karakterlik parçalarla | Resmî Gazete |
mevzuat_ara | Kanun, tüzük, yönetmelik, tebliğ, CB kararı/kararnamesi/genelgesi arama (başlık ya da tam metin) | mevzuat.gov.tr |
mevzuat_metin | Bir mevzuatın resmî güncel (konsolide) tam metni, madde listesiyle, parçalı | mevzuat.gov.tr |
mevzuat_madde | Tek bir madde: 6, 6/A, ek 1, geçici 3 — başlığıyla birlikte | mevzuat.gov.tr |
resmi_tatiller | Yılın resmî tatilleri: ulusal bayramlar + Diyanet takvimine göre dinî bayramlar (arefe yarım günleri dahil) | yok |
tatil_mi | Bir tarih hafta sonu mu, tatil mi, iş günü mü | yok |
osym_sinav_takvimi | ÖSYM takvimi: YKS, KPSS, ALES, YDS, DGS, TUS… başvuru, sınav, sonuç, tercih tarihleri; varsayılan yalnızca gelecek | ÖSYM |
resmi_parametreler | Yılın resmî sayıları, kaynağıyla: asgari ücret (günlük/aylık brüt, net), SGK prime esas kazanç taban/tavan | yok |
il_bilgisi | Bir ilin nüfusu, yüzölçümü, rakımı, plaka ve alan kodları, bölgesi, nüfusa göre ilçeleri | yok |
ilce_ara | İlçe adından il, nüfus, yüzölçümü; aynı adlı ilçelerin hepsi | yok |
iller_listesi | 81 il nüfusa/yüzölçümüne/plakaya göre sıralı, bölgeye göre süzülmüş | yok |
dogrula_tckn | T.C. Kimlik Numarası kontrol basamakları | yok |
dogrula_vkn | Vergi Kimlik Numarası kontrol basamağı | yok |
dogrula_iban | TR IBAN mod-97 kontrolü + banka kodu | yok |
plaka_il | Plaka kodu ↔ il, 81 il | yok |
haber_basliklari | AA ya da TRT Haber son haberleri: başlık, özet, bağlantı, zaman; kategori ve arama süzgeci | AA, TRT |
* EVDS araçları ücretsiz bir kişisel anahtar ister — bkz. TCMB EVDS anahtarı. Anahtar yoksa bu beş araç nereden alınacağını söyleyen bir hata döner, diğerleri etkilenmez.
Doğrulama araçları yalnızca biçim doğrular: kontrol basamakları hesaplanır, hiçbir kuruma sorulmaz, numara makineden çıkmaz. "Geçerli" bir numaranın gerçek bir kişiye ya da kuruma ait olduğu anlamına gelmez; her yanıt bunu açıkça söyler.
İstemcinizde slash komutu ya da menü olarak görünür:
| Prompt | Ne yapar |
|---|---|
gunun_ozeti | Kur, deprem, hava, trafik ve Resmî Gazete başlıklarını tek seferde toplayıp 10 satırlık günlük özet çıkarır (il isteğe bağlı) |
mevzuat_sorusu | Bir hukuki soruyu mevzuat.gov.tr metninden ilgili maddeyi çekip alıntılayarak, kaynağıyla yanıtlar |
EVDS, Merkez Bankası'nın istatistik servisidir (TÜFE, politika faizi, kurlar, konut fiyat endeksi, ödemeler dengesi, anketler — 40 binden fazla seri) ve ücretsiz bir kişisel anahtar ister:
Anahtarı MCP yapılandırmasında ortam değişkeni olarak ver:
Anahtar yalnızca EVDS isteklerinin key başlığında kullanılır; hiçbir yanıtta, günlükte ya da URL'de yer almaz. EVDS bir istekte en fazla 150 gözlem verir; daha uzun aralıklar için birden çok çağrı gerekir.
kaynak verinin geldiği kurum ve tam URL, alindi verinin çekildiği an. Bir kur ya da deprem listesi tarihsiz sunulursa "zamansız gerçek" gibi okunur; zarf bunu engeller. Kaynak yanıt vermezse araç hata döner — tahmini bir değer asla üretilmez, hangi kurumun yanıt vermediği söylenir.
alindi alanı verinin tam olarak ne zaman alındığını söyler.npm run test:live); format değişince CI kırmızıya döner, kullanıcının asistanı yanlış cevap vermeden.Sonraki adaylar: İETT hat/durak/sefer (SOAP), Ankara/İzmir baraj doluluk, TFF puan durumu, EPDK elektrik tarifeleri, GİB vergi takvimi. Diyanet namaz vakitleri resmî API anahtarı gerektirdiğinden beklemede. Bir kaynak eklemek bir klasör eklemektir: CONTRIBUTING.md.
Turkey's public data for AI agents, in one MCP server. Install with npx -y mcp-turkiye (Node 20+, no keys except for the optional EVDS tools). Forty-four tools today: central-bank FX bulletins (all currencies or one, today or any past date), live crypto prices in lira from BtcTurk, the central bank's EVDS statistics (topic tree, data groups, series and observations with formulas such as year-on-year change, plus headline indicators by name — inflation, PPI, policy rate, FX, house-price index, real effective exchange rate; needs a free EVDS_API_KEY), Borsa İstanbul daily price history, AFAD earthquake catalogue queries plus Kandilli Observatory's independent list, MGM current conditions and 5-day forecasts for any province or district and its active severe-weather warnings, Opet fuel pump prices per district, Istanbul's live traffic index, today's on-duty pharmacies in Istanbul and İzmir, live İSPARK car-park occupancy (nearest-first by coordinate), Istanbul air-quality stations with AQI and pollutant readings, Istanbul metro lines, stations and service announcements, İzmir's live ESHOT buses and daily wholesale produce/fish prices, CKAN open-data search/dataset/DataStore access for Istanbul, İzmir, Konya and Gaziantep, the Official Gazette's daily index and article text, legislation search plus consolidated full text and single-article lookup from mevzuat.gov.tr, public holidays with Diyanet's religious-holiday dates, business-day checks, ÖSYM's national exam calendar (university entrance, civil-service, graduate and language exams), official annual figures (minimum wage and social-security floor/ceiling, each with its Resmî Gazete issue or statute), offline province and district profiles (population, area, plate and area codes, regions), latest headlines from AA and TRT by category, and offline checksum validation of national ID numbers, tax numbers and IBANs plus province ↔ plate-code lookup. Every answer is an envelope with the source institution, the exact URL and the fetch time; a source that does not answer produces a tool error, never a guessed value. Tool descriptions are bilingual so English-speaking models use them correctly. For remote hosting, the Docker image ghcr.io/berkantacun/mcp-turkiye runs the built-in stateless Streamable HTTP entry (node dist/http.js) at /mcp with /health; set MCP_TURKIYE_API_KEY so every request needs an X-API-Key header, and requests are rate-limited per IP (60/min by default). Data licences: SOURCES.md. Acceptable use: ACCEPTABLE_USE.md.
Kod: MIT. Veri: her kaynağın kendi şartları, SOURCES.md.