Skip to main content
Glama

Finance-MCP (Global & BIST Finans MCP Server)

Türkiye (BIST) ve global finans piyasalarına doğrudan erişim sağlayan açık kaynaklı bir Model Context Protocol (MCP) sunucusu.

Cursor, Claude Desktop ve Claude Code gibi yapay zeka araçlarının; BIST hisselerine, küresel hisse senetlerine (NVIDIA, Apple, Tesla vb.), kripto para fiyatlarına, döviz kurlarına, enflasyon verilerine, makroekonomik göstergelere, hisse geçmişine (grafik), VİOP/TEFAS verilerine ve finans haberlerine canlı erişmesini sağlar.

💡 Tüm veri kaynakları tamamen ücretsizdir ve herhangi bir API Key gerektirmez!


🚀 Sunulan Araçlar (25 Araç)

Döviz & Para Birimi

Araç

Açıklama

Kaynak

get_exchange_rate

İki para birimi arasındaki güncel veya geçmiş döviz kuru (Örn: USD -> TRY)

Frankfurter (ECB)

convert_currency

Belirli bir miktarı güncel kur üzerinden başka bir para birimine çevirme

Frankfurter (ECB)

get_historical_rate

1999'dan itibaren belirli bir tarihteki döviz kuru

Frankfurter (ECB)

get_tcmb_rate

TCMB resmi bülteninden alış/satış kurları

TCMB XML

Borsa İstanbul & Küresel Hisse

Araç

Açıklama

Kaynak

get_bist_price

BIST hisse senetlerinin güncel fiyatı, piyasa değeri ve 52h zirve/dip verileri (Örn: THYAO, ASELS)

Yahoo Finance

get_global_stock_price

Dünyadaki tüm hisseler (AAPL, NVDA, TSLA), endeksler (S&P 500, NASDAQ) ve ETF'ler

Yahoo Finance

get_stock_history

Bir hissenin geçmiş OHLC (grafik) verisi — teknik analiz için (THYAO.IS, AAPL, NVDA)

Yahoo Finance

search_symbol

İsme göre sembol (ticker) arama — "ASELSAN" → ASELS.IS

Yahoo Finance

get_bist_indices

BIST endekslerinin güncel değeri/değişimi (XU100, XU030, XBANK...)

Yahoo Finance

Kripto Para

Araç

Açıklama

Kaynak

get_crypto_price

Kripto paraların seçilen para birimi cinsinden güncel fiyatı, piyasa değeri ve 24s hacmi

CoinGecko

get_multi_crypto_price

Birden fazla kripto paranın fiyatını tek sorguda getirme

CoinGecko

get_crypto_history

Kripto geçmiş OHLC verisi (USD veya TRY) — bitcoin, ethereum, solana

Yahoo Finance

Emtia

Araç

Açıklama

Kaynak

get_commodity_price

Altın, gümüş, petrol (WTI/Brent), doğalgaz, bakır, platin vb. emtia fiyatları

Yahoo Finance

Makroekonomi

Araç

Açıklama

Kaynak

get_inflation_data

Türkiye TÜFE enflasyonu (yıllık, Dünya Bankası)

World Bank / TÜİK

get_macro_indicators

GSYİH büyümesi, kişi başı GSYİH, enflasyon, işsizlik, cari denge, rezervler (ülke bazlı)

World Bank + FRED

get_policy_rate

TCMB politika faizi (1 hafta repo) ve geçmiş faiz değişimleri

TCMB

get_gov_bond_yields

10 yıllık & gösterge devlet tahvili faizleri

doviz.com

Yatırım Analizi

Araç

Açıklama

Kaynak

get_fundamentals

F/K, EPS, PD/DD, temettü verimi, marjlar, beta, analist hedefleri

Yahoo Finance

get_correlation

İki varlık arasındaki fiyat/getiri korelasyonu + yıllık getiri & volatilite

Yahoo Finance

analyze_portfolio

Portföy değeri, günlük değişim, ağırlıklar, risk/Sharp tahmini, para birimi dağılımı

Yahoo Finance

BIST'e Özel

Araç

Açıklama

Kaynak

get_fund_price

TEFAS yatırım fonu güncel fiyatı (NAV) ve son dönem verisi

TEFAS

get_viop_quote

VİOP vadeli kontrat fiyat, alış/satış ve hacim bilgileri

OYAK Yatırım

get_market_summary

BIST piyasa özeti: ana endeksler + banka/sanayi watchlist'i

Yahoo Finance

Haber & Takvim

Araç

Açıklama

Kaynak

get_economic_calendar

Küresel ekonomik takvim (faiz kararları, enflasyon, istihdam...) — ülke/etki filtresi

ForexFactory

get_financial_news

Hisse/endeks/kripto/döviz hakkında güncel haber başlıkları

Yahoo Finance RSS


Related MCP server: Finance Agent MCP Server

📦 Kurulum

Node.js (>= 22) yüklü olduğundan emin olun:

git clone https://github.com/metehan05-eng/Finance-MCP.git
cd Finance-MCP
npm install
npm run build

🖥️ Cursor ile Bağlama (2 Kolay Yol)

1. Yol (Otomatik Proje Ayarı - En Kolay)

Projenin kök dizininde hazır bulunan .cursor/mcp.json dosyası sayesinde; bu klasörü Cursor ile açtığınızda MCP sunucusu otomatik olarak tanınır:

  1. Cursor'ı açın ve Finance-MCP klasörünü açın.

  2. Ctrl + L (Mac'te Cmd + L) ile Chat'i açın.

  3. Chat kutusunda Agent modunu seçin.

2. Yol (Global Cursor Ayarı)

Başka projelerde çalışırken de bu sunucuyu kullanmak isterseniz:

  1. Cursor'da sağ üstteki Ayarlar (Çark ⚙️) simgesine tıklayın (veya Ctrl + Shift + J).

  2. Sol menüden Features > MCP Servers bölümüne gelin.

  3. "+ Add New MCP Server" butonuna tıklayın:

    • Name: finance-mcp

    • Type: command

    • Command: node /tam/dosya/yolu/Finance-MCP/build/index.js


🤖 Claude Desktop ile Bağlama

Claude Desktop uygulamasında ayar dosyanızı açın:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Dosyanın içine şu bloğu ekleyin (dosya yolunu kendi sisteminize göre güncelleyin):

{
  "mcpServers": {
    "finance-mcp": {
      "command": "node",
      "args": [
        "/mutlak/dosya/yolu/Finance-MCP/build/index.js"
      ]
    }
  }
}

Claude Desktop uygulamasını yeniden başlatın. Sağ altta çekiç (Tools) simgesinde 25 tool aktif olarak görünecektir.


💻 Claude Code (CLI) ile Bağlama

claude mcp add finance-mcp -- node /mutlak/dosya/yolu/Finance-MCP/build/index.js

💬 Örnek Komutlar & Sorular

Cursor veya Claude'a doğrudan şunları sorabilirsiniz:

  • "NVIDIA (NVDA), Apple (AAPL) ve THYAO hisselerini karşılaştıran bir analiz tablosu yap."

  • "Bitcoin ve Solana'nın güncel Türk Lirası fiyatları nedir?"

  • "250.000 TL ile teknoloji hisseleri ve kriptodan oluşan dengeli bir portföy önerisi simüle et."

  • "1500 Euro kaç Türk Lirası ediyor?"

  • "BIST'te ASELS ve TUPRS 52 haftalık zirvelerine ne kadar uzaklıkta?"

  • "THYAO ve BIST 100 arasındaki korelasyon nedir?"

  • "TCMB politika faizi ve son 5 faiz değişikliğini göster."

  • "Türkiye'nin GSYİH büyümesi ve işsizlik oranı son 3 yılda nasıl değişti?"

  • "Bitcoin'in son 6 aylık grafiğini çiz."

  • "Bu portföyü analiz et: 100 adet THYAO.IS (maliyet 280), 500 adet GARAN.IS (maliyet 300), 10 adet AAPL (maliyet 150)."

  • "GAF fonunun son haftadaki fiyatını göster."

  • "VİOP'taki X10 vadeli kontratının fiyatını göster."


🛠️ Geliştirme

npm run dev         # Kod değişikliklerini izler ve otomatik derler
npm run inspector    # MCP Inspector ile araçları tarayıcıda görsel test eder

📄 Lisans

MIT License © 2026 metehan05-eng

Finance-MCP

Available Tools

9 tools
convert_currencyA

Bir miktarı bir para biriminden diğerine, güncel kur üzerinden çevirir.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesHedef para birimi kodu, ör. TRY
fromYesKaynak para birimi kodu, ör. USD
amountYesÇevrilecek miktar, ör. 100

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It adds the key trait that conversion uses the current exchange rate, but it does not disclose return format, rounding behavior, rate source, or error/edge-case handling, so an agent has only partial transparency.

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 with no filler. It states the action, resource, and rate context economically.

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 3-parameter conversion tool, the description plus schema covers the core invocation. The main gap is the absence of an explicit return-value description since there is no output schema, but the conversion semantics make the expected result obvious enough.

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%: amount, from, and to each have descriptions with examples and length constraints. The tool description adds no parameter-level detail beyond what the schema already provides, so the baseline of 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 action: 'Bir miktarı bir para biriminden diğerine ... çevirir' (converts an amount from one currency to another) and scopes it to the current rate ('güncel kur üzerinden'). This distinguishes the tool from rate-only and historical siblings like get_exchange_rate and get_historical_rate.

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 'güncel kur' qualifier implies this is for current-rate conversions, not historical ones, but there is no explicit statement of when to choose this over get_exchange_rate or get_tcmb_rate, nor any when-not-to-use guidance. Usage is implied rather than explicit.

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

get_bist_priceA

Borsa İstanbul (BIST) hisse senedinin güncel fiyatını, değişimini ve piyasa verilerini döndürür. Veri Yahoo Finance üzerinden 15 dakika gecikmeli olarak sağlanır. Sembol olarak sadece hisse kodunu girin (ör. THYAO, GARAN, ASELS).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesBIST hisse kodu, ör. THYAO, GARAN, ASELS, SASA, BIMAS (sonuna .IS eklemeyin)

TDQS

A3.8/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 behavioral burden and does a reasonably good job: it discloses the Yahoo Finance data source and the 15-minute delay, which are material behavioral traits. It also clarifies that only the stock code should be provided. It does not describe error behavior or output structure, but the core behavioral context is covered.

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 sentences, with the purpose first, the data-delay detail second, and the input format third. Every sentence earns its place and there is no redundant or filler content.

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 single-parameter, simple look-up tool, the description is nearly complete: it names the BIST scope, source, delay, and symbol format. Since there is no output schema, it would benefit from a bit more detail on what 'piyasa verileri' includes or the exact return shape, but an agent has enough to invoke it correctly.

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 thoroughly, including examples and the instruction not to append .IS, giving 100% schema description coverage. The description adds a similar example set but no meaningfully new parameter semantics, 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.

Purpose4/5

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

The description clearly states that the tool returns Borsa İstanbul (BIST) stock prices, changes, and market data, with a specific verb and resource. It is clearly scoped to BIST stocks, which separates it from exchange-rate, crypto, and global-stock siblings, though it never names an alternative explicitly.

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 BIST stocks and gives example symbols, but it does not explicitly state when to prefer this tool over siblings like get_global_stock_price or get_exchange_rate. Usage context is present, but exclusions and alternatives are left to inference.

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

get_crypto_priceA

Bir kripto paranın belirtilen para birimi cinsinden güncel fiyatını, 24 saatlik değişimini ve piyasa değerini döndürür (örn. bitcoin → try).

ParametersJSON Schema
NameRequiredDescriptionDefault
coinIdYesCoinGecko coin id'si, ör. 'bitcoin', 'ethereum', 'solana' (sembol değil, tam id)
vsCurrencyNoFiyatın gösterileceği para birimi, ör. 'usd', 'try', 'eur'usd

TDQS

A4/5.0
Behavior3/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 accurately discloses the behavior (returning price, 24h change, market cap) and implies a read-only operation. However, it does not mention error behavior for invalid coin IDs, data freshness, or rate limits—context that would strengthen transparency for an unannotated 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?

A single sentence with a parenthetical example. Every word earns its place—the verb, resource, return fields, and sample use are all included with no filler. The description is front-loaded with the core action.

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 2-parameter read tool with no output schema, the description covers the essential return values (price, 24h change, market cap) that an agent would need. It does not mention the default vsCurrency (already in the schema) or edge-case behavior, but the missing details are minor given the tool's simplicity.

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 schema already fully documents both coinId and vsCurrency with examples and clarifications. The description adds only an illustrative example ('bitcoin → try') and does not provide additional parameter semantics beyond the schema, matching the baseline of 3.

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 states a specific verb ('döndürür' = returns), a precise resource (a cryptocurrency's price), and the exact data returned (current price, 24-hour change, market cap). The example 'bitcoin → try' and the word 'kripto' clearly distinguish it from fiat/exchange-rate siblings.

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 makes the context clear: use for a single cryptocurrency's current price in a given currency. It does not explicitly exclude batch scenarios or name get_multi_crypto_price as an alternative, so it falls short of a 5, but the singular phrasing and example give sufficient contextual guidance.

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

get_exchange_rateA

İki para birimi arasındaki güncel (veya belirli bir tarihteki) döviz kurunu döndürür (örn. USD → TRY).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesHedef para birimi kodu, ör. TRY, USD, EUR
dateNoOpsiyonel tarih (YYYY-MM-DD). Belirtilmezse en güncel kur döndürülür.
fromYesKaynak para birimi kodu, ör. USD, EUR, TRY

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 carries the behavioral disclosure burden. It does state the core behavior: returning a current or date-specific exchange rate. But it does not mention the rate source, response format, error behavior for invalid currency codes or dates, or any rate-freshness limitations, which leaves meaningful uncertainty for a tool without annotations or an output schema.

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 one concise, front-loaded sentence with no filler. It communicates the operation, the optional date behavior, and a concrete example efficiently, which is ideal for an AI agent scanning available tools.

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 simple and the schema fully covers the three parameters, so the description does not need to repeat parameter details. However, with no output schema and no annotations, the description omits the shape of the returned rate, source/limitations, and how this differs from several closely related sibling tools, leaving moderate gaps for a completely self-contained definition.

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 schema already documents from, to, and date. The description adds only the example pair and the notion of date-specific rates, which is helpful but does not materially exceed what the schema provides. Baseline 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 verb ('returns'), the resource (exchange rate between two currencies), and the optional date dimension. The example 'USD → TRY' makes the input format intuitive. However, it does not explicitly distinguish itself from the sibling tools get_historical_rate or get_tcmb_rate, and the date option creates potential overlap with get_historical_rate.

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 current or date-specific exchange rate lookups, and the date parameter notes that omitting it yields the latest rate. However, it gives no explicit guidance about when to choose this tool over get_historical_rate, get_tcmb_rate, or convert_currency, and no exclusions or alternatives are mentioned.

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

get_global_stock_priceA

Dünya genelindeki tüm hisse senetlerinin, borsa endekslerinin (S&P 500, NASDAQ vb.) ve ETF'lerin anlık/güncel fiyat ve piyasa verilerini döndürür. (Örn: AAPL, NVDA, TSLA, MSFT, AMZN, SAP.DE, SHEL.L, ^GSPC, ^IXIC).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesKüresel hisse veya endeks sembolü (ör. AAPL, NVDA, TSLA, MSFT, GOOGL, AMZN, SAP.DE, ^GSPC)

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. It does disclose that the tool returns real-time/current price and market data, and gives symbol format hints. However, it does not mention limitations such as potential data delays, error behavior for invalid symbols, or any other caveats, leaving the transparency somewhat shallow.

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, front-loaded sentence stating the core purpose, followed by an example list. It is concise and scannable; the examples add valuable context without excessive verbosity.

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?

For a single-parameter tool with no output schema, the description is reasonably complete: it states the data returned and provides symbol examples. Yet it does not indicate response structure, potential errors, or rate limits, so an agent may lack full clarity on how to interpret the result.

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 coverage is 100% because the input schema already describes the symbol parameter with examples. The tool description adds a few extra examples (SHEL.L, ^IXIC) but does not add meaning beyond what the schema provides. 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 uses a specific verb ('returns') and clearly states the resource: current price and market data for global stocks, indices, and ETFs. The examples (AAPL, ^GSPC, etc.) and explicit mention of worldwide coverage differentiate it from sibling tools like get_bist_price or get_crypto_price.

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 when to use the tool (for global stocks/indices/ETFs) through its wording and examples, but it never explicitly mentions alternatives or when not to use it. There is no 'use X instead of Y' guidance, so it relies on the agent to infer from sibling names.

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

get_historical_rateA

Belirtilen bir tarihteki döviz kurunu döndürür. Geçmiş ECB/Frankfurter verilerine (1999'dan itibaren) erişim sağlar.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesHedef para birimi kodu, ör. TRY, USD, EUR
dateYesKur bilgisi istenilen tarih (YYYY-MM-DD). 1999-01-04'ten itibaren desteklenir.
fromYesKaynak para birimi kodu, ör. USD, EUR, GBP

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 carries the behavioral disclosure burden. It usefully discloses the historical ECB/Frankfurter source and the 1999-onward range, but it does not mention return format, business-day behavior, holidays, or limitations.

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 with no filler. It front-loads the core function and then adds the historical data scope, making it efficient and easy to parse.

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 simple and the schema covers all required parameters, but with no output schema the description should clarify what exact value or structure is returned. It only says 'exchange rate,' omitting return format and edge cases like weekends or unsupported dates.

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 each parameter already documented. The description adds no additional parameter-level meaning beyond what the schema provides, 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 that the tool returns an exchange rate for a specified date and identifies the data source as historical ECB/Frankfurter data. This distinguishes it from current-rate or crypto/stock tools, though it does not explicitly name sibling alternatives.

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 that this tool is for historical exchange rates and references a specific data source and date range. However, it does not explicitly state when to prefer this over get_exchange_rate or convert_currency, nor does it mention exclusions.

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

get_inflation_dataA

Türkiye TÜFE (Tüketici Fiyat Endeksi) enflasyon verisini döndürür. FRED (St. Louis Fed) üzerinden TÜİK kaynaklı yıllık % değişim verisi sağlanır.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodsNoKaç aylık veri döndürülsün (1-120, default: 12)

TDQS

A3.9/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 usefully discloses the data source (FRED), the original provider (TUIK), and the metric (annual percentage change), making the behavior reasonably transparent. It does not mention update frequency or data lag, but for a simple read-only data fetch this is a minor gap.

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 compact sentences with no filler. The primary purpose is front-loaded first, and the source/metadata detail is placed second, making it easy for an agent to parse quickly.

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 is sufficient for basic invocation: it defines what data is returned and its source. However, there is no output schema and the description does not specify the response structure (e.g., date-value pairs), which leaves some ambiguity about what the agent should expect in the result.

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%, and the only parameter, 'periods', is already well documented in the schema with range and default. The tool description adds no additional parameter-level semantics, 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.

Purpose5/5

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

The description clearly states the verb ('returns') and the resource ('Turkey CPI inflation data'), and specifies the exact metric: annual percentage change sourced from TUIK via FRED. This makes it immediately distinguishable from the sibling tools, which cover exchange rates, currency conversion, crypto, BIST, and global stocks.

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 usage context is implied by the purpose: use this tool when Turkish CPI inflation data is needed. However, it does not explicitly state when to use it over alternatives, nor does it name any sibling tool or provide exclusion criteria.

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

get_multi_crypto_priceA

Birden fazla kripto paranın fiyatını tek sorguda döndürür. Ör: bitcoin, ethereum ve solana'nın TRY cinsinden fiyatlarını aynı anda alabilirsiniz.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinIdsYesCoinGecko coin id listesi, ör. ['bitcoin', 'ethereum', 'solana', 'binancecoin'] (max 10)
vsCurrencyNoFiyatların gösterileceği para birimi, ör. 'usd', 'try', 'eur'usd

TDQS

A3.8/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. It clearly conveys a read-only price lookup and the multi-currency batching behavior, but it does not mention rate limits, invalid coin ID handling, data source, or response format. For a simple public price tool 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 short sentences with the core behavior front-loaded and a concrete example in the second sentence. No filler or repetition of schema content.

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 two-parameter tool with no nested objects and full schema coverage, the description plus schema is sufficient to call it correctly. A minor gap is the absence of any return-shape description, but the output is simple enough to infer from the purpose.

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 coverage is 100%, so the parameters are already documented. The description's example reinforces coinIds and vsCurrency values (TRY), but it adds no semantic detail beyond what the schema provides, such as accepted currency codes or the maxItems limit.

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 ('döndürür' / returns), names the resource (multiple cryptocurrency prices), and scopes the behavior to a single query. The example with bitcoin, ethereum and solana in TRY makes the tool's purpose unmistakable and implicitly distinguishes it from the single-coin sibling get_crypto_price.

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 use case: retrieve several crypto prices at once instead of making separate calls. However, it never explicitly names an alternative (e.g., get_crypto_price for a single coin) or states when not to use this tool, so the guidance relies entirely on inference.

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

get_tcmb_rateA

TCMB (Türkiye Cumhuriyet Merkez Bankası) resmi günlük kur bülteninden, belirtilen dövizin alış ve satış kurlarını TRY cinsinden döndürür. Frankfurter'dan farklı olarak resmi alış/satış ayrımı içerir.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyCodeYesPara birimi kodu, ör. USD, EUR, GBP, JPY, CHF, SEK, NOK, DKK, CAD, AUD, KWD, SAR

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It says the tool returns official daily buying/selling rates from TCMB in TRY, but it does not cover update frequency, supported currencies beyond examples, or response structure. This is moderate transparency for a simple read operation.

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?

Two sentences with no filler. The core return behavior is front-loaded in the first sentence, and the Frankfurter comparison in the second is a concise and effective differentiator.

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 single-parameter tool with no output schema and no annotations, the description tells an agent what source, what rates, and what currency unit are involved—sufficient for selecting and invoking the tool. The lack of an explicit output format is a minor gap given the operation's simplicity.

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%, and the description does not add additional meaning to the currencyCode parameter beyond what the schema already documents. The baseline 3 applies because the schema carries the parameter burden.

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 explicitly states the action ('döndürür'), the resource (TCMB official daily bulletin), and the content (buying/selling rates in TRY). It also distinguishes the tool from Frankfurter by its official bid/ask separation, which sets it apart from sibling exchange-rate tools without needing to inspect their schemas.

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 second sentence positions this tool against Frankfurter, indicating it is the right choice when official TCMB bid/ask rates are required. This provides clear context, though it does not explicitly name a sibling tool or state when not to use it.

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. 9 tool updatesv1.1.0
    • First observedconvert_currency
    • First observedget_bist_price
    • First observedget_crypto_price
    • First observedget_exchange_rate
    • First observedget_global_stock_price
    • First observedget_historical_rate
    • First observedget_inflation_data
    • First observedget_multi_crypto_price
    • First observedget_tcmb_rate

TDQS

A3.8/5.0

Scored across 9 tools

Disambiguation3/5

Most tools target clear asset classes (fx, crypto, BIST, global stocks, inflation), but get_exchange_rate and get_historical_rate overlap heavily since the former also supports a specific date. get_bist_price and get_global_stock_price also have fuzzy boundaries because global coverage could include BIST symbols.

Naming Consistency4/5

Eight of nine tools follow a clean get_ prefix pattern, making the set predictable and scannable. convert_currency is the only outlier, but it is still a clear verb_noun name, so it reads as an intentional action rather than a naming failure.

Tool Count5/5

Nine tools is a well-scoped count for a finance data server covering fiat exchange, crypto, stocks, and inflation. Each tool adds a distinct data type or mode, and none feel superfluous.

Completeness4/5

The server covers core financial data retrieval well: current and historical fiat rates, official TCMB rates, crypto prices, stock prices, and inflation. Minor gaps exist—such as historical crypto/stock prices and date-based currency conversion—but the main informational workflows for the stated domain are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides access to real-time currency exchange rates, live stock market data via Alpha Vantage, and local transaction analysis from CSV databases. It enables AI assistants to perform currency conversions, stock comparisons, and budget tracking through natural language.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time stock price data from global markets, including the US, China, India, and Europe, without requiring API keys. It enables AI systems to retrieve financial information from trusted public sources such as NASDAQ, HKEX, and Morningstar.
    9
    -
  • A
    license
    A
    quality
    C
    maintenance
    Provides AI agents with real-time financial market intelligence including stock quotes, crypto data, technical analysis, and portfolio insights. Enables natural language queries for current prices, technical indicators, asset comparisons, and portfolio analysis.
    17
    7
    MIT