Skip to main content
Glama

Server Details

Official ČNB exchange rates — daily & historical CZK vs EUR, USD, 30+ currencies. For accounting.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
martinhavel/cz-agents-mcp
GitHub Stars
4
Server Listing
cz-agents-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.9/5 across 3 of 3 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation4/5

The three tools are mostly distinct: convert handles cross-currency conversion, get_rate provides a single currency's CZK rate, and get_rates lists all rates. However, get_rate without a code returns all rates, overlapping with get_rates, which could cause confusion if descriptions are not carefully read.

Naming Consistency5/5

All tools follow a consistent lowercase verb-based naming convention: convert, get_rate, get_rates. The pattern is simple and predictable, with the plural 'rates' clearly distinguishing the bulk operation from the single-rate lookup.

Tool Count5/5

With only 3 tools, the server is tightly scoped for its purpose of accessing ČNB exchange rates. Each tool serves a distinct, necessary function—conversion, single rate lookup, and full rate listing—without redundancy.

Completeness5/5

The tool surface covers the core domain completely: retrieving all rates, retrieving a single rate, and converting between currencies, including historical dates. No obvious missing operations for a currency exchange rate server of this type.

Available Tools

3 tools
convertA
Read-only
Inspect

Convert an amount between two currencies using official ČNB rates. E.g., convert 100 EUR to CZK, or 50 USD to GBP (goes via CZK cross-rate). Optional date for historical conversion.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget currency ISO 4217 code.
dateNoOptional ISO date for historical rates. Omit for latest.
fromYesSource currency ISO 4217 code (e.g., "EUR", "USD", "CZK").
amountYesAmount to convert.
Behavior4/5

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

Annotations already provide readOnlyHint, so the safety profile is covered. The description adds valuable behavioral detail beyond the schema: the conversion 'goes via CZK cross-rate' and supports an optional date for historical rates. This explains how the tool works without repeating 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: first states the core purpose, second gives examples and the cross-rate note. It is front-loaded, efficient, and contains no fluff. 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?

For a read-only conversion tool with full schema and no output schema, the description is largely complete: purpose, examples, cross-rate behavior, historical option. It could mention the return format, but that's not critical for a simple conversion. Overall, it provides sufficient context for an agent to use it correctly.

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 covers 100% of parameters with descriptions, but the description adds meaning: it explains the cross-rate mechanic (from/to via CZK) and provides concrete examples. The `date` parameter is clarified as optional for historical conversion. This goes beyond the schema's basic ISO code descriptors.

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 function: 'Convert an amount between two currencies using official ČNB rates.' It includes specific examples (EUR→CZK, USD→GBP) and differentiates from sibling tools like get_rate and get_rates by emphasizing conversion of an amount rather than just fetching a rate.

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 provides clear context for when to use this tool (converting amounts between currencies, with optional historical date). It does not explicitly mention alternatives or exclusions, but the examples and purpose make it obvious this is the conversion tool, not a rate-lookup tool. A small gap: no explicit 'use get_rate for just rates' guidance.

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

get_rateB
Read-only
Inspect

Quick single-currency lookup. Returns just the CZK rate for one currency (or all rates if no code given).

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesISO 4217 currency code (e.g., "EUR", "USD", "GBP").
dateNoOptional ISO date for historical rate.
Behavior2/5

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

The description adds the behavior of returning all rates if no code is given, but this directly contradicts the schema's required field 'code.' It does not disclose other behavioral traits such as output format or date usage, and the contradiction with the schema undermines transparency beyond what annotations provide.

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

Conciseness3/5

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

The description is short and front-loaded, but the second sentence includes a statement ('or all rates if no code given') that is misleading given the required 'code' parameter. This prevents it from being concise in a useful way—it introduces confusion rather than earning its place.

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 simple tool with full schema coverage and readOnly annotation, the description covers the core lookup behavior. However, it fails to explain the output format, the handling of the optional date, or resolve the contradiction about missing code. Overall it is minimally adequate but has clear 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?

Schema coverage is 100% with both parameters ('code' and 'date') already described in the input schema. The description does not add additional meaning about parameters 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 this is a single-currency lookup for the CZK rate, using a specific verb ('Get') and resource (CZK rate). It distinguishes from the sibling get_rates by emphasizing 'single-currency,' though the added 'or all rates if no code given' introduces confusion and overlaps with get_rates.

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 quick single-currency lookups, but it does not explicitly mention when to use this tool versus alternatives like get_rates or convert. The phrase 'if no code given' suggests an alternative usage that contradicts the schema, making the guidance unclear and potentially misleading.

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

get_ratesA
Read-only
Inspect

Get official CZK exchange rates published by ČNB. Returns all currencies from the daily sheet (~31 majors). Optional date parameter (YYYY-MM-DD) for historical rates; otherwise returns latest.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoOptional ISO date (YYYY-MM-DD) for historical rates. Omit for latest.
Behavior4/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description adds meaningful context: it identifies the data source (ČNB), the exact scope (all currencies from the daily sheet), and the behavior of the date parameter (historical vs. latest). This enriches the agent's understanding without contradicting 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 concise and well-structured: the first sentence states the core purpose, and the second sentence explains the parameter behavior. Every sentence earns its place with no redundant 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?

For a simple tool with one optional parameter and no output schema, the description adequately conveys what the tool returns and how to invoke it. It could mention whether rates are relative to CZK (implied) or the exact return format, but these are minor gaps given the tool's simplicity.

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?

While the schema covers 100% of the sole parameter with a pattern and description, the tool description adds practical semantics: the date is optional, used for historical rates, and omitting it returns the latest rates. This goes beyond the schema's basic syntax explanation.

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 gets official CZK exchange rates from ČNB and specifically returns all currencies from the daily sheet (~31 majors). It distinguishes itself from sibling tools like get_rate and convert by emphasizing the 'all currencies' scope.

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 retrieving all daily rates, with an optional historical date, but does not explicitly state when to choose this over get_rate or convert. The absence of explicit alternative guidance makes the usage context clear but not fully differentiated.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Currency conversion and exchange rates for AI assistants. 170+ currencies, historical data back to 1999.
    Last updated
    4
    54
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Provides access to Croatian National Bank exchange rates without needing an API key, enabling currency conversion and rate queries through natural language.
    Last updated
    25
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.