Skip to main content
Glama
tufankoc
by tufankoc

🚀 Finans MCP Server — BIST & Türkiye Piyasaları Yapay Zekâ Analiz Sunucusu

License: MIT Python 3.10+ FastMCP 3.0 MCP Registry BIST 100 Uyumlu

Finans MCP, Claude Desktop, Antigravity, Cursor, Windsurf, Roo Code ve tüm LLM/MCP istemcileri için geliştirilmiş, Borsa İstanbul (BIST), BDDK Bankacılık Sektör Verileri, TEFAS Yatırım Fonları, TCMB EVDS Makro Göstergeleri, KAP Bildirimleri, Aracı Kurum Konsensüs Tahminleri, Monte Carlo Simülasyonu ve Markowitz Portföy Optimizasyonu sunan açık kaynaklı kurumsal finans zekâ sunucusudur.


🌟 Neden Finans MCP?

  • 📈 62 BIST Aracı Kurumunun Doğrulanmış Portal Bağlantıları: İş Yatırım, Garanti BBVA, Ak Yatırım, Yapı Kredi, Gedik, QNB Finans, Osmanlı Menkul, GCM, Ahlatcı ve daha fazlası.

  • 🏛️ BDDK Türk Bankacılık Sektör Rasyoları (bddkR Uyumlu): Bilanço, Kredi/Mevduat, Takipteki Alacak (NPL), SYR ve ROE rasyoları.

  • 🎯 Analist Konsensüsü & Sapma (Contrarian) Analizi: Hedef fiyat ortalamaları, medyanlar, AL/TUT/SAT dağılımı ve konsensüsten ayrışan aykırı analist görüşleri (Z-skor > |1.5|).

  • 🎲 Monte Carlo & Markowitz Portföy Optimizasyonu: Geometric Brownian Motion ile 2,500 patika simülasyonu, VaR/CVaR risk hesaplaması ve optimal Sharpe oranlı portföy ağırlıkları.

  • 🏛️ TCMB EVDS Makro & TEFAS Fon Analizi: Politika faizi, TÜFE/ÜFE enflasyonu, TCMB net rezervleri, döviz kurları ve TEFAS fon fiyatları/AUM verileri.

  • 🌩️ Makro Stres Testi & Karar Denetim Defteri (Verdict Matrisi): Portföyü BIST çöküşü (%-30), kur şoku (%+25) ve stagflasyonda simüle etme; geçmiş yatırım kararlarını Doğru/Yanlış Gerekçe × Sonuç matrisiyle denetleme.

  • ⚖️ 6362 Sayılı SPK Kanunu Uyumlu: Bilgi Suistimali (Md. 106), Piyasa Dolandırıcılığı (Md. 107) ve Tebliğ III-52.1 uyarınca entegre yasal mevzuat koruması.


Related MCP server: market-data-mcp

⚡ Hızlı Kurulum Rehberi (3 Seçenek)

Seçenek 1: Sadece Prompt ile Kurulum (Yapay Zekâya Verin - En Kolay)

Yapay zekânıza (Claude, Antigravity, Cursor, Roo Code) aşağıdaki komutu verin:

"https://github.com/tufankoc/finans-mcp reposunu incele ve PROMPT_KURULUM.md dosyasındaki adımları izleyerek Finans MCP sunucusunu bilgisayarıma kur."

Seçenek 2: Tek Satır UVX / PIPX ile Çalıştırma (Sıfır Kurulum)

Sisteminize hiçbir şey kurmadan doğrudan çalıştırmak için MCP istemci konfigürasyonunuza (claude_desktop_config.json veya mcp_config.json) ekleyin:

{
  "mcpServers": {
    "finans-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/tufankoc/finans-mcp.git",
        "finans-mcp"
      ]
    }
  }
}

Seçenek 3: Terminalden 1-Komutla Kurulum (Yerel Kurulum)

git clone https://github.com/tufankoc/finans-mcp.git && cd finans-mcp && ./install.sh

🎯 Maksimum Verim Almak İçin İstem Rehberi (Master Prompt)

Finans MCP sunucusunun 19 aracını tam verimle çalıştırmak için yapay zekanıza (Claude, Antigravity, Cursor) şu istemi yapıştırabilirsiniz:

"Sen Borsa İstanbul (BIST), BDDK Bankacılık Sektörü, TEFAS Fonları ve Türkiye Makroekonomisi alanında uzmanlaşmış Kıdemli Kurumsal Yatırım Danışmanısın. Benim sorularımda openbb_hisse_analiz, konsensus_analiz, kap_son_bildirimler, monte_carlo_simulasyonu, markowitz_portfoy_optimizasyonu, stres_testi_simulasyonu, tcmb_evds_gostergeler, bddk_bankacilik_verileri araçlarını zincirleme çalıştır; Temel, Teknik, ICT/SMC, Wyckoff ve Karar Matrisi boyutlarıyla raporla."

Detaylı sorular ve kullanım rehberi için PROMPT_KULLANIM.md rehberini inceleyin.


🛠️ Sunucu Araçları (MCP Tools - 19 Araç)

Tool

İşlev

Örnek Yapay Zekâ İsteği

araci_kurum_listesi

Tüm 62 BIST üyesi aracı kurumun canlı doğrulanmış (200 OK) araştırma portal URL'lerini sunar.

"BIST aracı kurumlarının araştırma sitelerini listele."

rapor_indir

Belirtilen tarih ve kurum için rapor verilerini çeker ve Yıl/Ay/Gün klasörüne kaydeder.

"İş Yatırım'ın bugünkü raporlarını indir."

konsensus_analiz

Hisseler için ortalama hedef fiyat, medyan, AL/TUT/SAT dağılımı ve konsensüs skoru hesaplar.

"THYAO için aracı kurumların hedef fiyat konsensüsünü getir."

korelasyon_raporu

Aracı kurumlar arasındaki tahmin korelasyonunu (Pearson $r$) karşılaştırır.

"Garanti ile Ak Yatırım arasındaki tahmin korelasyonunu çıkar."

sapma_analizi_raporu

Konsensüsten belirgin şekilde ayrışan (Z-skor > |1.5|) kontrarian analist görüşlerini saptar.

"Piyasadan ayrışan aykırı analist tahminlerini raporla."

veri_durumu

Veri klasöründeki arşiv durumunu, toplam dosya ve tarih özetini raporlar.

"İndirilmiş rapor arşiv durumunu göster."

openbb_hisse_analiz

OpenBB & YFinance ile BIST ve küresel hisselerin temel rasyolarını (F/K, PD/DD, Temettü) getirir.

"GARAN ve EREGL temel rasyolarını karşılaştır."

openbb_makro_gostergeler

OpenBB entegrasyonu ile Dolar/TL, Euro/TL, BIST100, Altın, Petrol ve S&P500 makro verilerini sunar.

"Güncel kur, enflasyon ve BIST100 makro tablosunu çıkar."

monte_carlo_simulasyonu

Geometric Brownian Motion (Boyle 1977) ile 2,500 patika simüle ederek Ayı/Boğa senaryolarını ve VaR/CVaR hesaplar.

"THYAO hissesi için 250 günlük Monte Carlo simülasyonu yap."

markowitz_portfoy_optimizasyonu

Markowitz Modern Portföy Teorisi (1952) ile 10,000 portföy simüle eder ve optimal Sharpe oranlı ağırlıkları bulur.

"THYAO, GARAN, KCHOL, TUPRS için optimal Markowitz portföyünü hesapla."

kap_son_bildirimler

Kamuyu Aydınlatma Platformu (KAP) üzerinden şirket açıklamalarını (ÖDA, Bilanço, Temettü) orijinal URL'leri ile çeker.

"THYAO için son KAP açıklamalarını getir."

kap_insider_islemleri

KAP pay alım/satım bildirimlerini (yönetim kurulu üyeleri ve büyük ortak işlemleri) süzerek raporlar.

"Son insider pay alım satımlarını raporla."

spk_yasal_uyum_denetimi

6362 sayılı SPK Kanunu (Md. 106/107) ve Tebliğ III-52.1 uyarınca sistemin yasal koruma ve mevzuat denetimini sunar.

"SPK yasal uyum raporunu getir."

portfoy_risk_analizi

Portföyün Sharpe, Sortino, Max Drawdown, Alfa ve HHI Yoğunlaşma İndeksini hesaplar.

"Portföyümün Sharpe, Sortino ve HHI skorunu hesapla."

stres_testi_simulasyonu

Portföyü BIST çöküşü, kur şoku, faiz artışı ve stagflasyon kriz senaryolarında simüle eder.

"Portföyü BIST çöküşü kriz senaryosunda simüle et."

tcmb_evds_gostergeler

TCMB EVDS ve TÜİK verileri ile Politika Faizi, TÜFE/ÜFE, Rezervler ve Kur göstergelerini sunar.

"TCMB politika faizi ve net rezerv verilerini getir."

tefas_fon_analiz

TEFAS fon fiyatları, AUM (yönetilen varlık büyüklüğü), yatırımcı sayısı ve getirilerini raporlar.

"TI4 fonunun detaylarını ve yıllık getirisini göster."

karar_denetim_defteri

Geçmiş yatırım kararlarını Verdict Matrisi (Doğru/Yanlış Gerekçe × Sonuç) ile denetler ve kalibrasyon skoru üretir.

"Geçmiş yatırım kararlarımın Verdict Matrisi analizini yap."

bddk_bankacilik_verileri

BDDK Türk Bankacılık Sektörü Bilanço, Krediler, Takipteki Alacak Oranı (NPL), SYR ve ROE verilerini sunar.

"BDDK mevduat ve kamu bankacılığı sektörü rasyolarını getir."


🌐 MCP Registry & Ekosistem Kayıtları

Finans MCP aşağıdaki küresel MCP dizinlerinde yayınlanmıştır:

  • Smithery.ai: smithery.json entegrasyonu ile tek tıkla yükleme.

  • Glama.ai: glama.json entegrasyonu ile listelenmiştir.


⚖️ Yasal Uyarı (SPK Disclaimer)

Yasal Uyarı: Bu sunucu ve araçlar tarafından sağlanan veri, analiz ve raporlar yatırım danışmanlığı kapsamında değildir. Yatırım danışmanlığı hizmeti; aracı kurumlar, portföy yönetim şirketleri, mevduat kabul etmeyen bankalar ile müşteri arasında imzalanacak yatırım danışmanlığı sözleşmesi çerçevesinde sunulmaktadır. Burada yer alan görüş ve analizler genel niteliktedir ve sadece bilgilendirme amacı taşımaktadır.


📜 Lisans

Bu proje MIT Lisansı ile lisanslanmıştır. Özgürce kullanılabilir, geliştirilebilir ve dağıtılabilir.

Available Tools

18 tools
araci_kurum_listesiA

Sistemde kayıtlı tüm aracı kurumları ve araştırma portalı kaynaklarını listele.

Borsa İstanbul üye kodları, araştırma portalları (Portal 1 & Portal 2), hedef fiyat takip URL'leri ve Python kütüphane ipuçlarını döndürür.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses the output contents and scope ('all registered'), but does not mention error behavior, performance, authentication needs, or whether the operation is read-only, which is notable for a tool without annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The main purpose is front-loaded, and each sentence adds specific, useful detail about what the tool returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter listing tool, the description adequately covers scope and output contents. The presence of an output schema (per context signals) handles structural details, so the description is complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is trivially complete. The description adds value by enumerating the output data (codes, URLs, tips), providing context beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all registered brokerage firms and research portal resources, and specifies the exact data returned (BIST member codes, research portals, target price URLs, Python library tips). This specific verb+resource combination distinguishes it from sibling analytical tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when broker or research portal data is needed, but it does not explicitly mention alternatives or when-not-to-use scenarios. It lacks clear exclusions or comparisons with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kap_insider_islemleriA

KAP üzerinden yönetim kurulu üyeleri ve büyük ortakların pay alım/satım (Insider) bildirimlerini listele.

ParametersJSON Schema
NameRequiredDescriptionDefault
hisse_koduNoHisse kodu (ör: THYAO, AKBNK). Boş bırakılırsa genel.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It identifies the data source (KAP) and the filtered population (board members and major shareholders), and 'listele' implies a read-only operation. However, it does not mention pagination, ordering, time range, or any limitations, which keeps it at a mid-range score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no filler. It clearly states the action, resource, and source, and the parenthetical '(Insider)' adds useful clarification without extra length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, single-optional-parameter list tool, the description is largely sufficient: it states the domain, subject, and action, and the output schema covers return structure. A minor gap is the lack of explicit mention of whether all historical disclosures or only recent ones are returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of the single parameter, and the hisse_kodu description includes examples and default behavior. The tool description adds no additional parameter information, so the schema-driven baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('listele') and a clear resource: share buy/sell (Insider) disclosures by board members and major shareholders via KAP. This clearly distinguishes it from the sibling tool kap_son_bildirimler, which covers general KAP notifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites. The intended use case is only implied by the resource type, and there is no differentiation from kap_son_bildirimler or other KAP-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kap_son_bildirimlerA

Kamuyu Aydınlatma Platformu (KAP) üzerinden şirket açıklamalarını ve bildirimlerini çek.

Özel Durum Açıklamaları (ÖDA), Finansal Raporlar, Temettü ve Sermaye Artırımı bildirimlerini orijinal KAP URL'leri ile getirir.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoGetirilecek maksimum bildirim sayısı (varsayılan 10)
hisse_koduNoHisse kodu (ör: THYAO, GARAN). Boş bırakılırsa tüm piyasa.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It adds useful context by noting output includes original KAP URLs, but lacks explicit statements about read-only nature, pagination, or limitations. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary function and a concise list of notification types. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage and an output schema present, the description sufficiently covers the tool's scope. It could be more explicit about filtering behavior, but the schema handles that, making the overall context complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with clear descriptions (limit and hisse_kodu), including defaults and examples. The description adds no additional parameter semantics beyond what the schema already provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches company announcements and notifications from KAP, listing specific types (ÖDA, financial reports, dividends, capital increases) and mentioning original URLs. This distinguishes it from sibling tools like 'kap_insider_islemleri'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when KAP announcements are needed, but it does not explicitly say when to use this tool vs alternatives like 'kap_insider_islemleri'. No exclusions or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

karar_denetim_defteriB

Geçmiş yatırım kararlarını Verdict Matrisi (Doğru/Yanlış Gerekçe x Sonuc) ile denetle ve kalibrasyon skoru üret.

ParametersJSON Schema
NameRequiredDescriptionDefault
islem_gecmisi_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the tool audits and produces a score, but it does not disclose whether it is read-only, whether it uses only the provided JSON, whether any data is stored or sent externally, or what side effects (if any) exist. For an analytic tool, this is sparse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff or repetition of the tool name. It front-loads the core action and outcome. However, it is so terse that it omits operational details, which is a minor structural weakness, but it remains appropriately compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter, no annotations, and no explanation of the input format, the description is incomplete for an agent to invoke the tool correctly. The output schema exists, but the description still does not cover the decision-history input or how to interpret the calibration score. Sibling tools do not clarify this tool's boundaries.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, islem_gecmisi_json, has zero schema description coverage and the description never mentions it. The phrase 'geçmiş yatırım kararları' hints at the intended content, but the expected JSON structure, format, and how the parameter is used to generate the calibration score are completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('denetle' = audit) and names the resource ('geçmiş yatırım kararları' = past investment decisions) and the output ('kalibrasyon skoru' = calibration score). The 'Verdict Matrisi' detail differentiates this tool from sibling tools like sapma_analizi_raporu, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for auditing past investment decisions, but it does not explicitly state when to use it versus alternatives, nor does it mention exclusions or compare with related sibling tools such as sapma_analizi_raporu or portfoy_risk_analizi. Usage context is only implied through the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

konsensus_analizA

Tüm aracı kurumların hedef fiyatlarını çapraz karşılaştır ve konsensüs skoru üret.

İndirilen raporlardaki hedef fiyatları sentezleyerek:

  • Ortalama / medyan / en yüksek / en düşük hedef fiyat

  • AL/TUT/SAT dağılımı

  • Konsensüs skoru (-1 ile +1 arası)

  • Standart sapma (analistler arası uyum derecesi)

ParametersJSON Schema
NameRequiredDescriptionDefault
hisse_koduNoBelirli bir hisse kodu (ör: THYAO). Boş bırakılırsa tüm hisseler.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the output metrics (average/median/high/low, AL/TUT/SAT distribution, consensus score range, standard deviation) and the dependency on previously downloaded reports. This goes beyond basic safety traits and gives useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: an imperative first sentence, followed by a clear bullet list of outputs. No filler or redundant phrasing. It front-loads the core purpose immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are handled. The description covers the input context (downloaded reports), the optional parameter behavior (via schema), and the main output components. It could mention edge cases like missing reports, but given the output schema and simple input, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the only parameter (hisse_kodu) with a description and example, achieving 100% schema coverage. The tool description adds no parameter-specific nuance beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: "Tüm aracı kurumların hedef fiyatlarını çapraz karşılaştır ve konsensüs skoru üret" (cross-compare all brokerages' target prices and generate a consensus score). It distinguishes itself from siblings like rapor_indir (which downloads reports) and sapma_analizi_raporu (which analyzes deviations) by focusing on consensus synthesis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context by mentioning "İndirilen raporlardaki hedef fiyatları sentezleyerek" (synthesizing target prices from downloaded reports), implying it should be used after downloading reports. However, it does not explicitly state when not to use it or name alternative tools, so it stops short of full guidelines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

korelasyon_raporuA

Aracı kurumlar arasındaki hedef fiyat korelasyonunu hesapla.

Hangi kurumlar birbirine yakın tahminler yapıyor? Hangi kurum sürüden ayrışıyor? Pearson korelasyon katsayısı ve ortalama sapma yüzdesi ile raporlar.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the statistical method (Pearson correlation, mean deviation percentage), which adds context beyond the tool name. However, it does not mention data sources, whether the operation is read-only, or any side effects. Given the zero-parameter nature, basic transparency is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct and front-loaded with the primary action. The two rhetorical questions add value without redundancy. Every sentence contributes to understanding the tool's purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the description is reasonably complete. It covers the purpose, methodology, and typical use cases. However, it lacks explicit usage boundaries and alternative tool references, which prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds meaningful context about what the report contains (correlation and deviation metrics), which is helpful even though there are no parameters to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes target price correlation between brokerage houses, using Pearson correlation coefficient and mean deviation percentage. It also provides example questions it answers, which differentiates it from siblings like sapma_analizi_raporu and konsensus_analiz.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by describing the questions it addresses ('Which institutions make close estimates? Which deviates?'), but it provides no explicit when-to-use guidance, exclusions, or comparisons to alternative tools. The sibling tools offer related analyses, but no differentiation is made.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

markowitz_portfoy_optimizasyonuA

Markowitz Modern Portföy Teorisi (1952) ile Etkin Sınır ve Maksimum Sharpe Portföyü hesapla.

Nobel Ödüllü Harry Markowitz (1952) yöntemini kullanarak 10,000 rastgele portföy simüle eder, Sharpe oranını maksimize eden optimal varlık dağılım ağırlıklarını çıkarır.

ParametersJSON Schema
NameRequiredDescriptionDefault
hisseler_csvNoVirgülle ayrılmış hisse kodlarıTHYAO,GARAN,AKBNK,KCHOL,EREGL
getiriler_csvNoVirgülle ayrılmış beklenen yıllık getiriler (%)45.0,38.0,40.0,35.0,25.0
volatiliteler_csvNoVirgülle ayrılmış yıllık oynaklıklar (%)32.0,28.0,30.0,25.0,22.0
risk_free_rate_pctNoGösterge faiz / risk-free oran (%)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It does mention the simulation count (10,000 random portfolios), which is useful. However, it omits important assumptions—such as how correlations are treated when only volatilities are provided—and does not state whether the computation is deterministic or has side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences and is front-loaded with the core purpose. However, it redundantly mentions Markowitz and the 1952 date twice, and 'Nobel Prize-winning' is extra fluff; trimming these would make it perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a high-level algorithm summary but fails to disclose key model assumptions, such as whether correlations are assumed to be zero given only volatilities are inputs. It also does not warn about equal-length input requirements or non-negative values, which are critical for a financial optimization tool in the absence of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already well-documented with defaults and units. The description adds no extra parameter-level meaning, such as constraints on list lengths or valid ranges, so it remains at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates the Markowitz efficient frontier and the maximum Sharpe ratio portfolio via 10,000 random simulations. It names a specific method (Markowitz Modern Portfolio Theory) and a specific output (optimal asset allocation weights), distinguishing it from siblings like portfoy_risk_analizi or monte_carlo_simulasyonu.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is suited for Markowitz portfolio optimization, but it gives no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives among the sibling tools, nor does it state any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monte_carlo_simulasyonuA

Geometric Brownian Motion (GBM) ile Monte Carlo Fiyat Yolu Simülasyonu gerçekleştir.

Boyle (1977) ve Glasserman (2003) tarafından teorik ve pratikte kanıtlanmış GBM modelini kullanır. 2,500 rastgele fiyat patikası simüle ederek Ayı (%5 P5), Medyan (%50 P50) ve Boğa (%95 P95) senaryoları ile VaR (Value at Risk) ve CVaR risk metriklerini hesaplar.

ParametersJSON Schema
NameRequiredDescriptionDefault
sembolNoHisse kodu (ör: THYAO, GARAN, EREGL)THYAO
gun_sayisiNoSimüle edilecek gün sayısı (varsayılan 252 gün = 1 yıl)
mevcut_fiyatNoHisse mevcut fiyatı (TL)
simulasyon_sayisiNoOluşturulacak fiyat yolu sayısı (varsayılan 2500)
yillik_volatilite_pctNoYıllık volatilite / oynaklık (%)
beklenen_yillik_getiri_pctNoYıllık drift beklentisi (%)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full disclosure weight. It explicitly reveals the GBM model, the fixed 2,500 simulated paths, and the computed risk metrics. It also notes randomness via 'rastgele fiyat patikası', giving an honest picture of the stochastic behavior without needing to restate schema defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: a first sentence stating the action, a second providing model provenance, and a third listing outputs. No repetition or filler; the citations are brief and relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The presence of an output schema covers return-value details. The description defines the model, path count, and metrics, which is sufficient for a parameterized simulation tool. It does not explain edge cases (e.g., zero volatility), but that is beyond typical selection needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-level detail but reinforces the simulation context (e.g., '2,500 random price paths' matches simulasyon_sayisi default). It adds no semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb phrase 'Geometric Brownian Motion (GBM) ile Monte Carlo Fiyat Yolu Simülasyonu gerçekleştir' and lists concrete outputs (P5/P50/P95 scenarios, VaR, CVaR), clearly distinguishing this from sibling tools like portfoy_risk_analizi or stres_testi_simulasyonu.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to choose this tool over alternatives such as stres_testi_simulasyonu or portfoy_risk_analizi. The description implies usage through 'simulate' and risk metrics but does not state conditions, exclusions, or alternative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

openbb_hisse_analizB

OpenBB ve yfinance entegrasyonu ile BIST ve küresel hisse temel analiz verilerini çek.

Fiyat/Kazanç (F/K), Piyasa Değeri / Defter Değeri (PD/DD), Temettü Verimi, 52 Haftalık aralık ve analist ortalama hedef fiyatlarını raporlar.

ParametersJSON Schema
NameRequiredDescriptionDefault
sembolNoHisse kodu (ör: THYAO, GARAN, EREGL, AAPL, NVDA)THYAO

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions data sources (OpenBB, yfinance) and the list of outputs, but does not disclose potential rate limits, data freshness/caching behavior, what happens if the symbol is invalid or delisted, or whether the tool performs network calls that might be slow. It also does not state any side effects (none expected for a read-only tool, but that is not explicitly confirmed).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear lead sentence followed by a bullet-like list of outputs. It avoids redundancy with the schema. The only minor issue is that it mixes Turkish and English terms (e.g., 'Fiyat/Kazanç (F/K)') but that is not a structural problem. It earns a 4 due to good front-loading and no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is an output schema and only one fully documented parameter, the description covers the core functionality. However, it lacks guidance on error handling, data coverage limitations (e.g., global stocks may use yfinance, BIST via OpenBB), and whether the output schema includes all listed metrics. The tool appears to be a straightforward data retrieval, but the description could add a note about the data sources' reliability or the meaning of the metrics. This is a minimal viable description but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'sembol' is fully described in the input schema with examples, achieving 100% coverage. The description's mention of metrics like 'F/K, PD/DD' provides additional context but does not add meaning beyond what the schema already gives for the parameter. The tool name itself is in Turkish, and the description is in Turkish, which is aligned. Baseline 3 is appropriate because the schema is already strong.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves fundamental analysis data for BIST and global stocks via OpenBB and yfinance, listing specific metrics (F/K, PD/DD, dividend yield, 52-week range, analyst target prices). It names the resource and verbs ('çek', 'raporlar') but does not explicitly differentiate from sibling tools like 'openbb_makro_gostergeler' or 'konsensus_analiz', though the specific metrics and stock scope provide implicit distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for stock fundamental analysis, and the schema example ('THYAO, GARAN, EREGL, AAPL, NVDA') indicates both BIST and global stocks. However, it does not explicitly state when to prefer this tool over alternatives like 'konsensus_analiz' (which also deals with analyst targets) or mention any exclusions or prerequisites. The context is clear enough for basic selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

openbb_makro_gostergelerA

OpenBB entegrasyonu ile USD/TRY, EUR/TRY, BIST100, Altın, Petrol ve S&P500 makro verilerini getir.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full transparency burden. It only says 'getir' (fetch), implying a read operation, but does not disclose data source characteristics, latency, caching, authentication requirements, or potential for missing data. The OpenBB integration mention adds some context but is insufficient for a complete behavioral profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, efficiently structured with the action verb and a comma-separated list of assets. It is front-loaded with the key information and contains no unnecessary words, making it appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and the presence of an output schema, the description does not need to explain return values. It lists the specific data categories (USD/TRY, EUR/TRY, BIST100, Altın, Petrol, S&P500) and the integration source (OpenBB). Minor gaps remain, such as data frequency or caveats, but the tool is simple and the description is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is no need for parameter documentation. According to the rubric, a tool with 0 parameters receives a baseline of 4. The description does not need to add any parameter semantics because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('getir' - fetch) and the specific resources: USD/TRY, EUR/TRY, BIST100, Gold, Oil and S&P500 macro data via OpenBB integration. This distinguishes it from sibling tools like openbb_hisse_analiz and tcmb_evds_gostergeler due to the explicit asset list and integration source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tools. While the asset list implies usage when these macro indicators are needed, there is no explicit differentiation from siblings such as tcmb_evds_gostergeler.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portfoy_risk_analiziA

Portföyün Sharpe, Sortino, Max Drawdown risk metriklerini ve HHI yoğunlaşma skorunu hesapla.

ParametersJSON Schema
NameRequiredDescriptionDefault
risk_free_rate_pctNoGösterge faiz / risksiz getiri oranı (%)
hisseler_ve_agirliklar_csvNoVarlık:Ağırlık çiftleri (ör: THYAO:30,GARAN:25,KCHOL:20,USD:15,ALTIN:10)THYAO:30,GARAN:25,KCHOL:20,USD:15,ALTIN:10

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description alone must disclose behavioral traits. It only states the calculation intent but omits any side effects, data dependencies (e.g., historical prices), or assumptions about input formats beyond the schema. Since it's a calculation, it likely is safe, but the description doesn't confirm that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that names the output metrics directly. No filler or redundant text; it earns its place efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema and complete parameter documentation, but the description lacks context about the data source (e.g., whether it fetches market data or uses provided time series) and assumptions like the lookback period. These are important for a risk-analysis tool and are not addressed, creating a moderate completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions already cover both parameters fully (risk-free rate and asset:weight CSV), so baseline is 3. The description adds no extra detail about how these parameters influence the computed metrics. It doesn't compensate for any gaps because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'hesapla' (calculate) and names precise metrics (Sharpe, Sortino, Max Drawdown, HHI). This clearly differentiates it from sibling tools like markowitz_portfoy_optimizasyonu, which focuses on optimization. The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when these risk metrics are needed, but it provides no explicit guidance on when to prefer this tool over alternatives like stres_testi_simulasyonu or monte_carlo_simulasyonu. No exclusions or alternative references are given, so the guidance is limited to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rapor_indirA

Aracı kurumdan güncel rapor indir ve tarih bazlı klasöre kaydet.

Dosyalar data/raporlar/{yıl}/{ay}/{gün}/{tarih}-{kurum}-{tip}.pdf yapısında saklanır.

ParametersJSON Schema
NameRequiredDescriptionDefault
tarihNoİndirilecek tarih (YYYY-MM-DD). Boş bırakılırsa bugün.
kurum_koduNoAracı kurum kodu (ör: IYM, GRM, AKM). Boş bırakılırsa tümü.
rapor_tipiNoRapor tipi (hedef-fiyat, gunluk-bulten, sirket-raporu, model-portfoy)hedef-fiyat

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only reveals the file storage location, not overwrite behavior, directory creation, error handling on missing reports, or required credentials. This is insufficient for a file-downloading tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, directly stating the action and the storage structure, with zero redundant words. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 3 optional parameters and no annotations, the description provides the core functionality and storage convention. However, it lacks edge-case behavior (missing files, overwrites) and does not explain the broader workflow context, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides comprehensive parameter descriptions with defaults and examples, achieving 100% coverage. The description adds the file path template ({tarih}-{kurum}-{tip}.pdf), which is a minor extension. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: 'Download current report from brokerage and save to date-based folder', with an explicit storage path pattern. This distinguishes it from sibling analysis tools, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for downloading reports but does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions. Sibling tools like araci_kurum_listesi or konsensus_analiz are not referenced, leaving the usage context implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sapma_analizi_raporuA

Konsensüsten en çok sapan analist görüşlerini bul.

Z-skoru ile ölçerek hangi aracı kurum hangi hissede sürüden ayrışıyor belirler. Kontrarian fırsat tespiti için kullanılır.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently explains the analytical approach (Z-score measurement) and the output concept (which brokerage deviates in which stock), making the read-only analytical nature clear. It stops short of describing limitations or prerequisites, but the methodology and purpose are well conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loaded with the primary purpose, then expanding into methodology and use case. Every sentence adds distinct value with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and the presence of an output schema, the description provides sufficient context. It explains what the tool does, how it does it (Z-score), and when to use it, making it a complete standalone definition for this comparably simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema is trivially complete and the baseline is 4. The description adds no parameter-specific details because none are needed; it focuses on the analytical result and use case, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Konsensüsten en çok sapan analist görüşlerini bul' (find analyst views deviating most from consensus), clearly stating the tool's core function. It further specifies the Z-score methodology and differentiates from the sibling tool 'konsensus_analiz' by focusing on outliers rather than the consensus itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the intended use case: 'Kontrarian fırsat tespiti için kullanılır' (used for contrarian opportunity detection). This provides clear contextual guidance, though it does not explicitly name alternatives or exclusions beyond the implicit contrast with consensus analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spk_yasal_uyum_denetimiA

Sistemin 6362 sayılı Sermaye Piyasası Kanunu ve SPK Tebliğlerine uyum durumunu denetle.

Yatırım Danışmanlığı lisans şartları (Tebliğ III-52.1), Bilgi Suistimali (Madde 106) ve Piyasa Dolandırıcılığı (Madde 107) açısından yasal koruma maddelerini raporlar.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool 'raporlar' (reports) on legal protection provisions, which suggests a read-only audit, but it does not explicitly confirm that no data is modified or mention any permissions or side effects. It adds useful detail about the legal areas covered, but stops short of full behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence immediately states the purpose, and the second adds essential legal scope. No unnecessary words or repetition, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no parameters and has an output schema, so the description does not need to explain return values. It clearly specifies the legal areas covered, which is sufficient for an agent to decide when to invoke it. Slight gap: it does not clarify what 'the system' refers to or any prerequisites, but given the zero-parameter nature, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema coverage is trivially 100%. The baseline for zero-parameter tools is 4, and the description does not need to explain parameters. No additional parameter semantics are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'denetle' (audit) and clearly identifies the resource: the system's compliance with the Capital Markets Law and SPK Communiqués. It further narrows scope to specific legal areas (Investment Advisory license, Insider Trading, Market Manipulation), making it distinct from sibling tools like kap_son_bildirimler or portfoy_risk_analizi.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when a legal compliance audit of the system under Turkish capital markets regulations is needed. It does not explicitly name alternative tools or exclusions, but the legal specificity (Tebliğ III-52.1, Madde 106/107) provides strong contextual guidance for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stres_testi_simulasyonuB

Portföyü BIST Çöküşü, Kur Şoku, Faiz Artışı ve Stagflasyon kriz senaryolarında simüle et.

ParametersJSON Schema
NameRequiredDescriptionDefault
senaryoNoSenaryo adı (bist_cokusu, kur_soku, faiz_artisi, stagflasyon)bist_cokusu
hisseler_ve_agirliklar_csvNoVarlık:Ağırlık çiftleri (ör: THYAO:30,GARAN:25,USD:15,ALTIN:10)THYAO:30,GARAN:25,KCHOL:20,USD:15,ALTIN:10

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely says 'simulate' without stating whether the operation is read-only, deterministic, how the simulation works, or whether external data is fetched. This is a minimal disclosure for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently states the tool's purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description names the specific scenarios, which is useful, and an output schema exists to cover return values. However, given the presence of overlapping sibling tools, it could be more complete by clarifying the simulation methodology or that it is specifically a stress test for risk assessment. It is minimally complete but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters clearly described (scenario name and asset:weight pairs). The description adds no additional meaning beyond what the schema already provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool simulates a portfolio under four specific crisis scenarios (BIST Crash, Currency Shock, Rate Hike, Stagflation). This specific verb+resource+scenario list distinguishes it from sibling tools like monte_carlo_simulasyonu and markowitz_portfoy_optimizasyonu, which are more general simulation/optimization tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The scenario list implies it is for stress testing under predefined crises, but there is no mention of exclusions, prerequisites, or comparisons to the Monte Carlo simulation or Markowitz optimization tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tcmb_evds_gostergelerA

TCMB EVDS ve TÜİK verileri ile Politika Faizi, TÜFE/ÜFE, Rezervler ve Kur göstergelerini raporla.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It names data sources and indicator categories, but it does not explicitly state whether the tool is read-only, fetches live data, has network dependencies, or produces a report artifact. The term 'raporla' is too vague to fully disclose operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tight sentence that front-loads the data source and lists the exact indicators covered. There is no filler or redundancy, and every word adds meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters and an output schema present, the description provides sufficient context by specifying the data sources and the full indicator set. It is concise but complete enough for a no-input reporting tool, though it could slightly benefit from stating the output form (e.g., report generation vs. data retrieval).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty (0 parameters), so the baseline is 4. The description's indicator list gives context about what the report covers, but there are no parameters that need explanation. This is appropriate for a no-argument tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific imperative verb 'raporla' (report) and specifies the exact resource: TCMB EVDS and TÜİK data, covering defined indicators (Politika Faizi, TÜFE/ÜFE, Rezervler, Kur). This clearly distinguishes it from siblings like openbb_makro_gostergeler, which likely targets a broader macro dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reporting Turkish central bank and statistical indicators, but it provides no explicit when-to-use or when-not-to-use guidance, nor does it name alternatives. The indicator list and data sources suggest a context, but the agent gets no direct decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tefas_fon_analizB

TEFAS (Türkiye Elektronik Fon Alım Satım Platformu) fon fiyatı, AUM büyüklüğü ve getiri analizi yap.

ParametersJSON Schema
NameRequiredDescriptionDefault
fon_koduNo3 harfli TEFAS fon kodu (ör: TI4, TCD, AAK, IIH, GTA)TI4

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It mentions analysis scope but does not state whether the operation is read-only, what data source is used, what the output looks like, or any limitations, leaving the agent without critical context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence that expands the TEFAS acronym and enumerates the analyzed metrics without filler. It is front-loaded and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple with one well-documented parameter and an output schema, so return details need not be explained. However, the description lacks when-to-use context and behavioral caveats, making it adequate but not fully complete for an agent deciding among many sibling analysis tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the single parameter 'fon_kodu' with a default value and examples, achieving 100% schema description coverage. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs TEFAS fund price, AUM size, and return analysis, identifying a specific resource and analysis scope. This distinguishes it from sibling tools focused on KAP filings, SPK compliance, and macro indicators, though the verb 'analiz yap' remains slightly generic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives, no prerequisites are mentioned, and no exclusions or conditions are described. The appropriate context must be inferred entirely from the tool name and the bare description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

veri_durumuA

İndirilen raporların ve veri dizininin genel durumunu göster.

Hangi tarihlerde kaç rapor indirilmiş, dizin yapısının özeti.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It states it 'shows' status, implying a non-mutating read operation, but does not explicitly mention whether it requires any setup, permissions, or how data is refreshed. The lack of explicit read-only confirmation is a minor gap, but the nature of a status tool makes it largely self-evident.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two short sentences with the main purpose front-loaded. Every sentence adds value, and there is no wasted wording or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (0 params) and has an output schema, so the description does not need to detail return values. It explains what data is displayed (dates, counts, directory summary), which is sufficient for a status tool. Slightly more specificity on what 'general status' encompasses would improve completeness, but given the low complexity, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is 100% (vacuous). Baseline is 4 for zero-param tools. The description adds no parameter information, but there are no parameters to describe, so it fully meets expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: showing the general status of downloaded reports and data directory. It specifies the exact information shown (dates, counts, directory summary), and this distinguishes it from sibling analysis tools like portfoy_risk_analizi or stres_testi_simulasyonu.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking download status but does not provide explicit guidance on when to use it versus alternatives. No exclusions or alternative tool references are given, making this a reasonable but not fully explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 18 tool updatesv0.1.0
    • First observedaraci_kurum_listesi
    • First observedkap_insider_islemleri
    • First observedkap_son_bildirimler
    • First observedkarar_denetim_defteri
    • First observedkonsensus_analiz
    • First observedkorelasyon_raporu
    • First observedmarkowitz_portfoy_optimizasyonu
    • First observedmonte_carlo_simulasyonu
    • First observedopenbb_hisse_analiz
    • First observedopenbb_makro_gostergeler
    • First observedportfoy_risk_analizi
    • First observedrapor_indir
    • First observedsapma_analizi_raporu
    • First observedspk_yasal_uyum_denetimi
    • First observedstres_testi_simulasyonu
    • First observedtcmb_evds_gostergeler
    • First observedtefas_fon_analiz
    • First observedveri_durumu

TDQS

A3.5/5.0

Scored across 18 tools

Disambiguation3/5

Most tools have distinct targets, but several quantitative/analytical tools overlap: portfoy_risk_analizi, monte_carlo_simulasyonu, and stres_testi_simulasyonu all compute risk metrics (VaR, CVaR) and could be confused. Similarly, sapma_analizi_raporu and korelasyon_raporu both measure analyst divergence. The descriptions help, but the boundaries are slightly blurry.

Naming Consistency3/5

Tool names are mostly snake_case noun phrases (e.g., kap_son_bildirimler, portfoy_risk_analizi), but rapor_indir follows an object-verb pattern. Prefixes like kap_, spk_, tcmb_, tefas_, openbb_ are applied inconsistently, and no uniform verb_noun or noun_verb structure is maintained across the set.

Tool Count4/5

At 18 tools, the server is on the heavier side but still appropriate for a comprehensive finance domain covering regulatory data, analytics, simulations, and report management. Each tool fills a niche, though a few could potentially be consolidated.

Completeness4/5

The server covers a broad swath of Turkish financial research: KAP disclosures, insider transactions, regulatory compliance, portfolio analytics, macro data, fund analysis, broker consensus, and simulations. Minor gaps exist (e.g., no dedicated tool for financial statement parsing beyond KAP announcements), but the overall surface is robust and cohesive.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    2
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Real-time financial market data MCP server. Stocks, crypto, technicals, sentiment, FDA calendar. No API keys required.
    -
  • A
    license
    A
    quality
    F
    maintenance
    A comprehensive MCP server for stock analysis and trading insights, including stock screening, fundamental analysis, insider trading, options analysis, social media research, and news analysis.
    10
    75
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Comprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.
    26
    37 npm
    MIT