Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for exchange-rates-mcp-server

Pod holds 8 of 8 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to exchange-rates-mcp-server.

Most discussed

feat(errors): unsupported_currency omits the 30 accepted ECB codes it just checked against

Use case

unsupportedCurrency() names the rejected currency code but never the ECB's accepted set, so a caller that guesses a currency outside ECB coverage (ARS, AED, RUB, TWD, VND are ordinary requests the ECB does not publish) has to spend a second fx_list_currencies call before it can correct or abandon the request. The live set is small — GET https://api.frankfurter.dev/v1/currencies returned exactly 30 codes on 2026-09-12 (`AUD BRL CAD CHF CNY CZK DKK EUR GBP HKD HUF IDR ILS INR…

Read the thread · 2026-08-18 · closed · 1 comment

bug(fx_get_timeseries): spilled response omits the dataframe-tool pointer

Server version

0.2.1

mcp-ts-core version

0.11.0

Runtime

Bun

Runtime version

1.3.14

Transport

stdio

Description

Related: #11

When fx_get_timeseries spills a long range to DataCanvas, the response returns canvas_id and table_name but no guidance naming the tools that read them. A model holding an opaque 10-character canvas ID has to already know this server registers fx_dataframe_describe and fx_dataframe_query before it can reach the staged series —…

Read the thread · 2026-08-13 · closed · 1 comment

feat(fx_get_rates): surface historical date snapping

Use case

fx_get_rates returns the provider's actual rate_date, but nothing in the response tells a caller whether a historical request landed on the date it asked for. fx_get_rate and fx_convert_currency already expose date_snapped: boolean plus an explicit weekend/holiday notice for exactly this. A caller building a multi-currency snapshot for a specific historical date (e.g. a month-end close) currently has to retain its own request date and diff it against rate_date to know…

Read the thread · 2026-08-11 · closed · 1 comment

bug(fx_get_rates): mark live API access as open-world

Server version

0.3.1 (also present at the originally-filed 0.2.1 — reconfirmed against current main)

mcp-ts-core version

0.12.3 (also present at the originally-filed 0.11.0)

Runtime

Bun

Runtime version

N/A — this is a static tool-definition defect (the annotation value declared in fx-get-rates.tool.ts), not runtime- or transport-dependent. Reproduces identically under Bun or Node, any transport.

Transport

stdio

OS

N/A — not runtime-dependent (see Runtime…

Read the thread · 2026-08-11 · closed · 1 comment

bug(fx_dataframe_query): escape Markdown table cells

Server version

0.3.1

mcp-ts-core version

0.12.8

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

fx_dataframe_query's format() interpolates raw cell values into a Markdown table with no escaping. A cell containing | splits into extra table columns; <...> is interpreted as HTML by Markdown renderers; *, _, [...]/(...), and literal newlines are interpreted as Markdown emphasis, links, and row breaks instead of…

Read the thread · 2026-08-11 · closed · 1 comment

bug(fx_dataframe_query): bound immediate query results

Server version

0.3.1

mcp-ts-core version

0.12.8

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

fx_dataframe_query's format() independently slices content to the first 50 rows while structuredContent.rows carries every row DataCanvas's query() returns (up to its 10,000-row default cap). The two response surfaces diverge as soon as a result exceeds 50 rows — far below the DataCanvas cap — and nothing bounds…

Read the thread · 2026-08-11 · closed · 1 comment

bug(fx_get_timeseries): bound inline ranges and provide pagination

Server version

0.2.1

mcp-ts-core version

0.11.0

Runtime

Bun

Runtime version

1.3.14

Transport

HTTP (Streamable HTTP)

Description

When DataCanvas is disabled (CANVAS_PROVIDER_TYPE unset), fx_get_timeseries returns the entire requested range inline in structuredContent regardless of size. There is no limit/offset/cursor input and no truncation signal on this path, so a wide date range can return a multi-hundred-KB payload with no way for the caller to…

Read the thread · 2026-08-11 · closed · 1 comment

bug(fx_get_rates): empty symbols returns an unfiltered snapshot

Server version

0.2.1

mcp-ts-core version

0.11.0

Runtime

Bun

Runtime version

Bun 1.3.14

Transport

HTTP (Streamable HTTP)

Description

An explicit empty symbols array is accepted and silently treated as though the filter were omitted. A caller that constructs an empty selection receives every available quote instead of a validation error.

Steps to reproduce

Call fx_get_rates with:

{
  "base_currency": "USD",
  "symbols": []
}

Actual…

Read the thread · 2026-08-11 · closed · 1 comment

Most recent

The remaining reports are on the project's issue tracker.