kap-mcp
Borsa İstanbul için bir MCP sunucusu. Resmi KAP bildirimlerini, şirket profillerini, ek dosyaları ve Yahoo Finance piyasa/finansal verisini yapılandırılmış JSON olarak sunar. Yorum yapmaz, tavsiye vermez, grafik çizmez — bunlar bağlandığınız asistanın işidir.
Resmî değildir: Resmî olmayan, bağımsız bir projedir: resmî KAP/MKK veri yayın API'si ve Yahoo Finance verileri üzerine kurulmuştur; KAP, MKK (Merkezi Kayıt Kuruluşu), Borsa İstanbul veya Yahoo ile bir bağı yoktur, onlar tarafından onaylanmamış veya işletilmemektedir.
Endpoint
https://kapmcp.cagrigungor.com/mcp
Streamable HTTP, kimlik doğrulama yok, dakikada IP başına 120 istek. Tüm araçlar salt-okunur.
Bağlan
Claude Code
claude mcp add --transport http kap https://kapmcp.cagrigungor.com/mcp
Claude (web / masaüstü)
Settings → Connectors → Add custom connector → URL: https://kapmcp.cagrigungor.com/mcp
ChatGPT
Settings → Connectors → Developer mode → Create → MCP server URL: https://kapmcp.cagrigungor.com/mcp, Authentication: No authentication
Cursor / diğer istemciler
{
"mcpServers": {
"kap": { "url": "https://kapmcp.cagrigungor.com/mcp" }
}
}
Claude Code plugin
/plugin marketplace add hasancagrigungor/kapmcp
/plugin install kap@kap-mcp
Yerel kurulum
pip install kap-mcp-server
KAP_API_KEY=... kap-mcp # stdio
Ne yapar, ne yapmaz
| Yapar | Yapmaz |
| veri çeker, normalize eder, filtreler, sayfalar; oran / büyüme / karşılaştırma hesaplar; her sonuçta kaynak URL verir; PDF eklerden metin çıkarır |
“hisse alınır mı” demez, sıralama yapmaz, haber yorumlamaz, fiyat hedefi vermez, PNG/SVG grafik üretmez, rapor yazmaz |
Kaynaklar
- KAP — MKK Veri Yayın Kanalı (resmi REST API). Bildirim listesi/detayı, XBRL finansal tablolar, ekler, şirket ve fon sicili, bloklanmış bildirimler, hak kullanım durumları. Şu an MKK test ortamı (2023 sonu anlık görüntüsü); üretim erişimi IP yetkilendirmesi bekliyor.
- Yahoo Finance — fiyat, geçmiş, temel veriler, standart finansal tablolar, analist tahminleri, haber. BIST kodları otomatik
.IS alır.
Araçlar (25)
Referans
kap_status | Configuration and connectivity check. Call first when other tools fail to tell a |
get_reference_codes | Code tables used across tools: disclosure types/classes, member types, fund states/types, |
Şirketler (KAP)
search_companies | Find KAP members (companies, funds' founders, brokers…) by ticker or name and get their |
get_company | Company profile from KAP: name, tickers, member type, paid-in/registered capital, ISINs, |
Bildirimler (KAP)
search_disclosures | Search KAP disclosures by company, keywords, type/template and date range, newest first, |
get_disclosure | One disclosure with normalised metadata (company, ticker, published_at, subject, summary, |
search_disclosure_data | Find matching fields inside a disclosure's structured data (financial statement line |
get_blocked_disclosures | Disclosures KAP has withdrawn from public access (e.g. under KVKK) with the stated reason. |
Ek dosyalar (KAP)
get_disclosure_documents | List a disclosure's attachments (PDF/XLSX/…) with `attachment_id`, name and source_url. |
get_document_text | Extract text from a PDF/HTML/text attachment (in memory; nothing is stored). Binary |
search_documents | Find passages inside disclosure attachments and return short snippets with page numbers |
Finansallar (KAP filing + Yahoo)
get_financials | Income statement, balance sheet and cash flow in one normalised schema (revenue, |
get_metric_history | Time series of normalised financial metrics, oldest first, ready for tables and charts: |
get_financial_ratios | Deterministic ratios with the formula stated per item: margins, current/cash ratio, |
get_growth | Period-over-period change of one metric: current/previous period and value, absolute and |
compare_financials | Side-by-side values of metrics and ratios for several companies in one call. Rows are |
Kurumsal aksiyonlar
get_corporate_actions | Dividends, bonus/rights issues, capital changes, buybacks and general meetings for a company. |
Haberler (Yahoo)
get_company_news | News from Yahoo Finance's news module for a ticker or keyword: title, publisher, |
Piyasa verisi (Yahoo)
get_quote | Latest price data per symbol: last, previous close, change %, day and 52-week range, |
get_price_history | OHLCV candles with a computed summary (return, high/low, max drawdown, annualised |
get_market_overview | Snapshot of BIST 100/30, bank index, USD/TRY, EUR/TRY, gold, Brent, S&P 500, DAX and VIX |
get_price_reaction | Daily closes, returns and volume around an event date, plus excess return versus BIST 100. |
get_analyst_estimates | Third-party analyst consensus as published on Yahoo Finance: buy/hold/sell counts, mean/ |
Zaman çizelgesi
get_company_timeline | Chronological events for a company (newest first): KAP disclosures typed by KAP's own |
Fonlar (KAP)
search_funds | Investment funds registered on KAP (identity, type, class, state, founder, KAP URL), or one |
Örnek akışlar
| THYAO'nun son 3 aylık açıklamaları | search_disclosures(tickers=["THYAO"], start_date="…", include_details=true) |
| Sözleşme açıklamaları | search_disclosures(tickers=["ASELS"], query="sözleşme", query_scope="content") |
| Resmi bilançodan net kâr | get_financials(disclosure_id=…) → get_financial_ratios(disclosure_id=…) |
| THYAO vs PGSUS | compare_financials(tickers=["THYAO","PGSUS"], metrics=["revenue","net_margin","roe"]) |
| Ekteki rapor kapasite hakkında ne diyor | search_documents(disclosure_id=…, query="kapasite") |
| Bildirimden sonra hisse ne yaptı | get_price_reaction(disclosure_id=…) |
| İzleme | search_disclosures(since_id=…, order="asc") |
Sınırlar
- KAP liste servisi yalnızca index ile sayfalar (50/çağrı). Tarih ve anahtar kelime sorguları pencere tarar; yanıt
scan_complete, pages_scanned, next_cursor döner.
- Liste kaydındaki başlık gönderen adıdır; konu araması şablon kodu (
templates) veya query_scope="content" ile yapılır.
- Finansal zaman serisi Yahoo'dan gelir (bazı şirketler USD raporlar,
currency döner). Resmi KAP filing'i tek rapor bazında birebir parse edilir.
- Kurumsal aksiyon tutarları KAP gövdesinden ayrıştırılmaz; bildirim linki döner.
Sürüm 0.2.0.