Skip to main content
Glama

Faceabot Exchange rates

Server Details

Exchange rates for about 150 currencies from central banks (ECB and others). Free, no key.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one performs conversions, the other enumerates supported currencies and their sources. There is no realistic scenario where an agent would confuse the two.

Naming Consistency4/5

Both names are snake_case and readable, but 'exchange_rate' is a noun while 'list_currencies' is a verb_noun pattern, a minor stylistic deviation. The set is small enough that this has no practical impact.

Tool Count4/5

Two tools is thin but defensible for a narrowly scoped exchange-rate server—conversion plus a coverage-discovery tool is a sensible minimal surface. It sits just below the ideal range but nothing feels redundant.

Completeness4/5

Core workflows (convert with source bank and date, any past date since 2002, check coverage) are covered with no dead ends. A bulk historical time-series operation is absent, but agents can loop over dates to work around it.

Available Tools

2 tools
exchange_rateCurrency exchange rate and conversion (central banks, ~150 currencies)A
Read-onlyIdempotent
Inspect

Converts an amount between currencies with official central-bank rates: European Central Bank, Bank of Russia, National Bank of Ukraine, National Bank of Poland. About 150 currencies: USD, EUR, JPY, GBP, CNY, INR, RUB, UAH, NGN, ARS, EGP, AED, SAR, PKR, VND, KES, TRY, BRL, KZT… Each result names its bank and date. Today or any past date since 2002. Use when: you need an exchange rate or to convert a price ("100 USD in RUB", "euro to yen today", "naira to dollar"). Not for: crypto prices, or the exact rate a bank will charge. Example: {"from":"USD","to":"RUB","amount":100}

NameRequiredDescriptionDefault
toYesCurrency to convert to, or a list of up to 15 currencies
dateNoOptional past date YYYY-MM-DD (since 2002; default: latest rates). Weekend or holiday: the last rate in force before it.
fromYesCurrency to convert from: 3-letter ISO code (USD, EUR, RUB, JPY…) or a common name ("yen", "ruble", "naira")
amountNoAmount in the 'from' currency

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered; the description adds provenance (which central banks supply rates), the fact that each result names its bank and date, and historical reach back to 2002. It stops short of describing caching, staleness, or fallback behavior when a currency pair is unavailable, which is why it is not a 5.

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?

Front-loaded with the core capability, then cleanly sectioned into 'Use when:', 'Not for:', and an example. The currency enumeration is long but earns its place by signaling supported-corridor breadth and common-name tolerance.

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 four parameters, no output schema, and no nested objects, the description covers sources, history depth, and partial return structure ('names its bank and date'). It leaves the exact response shape (field names, single vs. multi-target result layout) unstated, a minor gap for a read-only conversion tool.

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 schema already documents ISO codes, common names, the array-of-up-to-15 targets, the amount default, and weekend/holiday date fallback. The description's example payload and currency list restate schema content rather than adding new semantics, so the 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?

States a specific verb (converts) plus resource (amount between currencies) and pins down the rate source and breadth (four named central banks, ~150 currencies). The scope is distinct enough from the lone sibling list_currencies that an agent can route without opening a schema.

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

Usage Guidelines5/5

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

Explicit 'Use when:' with concrete natural-language queries ('100 USD in RUB', 'naira to dollar') and an explicit 'Not for:' excluding crypto prices and actual bank-charged rates. Both the positive trigger and the exclusions are stated rather than inferred.

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

list_currenciesCurrencies covered (about 150, from 4 central banks)A
Read-onlyIdempotent
Inspect

Lists every currency covered, with the central banks that publish it and the date of their latest rates. Use when: you need to know whether a currency is covered.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare read-only, idempotent, open-world, and non-destructive behavior, so safety is covered. The description adds useful behavioral context by saying the list includes central banks and latest rate dates, which helps the agent understand what it gets back.

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?

It is two tight sentences: the first states what the tool returns, and the second states the use case. Nothing is wasted, and the return content is front-loaded.

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, read-only list tool with no output schema, the description provides the essential return content: all covered currencies, their central banks, and the latest rate dates. It is complete enough for correct invocation.

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?

This tool takes zero parameters, so per the rubric the baseline is 4. The description correctly implies a no-argument enumeration call, and there are no parameters needing semantic explanation.

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 gives a specific verb ('Lists') and resource ('every currency covered') and explains the return contents: central banks and latest rate date. It is clear, but it does not explicitly differentiate itself from the sibling exchange_rate tool.

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?

It explicitly states when to use it: 'you need to know whether a currency is covered.' That is clear usage context, though it offers no when-not-to-use guidance or named alternative.

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. 2 tool updates
    • First observedexchange_rate
    • First observedlist_currencies

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides live and historical foreign-exchange rates from the European Central Bank via Frankfurter API, enabling currency conversion, rate lookup, and trend analysis without API keys.
    5
    1 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides National Bank of Romania (BNR) FX reference rates without API key.
    8 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Real-time currency exchange rates and crypto prices via MCP. Convert between 60+ fiat currencies and 30+ cryptocurrencies with multi-source failover. No API keys needed for upstream data.
    5 npm
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time and historical foreign exchange rates for 31+ currencies, enabling currency conversion, historical rate lookups, and time series analysis using data from the Frankfurter API.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources