Skip to main content
Glama

Hasfiyat Altın API

Server Details

Official MCP server of Hasfiyat Altın API: live Turkish gold & FX prices (TRY), history, calc.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation4/5

get_prices (live quotes), get_price_history (OHLC history), calculate_value (quantity × price math), and list_sources (metadata) each target a distinct need. The only mild overlap is between get_prices and calculate_value, since an agent could fetch a price and multiply manually, but the descriptions make the boundary reasonably clear.

Naming Consistency5/5

All four tools use a consistent snake_case verb_noun pattern: calculate_value, get_price_history, get_prices, list_sources. The get_* family is uniform and list_sources/calculate_value fit the same style.

Tool Count4/5

Four tools is a small but well-scoped surface for a price API where each tool earns its place. It is on the thin side — no dedicated symbol-discovery tool — but nothing feels padded or redundant.

Completeness4/5

The surface covers live quotes, historical OHLC, value calculation, and source discovery, which spans the core lifecycle of a pricing API. Minor gaps exist: symbol enumeration relies on calling get_prices with an empty symbols list, and there is no batch calculation or unit/metadata lookup.

Available Tools

4 tools
calculate_valueAltın/döviz tutarı hesaplaA
Read-onlyIdempotent
Inspect

Bir kalemin canlı fiyatıyla miktar × fiyat hesabı yapar. Ör. 15 gram 22 ayar, 3 çeyrek, 1000 USD kaç TL. side: satış (sell, müşterinin alırken ödediği) veya alış (buy). Computes quantity × live price in TRY.

NameRequiredDescriptionDefault
sideNosell = satış fiyatı, buy = alış fiyatı.sell
sourceNoFiyat kaynağı kodu.harem
symbolYesKalem, ör. "GRAM", "22 AYAR", "CEYREK", "USD".
quantityYesMiktar (gram, adet veya döviz birimi).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover readOnly/destructive/idempotent/openWorld, so the bar is lower. The description adds useful context by stressing 'canlı fiyat' (live price), explaining why results vary and why the tool is open-world, but it omits things like caching/staleness, error behavior for unknown symbols, and whether the price is fetched at call time per `source`.

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?

Front-loaded with the core formula and backed by concrete examples; the `side` clarification is placed sensibly. The Turkish/English duplication of the same sentence ('miktar × fiyat' / 'quantity × live price in TRY') is slightly redundant but not damaging.

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 read-only calculation tool with full schema coverage and no output schema, the definition supplies the formula, the output currency (TRY), and input examples — enough to call it correctly. It stops short of describing the result shape (single total vs. price + total breakdown) or behavior on an unknown symbol, which would be the remaining gap.

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?

Schema coverage is 100%, so baseline is 3; the description goes beyond by reframing `side` from the customer's perspective ('müşterinin alırken ödediği') and giving symbol examples that match the schema's own examples, reinforcing the expected value format. `source` and `quantity` semantics remain schema-only, but overall it adds real nuance.

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?

States a specific verb and formula (quantity × live price) plus the target domain (gold/currency in TRY), and the worked examples ('15 gram 22 ayar, 3 çeyrek, 1000 USD kaç TL') make the computation concrete. It is clearly distinguishable from get_prices/get_price_history by the presence of a quantity multiplier, though no sibling is named 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 when to use it (when you need a total value rather than a unit price) and clarifies the sell/buy perspective, but never states the alternative explicitly — e.g. 'use get_prices for the raw quote, this tool for a quantity total'. No exclusions or prerequisites are given.

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

get_price_historyGeçmiş fiyat (OHLC)A
Read-onlyIdempotent
Inspect

Bir kalemin günlük (1d) veya saatlik (1h) açılış/yüksek/düşük/kapanış geçmişini döndürür (harem kaynağı). Günlük veri 4 Ekim 2026'dan, saatlik veri son 45 günden itibaren vardır. Tarihler YYYY-MM-DD. Returns daily or hourly OHLC history (Europe/Istanbul).

NameRequiredDescriptionDefault
toNoBitiş tarihi (YYYY-MM-DD).
fromNoBaşlangıç tarihi (YYYY-MM-DD).
periodNo1d = günlük, 1h = saatlik.1d
symbolNoKalem adı veya kısaltması, ör. "HAS ALTIN", "GRAM", "USD".HAS ALTIN

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive and openWorld, so the description only has to add depth. It does so by disclosing the bounds of historical data and the Europe/Istanbul timezone, which matters for interpreting the returned timestamps. It stops short of explaining empty-range behavior or error responses.

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 short and front-loads the core behavior followed by data-availability constraints. The full English restatement of the final sentence is somewhat redundant, given that the first sentence is already Turkish, which costs it a perfect score.

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 read-only history tool with no output schema, the description covers what is returned (OHLC), the granularity options, the coverage window and the timezone. Only edge behavior such as out-of-range dates or empty results is left unstated.

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?

With 100% schema description coverage, the schema already documents all four parameters, including the date pattern, the period enum and example symbols. The description reinforces the YYYY-MM-DD format and the timezone, but it adds no syntax or constraint detail beyond what the schema already says. A 3 reflects this baseline.

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 names a specific resource and verb ('returns daily or hourly open/high/low/close history') and states the data source ('harem kaynağı'), which distinguishes it from the sibling 'get_prices'. It does not explicitly name the sibling tools as alternatives, so it falls short of a 5.

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?

Usage is implied through data-availability limits: daily data starts 4 Oct 2026, hourly data covers only the last 45 days. That steers an agent toward the right period value, but there is no explicit statement about when to pick this tool over 'get_prices' or what to do if the requested range falls outside the window.

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

get_pricesCanlı altın ve döviz fiyatlarıA
Read-onlyIdempotent
Inspect

Türkiye piyasası için canlı altın, gümüş, döviz ve parite alış/satış fiyatlarını döndürür (TL). symbols boşsa kaynaktaki tüm kalemler gelir. Örnek semboller: HAS, GRAM, CEYREK, YARIM, TAM, ATA, 22 AYAR, ONS, USD, EUR. Her çağrı 1 REST isteği sayılır. Returns live Turkish market gold/FX buy & sell prices in TRY.

NameRequiredDescriptionDefault
sourceNoFiyat kaynağı kodu (varsayılan harem).harem
symbolsNoİstenen semboller, ör. ["HAS","GRAM","CEYREK","USD"]. Boş bırakılırsa tüm kalemler.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely new context: each call counts as one REST request (a quota/rate signal), prices are in TRY, and an empty symbol list returns every item from the source.

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?

Front-loaded with the core purpose, then the empty-list rule, examples and the REST-request cost — a sensible order. The closing English sentence largely duplicates the opening Turkish one, which is defensible for non-Turkish agents but is redundant text.

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 no output schema, the description carries the burden of describing returns, and it does state that buy/sell prices in TRY come back for the requested items. For a two-parameter read tool this is nearly sufficient, though the response shape (per-item fields) and the meaning of the source codes remain unstated.

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 both `source` and `symbols`, including the empty-list behavior. The description contributes a longer example symbol vocabulary (ONS, parities, gold grades) but no explanation of what the twelve source codes mean or how they differ, leaving that to list_sources.

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 names a specific verb and resource set: it returns live gold, silver, FX and parity buy/sell prices for the Turkish market in TRY. That clearly separates it from get_price_history (historical) and calculate_value (computation), though it never names those siblings explicitly.

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 when-to-use or when-not-to-use guidance, and no routing to get_price_history, list_sources or calculate_value. The only usage-adjacent statement is that an empty `symbols` list returns everything, which is parameter behavior rather than tool selection advice.

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

list_sourcesFiyat kaynaklarını listeleA
Read-onlyIdempotent
Inspect

Hasfiyat Altın API'nin desteklediği fiyat kaynağı kodlarını listeler (get_prices için source). API anahtarı gerektirmez, kota harcamaz. Lists the price source codes accepted by get_prices. No API key needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds operational facts the annotations do not: no API key required and no quota consumed, which matters for an agent deciding whether it is cheap to call. It does not describe the shape of the returned list, which is the remaining gap.

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?

Two short sentences, front-loaded with what is listed and followed by the operational caveats. The Turkish and English versions are near-duplicates rather than a single tight statement, which is mild redundancy, but each sentence still carries distinct information (purpose, then no-key/no-quota).

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, read-only lookup with no output schema, the definition covers purpose, downstream use, and cost/auth behavior. The only missing piece is any hint about the returned value's format (e.g. a flat array of code strings), which would fully close the loop given there is no output schema.

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 takes zero parameters, so the baseline is 4 and there is nothing for the schema to document. The description still adds value by explaining that the returned codes are the accepted inputs for get_prices' source argument, linking the output to a downstream parameter.

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?

States a specific verb and resource ("lists the price source codes") and explicitly scopes it as "accepted by get_prices", which ties it directly to a named sibling. An agent can distinguish it from get_prices, get_price_history and calculate_value without opening any schema.

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 parenthetical "(get_prices için `source`)" makes the intended use clear: call this to discover valid values for get_prices' source argument. It stops short of an explicit "call this before/only when you need a source code" instruction, and names no exclusion cases, but the usage context is unambiguous.

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. 4 tool updates
    • First observedcalculate_value
    • First observedget_price_history
    • First observedget_prices
    • First observedlist_sources

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server for live Turkey data — gold & silver prices, official TCMB exchange rates, fuel pump prices, prayer times and the Kandilli earthquake feed.
    7
    73 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides current and historical gold/precious metal prices (gold, silver, platinum, and palladium) via the GoldAPI.io service with support for multiple currencies.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Official MCP server that exposes 8 tools for real-time and historical commodity prices (gold, silver, oil, and 140+ more), allowing AI assistants to query market data via natural language.
    8
    463 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Official MCP server for accepting crypto payments through OrcaRail. It enables AI agents to create payment intents, manage subscriptions, handle product catalogs, and get exchange rates via natural language.
    26
    252 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources