İhale MCP: Türkiye Kamu İhaleleri için MCP Sunucusu
Bu proje, Türkiye'deki kamu ihalelerine (ekap.kik.gov.tr
) erişimi kolaylaştıran bir FastMCP sunucusu oluşturur. Bu sayede, EKAP v2 portalından ihale arama, ihale detaylarını getirme ve ihale duyurularını Markdown formatında alma işlemleri, Model Context Protocol (MCP) destekleyen LLM (Büyük Dil Modeli) uygulamaları (örneğin Claude Desktop veya 5ire) ve diğer istemciler tarafından araç (tool) olarak kullanılabilir hale gelir.
🎯 Temel Özellikler
EKAP v2 portalına programatik erişim için standart bir MCP arayüzü.
Aşağıdaki yetenekler:
Detaylı İhale Arama: İhale adı/içeriği, IKN numarası, ihale türü, il, tarih aralıkları ve 17+ boolean filtre ile kapsamlı arama.
İhale Detayları: Belirli bir ihalenin tam detaylarını (özellikler, OKAS kodları, idare bilgileri, işlem kuralları) getirme.
İhale Duyuruları: İhale ile ilgili tüm duyuruları (Ön İlan, İhale İlanı, Sonuç İlanı vb.) otomatik HTML-to-Markdown dönüşümü ile getirme.
OKAS Kod Arama: Türk kamu alım sınıflandırma kodlarında arama yapma.
İdare Arama: Bakanlık, belediye, üniversite gibi kamu kurumlarını arama.
İlan.gov.tr Entegrasyonu: Resmi devlet ilanları, UYAP e-satış, icra/mahkeme satışları, kamu personel duyuruları ve tebligat aramalar.
İhale metinlerinin LLM'ler tarafından daha kolay işlenebilmesi için HTML'den Markdown formatına çevrilmesi.
Claude Desktop uygulaması ile kolay entegrasyon.
İhale MCP, 5ire gibi Claude Desktop haricindeki MCP istemcilerini de destekler.
🚀 Claude Haricindeki Modellerle Kullanmak İçin Çok Kolay Kurulum (Örnek: 5ire için)
Bu bölüm, İhale MCP aracını 5ire gibi Claude Desktop dışındaki MCP istemcileriyle kullanmak isteyenler içindir.
Python Kurulumu: Sisteminizde Python 3.11 veya üzeri kurulu olmalıdır. Kurulum sırasında "Add Python to PATH" (Python'ı PATH'e ekle) seçeneğini işaretlemeyi unutmayın. Buradan indirebilirsiniz.
Git Kurulumu (Windows): Bilgisayarınıza git yazılımını indirip kurun. "Git for Windows/x64 Setup" seçeneğini indirmelisiniz.
uv
Windows Kullanıcıları (PowerShell): Bir CMD ekranı açın ve bu kodu çalıştırın:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Mac/Linux Kullanıcıları (Terminal): Bir Terminal ekranı açın ve bu kodu çalıştırın:
curl -LsSf https://astral.sh/uv/install.sh | sh
Microsoft Visual C++ Redistributable (Windows): Bazı Python paketlerinin doğru çalışması için gereklidir. Buradan indirip kurun.
İşletim sisteminize uygun 5ire MCP istemcisini indirip kurun.
5ire'ı açın. Workspace -> Providers menüsünden kullanmak istediğiniz LLM servisinin API anahtarını girin.
Tools menüsüne girin. +Local veya New yazan butona basın.
Tool Key:
ihalemcp
Name:
İhale MCP
Command:
uvx --from git+https://github.com/saidsurucu/ihale-mcp ihale-mcpSave butonuna basarak kaydedin.
Şimdi Tools altında İhale MCP'yi görüyor olmalısınız. Üstüne geldiğinizde sağda çıkan butona tıklayıp etkinleştirin (yeşil ışık yanmalı).
Artık İhale MCP ile konuşabilirsiniz.
⚙️ Claude Desktop Manuel Kurulumu
Ön Gereksinimler: Python,
uv
, (Windows için) Microsoft Visual C++ Redistributable'ın sisteminizde kurulu olduğundan emin olun. Detaylı bilgi için yukarıdaki "5ire için Kurulum" bölümündeki ilgili adımlara bakabilirsiniz.Claude Desktop Settings -> Developer -> Edit Config.
Açılan
claude_desktop_config.json
dosyasınamcpServers
altına ekleyin:{ "mcpServers": { "İhale MCP": { "command": "uvx", "args": [ "--from", "git+https://github.com/saidsurucu/ihale-mcp", "ihale-mcp" ] } } }Claude Desktop'ı kapatıp yeniden başlatın.
🛠️ Kullanılabilir Araçlar (MCP Tools)
Bu FastMCP sunucusu LLM modelleri için aşağıdaki araçları sunar:
search_tenders
: EKAP v2 portalında kapsamlı ihale arama yapar.Ana Parametreler:
search_text
,ikn_year
,ikn_number
,tender_types
,tender_date_start/end
,announcement_date_start/end
Boolean Filtreler:
e_ihale
,ortak_alim_mi
,kismi_teklif_mi
,yabanci_isteklilere_izin_veriliyor_mu
ve 13+ daha fazla filtreListe Filtreleri:
provinces
,tender_statuses
,tender_methods
,okas_codes
,authority_ids
,proposal_types
,announcement_types
Arama Kapsamı:
search_in_title
,search_in_announcement
,search_in_tech_spec
vb. 11 farklı alanDöndürdüğü Değer: Sayfalanmış ihale listesi, toplam sonuç sayısı
search_okas_codes
: OKAS (kamu alım sınıflandırma) kodlarında arama yapar.Parametreler:
search_term
,kalem_turu
(1=Mal, 2=Hizmet, 3=Yapım),limit
Döndürdüğü Değer: OKAS kodları, açıklamaları ve kategorileri
search_authorities
: Türk kamu kurumlarında arama yapar.Parametreler:
search_term
,limit
Döndürdüğü Değer: Kurum ID'leri, isimleri ve hiyerarşik bilgileri
get_recent_tenders
: Son N gündeki ihaleleri getirir.Parametreler:
days
(1-30),tender_types
,limit
Döndürdüğü Değer: Yakın tarihli ihale listesi
get_tender_announcements
: Belirli bir ihalenin tüm duyurularını getirir.Parametreler:
tender_id
,include_html
Döndürdüğü Değer: Otomatik HTML-to-Markdown dönüştürülmüş ihale duyuruları
get_tender_details
: Belirli bir ihalenin kapsamlı detaylarını getirir.Parametreler:
tender_id
Döndürdüğü Değer: İhale özellikleri, OKAS kodları, idare bilgileri, işlem kuralları ve otomatik markdown'a çevrilmiş duyuru özetleri
search_ilan_ads
: İlan.gov.tr'de resmi devlet ilanlarında arama yapar.Parametreler:
search_text
,city_plate
,ad_type_filter
,ad_source_filter
,publish_date_min/max
,price_min/max
İlan Türleri: İCRA, İHALE, TEBLİGAT, PERSONEL
İlan Kaynakları: UYAP (E-SATIŞ icra/mahkeme satışları), BIK (Basın İlan Kurumu)
Döndürdüğü Değer: Resmi devlet ilanları, kategori bilgileri, şehir sayıları
get_ilan_ad_detail
: Belirli bir ilan için detaylı bilgileri getirir.Parametreler:
ad_id
Döndürdüğü Değer: İlan başlığı, otomatik HTML-to-Markdown çevrilmiş içerik, ilan veren kurum bilgileri, lokasyon, kategoriler
🧩 Doğrudan Temin (Direct Procurement – Doğrudan Temin) Araçları
Doğrudan Temin ekranındaki filtrelerle uyumlu ek MCP araçları:
search_direct_procurements
: Doğrudan Temin listesi (Direct Procurement list).Önemli Parametreler (English with Türkçe):
year (Yıl)
,dt_no / dt_number (DT No / DT Sayı)
dt_type (Tür)
: 1=Goods (Mal), 2=Construction (Yapım), 3=Service (Hizmet), 4=Consultancy (Danışmanlık)e_price_offer (E‑Fiyat Teklifi)
→eihale=true/false
status_id/status_text (Durum)
: 202=Doğrudan Temin Duyurusu Yayımlanmış, 3=Teklifler Değerlendiriliyor, 4=Doğrudan Temin Sonuçlandırıldı, 5=Sonuç Bilgileri Gönderildi, 15=Sonuç Duyurusu Yayımlanmışdate_start/date_end (Teklif tarihi)
→dtTarihiBaslangic/Bitis
province_plate/province_name (İl)
scope_id/scope_text (Kapsam)
: 101=4734, 102=İstisna, 103=Kapsam Dışıauthority_id (İdare ID token)
(idareAra’dan),parent_authority_code (Bağlı Olduğu Üst İdare / ustIdareKod)
Not: Bazı filtreler (Durum/Kapsam/İdare) oturum gerektirebilir. Gerekirse
cookies
(Çerez) header değeri verilebilir; istemci ayrıca otomatik ısınma (warm‑up) yapar.
get_direct_procurement_details
: DT detayları (Details) –dogrudanTeminId (E10)
+idareId (E11)
ile.search_direct_procurement_authorities
: İdare (Authority) araması; dönentoken
,search_direct_procurements
içindeauthority_id
olarak kullanılır.search_direct_procurement_parent_authorities
: Üst İdare (Parent Authority) araması; dönentoken
,parent_authority_code (ustIdareKod)
olarak kullanılır.
Örnek (Examples)
İhale Türleri
1 - Mal: Malzeme ve ekipman alımları
2 - Yapım: İnşaat ve altyapı projeleri
3 - Hizmet: Hizmet sözleşmeleri
4 - Danışmanlık: Danışmanlık hizmetleri
Örnek Kullanımlar
EKAP v2 İhaleleri
Pazar Araştırması: Belirli sektör veya bölgelerdeki fırsatları takip etme
Uygunluk İzleme: Mevzuata uygunluk için ihale duyurularını takip etme
İş Zekası: Kamu harcama modellerini ve trendlerini analiz etme
Bildirim Sistemleri: Belirli ihale türleri için uyarı sistemleri kurma
Veri Analizi: Araştırma ve analiz için ihale verilerini çıkarma
İlan.gov.tr Resmi İlanları
UYAP E-SATIŞ Takibi: İcra dairesi ve mahkeme satışlarını izleme
Personel Duyuruları: Kamu personel alım ilanlarını takip etme
Tebligat İzleme: Resmi tebligat ve duyuruları takip etme
Belediye İhaleleri: Yerel yönetim ihale ilanlarını izleme
Emlak Satışları: Kamu kurumlarının emlak satış ilanları
Yeni Özellikler
✅ 17+ Boolean Filtre: e-İhale, ortak alım, kısmi teklif, yabancı katılım vb. ✅ Liste Filtreleri: İller, ihale durumları, usulleri, OKAS kodları, idare ID'leri ✅ Arama Kapsamı Kontrolü: IKN, başlık, duyuru, teknik şartname vb. alanlarda arama ✅ İdare Arama: 72,000+ kamu kurumunda arama (bakanlık, belediye, üniversite) ✅ İhale Duyuruları: Otomatik HTML-to-Markdown dönüşümü ile tam duyuru metinleri ✅ Kapsamlı İhale Detayları: Tüm ihale metadata'sı, özellikler, kurallar bir arada ✅ İlan.gov.tr Entegrasyonu: 20,000+ resmi devlet ilanı aramalar ✅ UYAP E-SATIŞ: 46,000+ icra/mahkeme satış ilanlarına özel erişim ✅ İlan Detayları: Otomatik HTML-to-Markdown dönüşümü ile tam ilan içerikleri ✅ Çoklu İlan Türü: İCRA, İHALE, TEBLİGAT, PERSONEL kategorileri
API Hız Limitleri
Bu sunucu EKAP portalının hız limitlerini gözetir. Üretim kullanımı için aşağıdakileri göz önünde bulundurun:
API çağrılarını azaltmak için istek önbellekleme
Üstel geri çekilme ile yeniden deneme mantığı
Yüksek hacimli kullanım için istek sırası
📜 Lisans
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE
dosyasına bakınız.
Sorumluluk Reddi
Bu, Türk hükümetinin EKAP portalı ile resmi olmayan bir entegrasyondır. Kullanıcılar portalın hizmet şartlarına ve geçerli düzenlemelere uymakla yükümlüdür. Yazarlar Türk hükümeti veya EKAP portalı ile bağlantılı değildir.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Enables users to search and access Turkish public procurement data from EKAP v2 portal. Provides comprehensive tender search, detailed tender information, announcements, and authority/classification code lookups through natural language interactions.
Related MCP Servers
- -securityFlicense-qualityA Model Control Protocol server that provides access to Turkey's Public Disclosure Platform (KAP) data, including company information, financial reports, market announcements, and sector information.Last updated -2
- AsecurityAlicenseAqualityA FastMCP server providing access to various Turkish legal databases including Supreme Court, Council of State, Constitutional Court, and Public Procurement Authority decisions through a standardized MCP interface for LLM applications.Last updated -21520MIT License
- AsecurityAlicenseAqualityA FastMCP server providing access to the Turkish Ministry of Justice's Legislative Information System, allowing LLM applications to search legislation, retrieve article lists, and get article contents in Markdown format.Last updated -391MIT License
- AsecurityAlicenseAqualityProvides programmatic access to Israeli Land Authority (רמ״י) public tender data, allowing comprehensive search and filtering of land tenders by type, location, status, and dates.Last updated -77MIT License