Official Polish central bank (NBP) exchange rates, currency conversion and gold prices.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Convert an amount between two currencies using official NBP mid rates, cross-rated through PLN. Supports PLN and every currency NBP quotes: table A is used first and table B (exotic currencies, published Wednesdays) is consulted automatically for codes A doesn't carry — each side of the response shows the rate, table and effectiveDate used. Latest rates by default, or historical with date. NBP publishes only on Polish business days — on weekends/holidays the request falls back to the most recent preceding publication; effectiveDate in the response shows the date actually used.
Target currency code (e.g. EUR, PLN). Case-insensitive.
Source currency code (e.g. USD, PLN). Case-insensitive.
Amount in the source currency to convert.
Optional historical date (YYYY-MM-DD). Omit for the latest rates.
Force a fresh NBP fetch and bypass this server's result cache. Default false.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http nbp https://mcp.wondel.ai/nbp/mcp
Convert an amount between two currencies using official NBP mid rates, cross-rated through PLN. Supports PLN and every currency NBP quotes: table A is used first and table B (exotic currencies, published Wednesdays) is consulted automatically for codes A doesn't carry — each side of the response shows the rate, table and effectiveDate used. Latest rates by default, or historical with date. NBP publishes only on Polish business days — on weekends/holidays the request falls back to the most recent preceding publication; effectiveDate in the response shows the date actually used.
| Argument | Type | Description |
|---|---|---|
| to* | string | Target currency code (e.g. EUR, PLN). Case-insensitive. |
| date | string | Optional historical date (YYYY-MM-DD). Omit for the latest rates. |
| from* | string | Source currency code (e.g. USD, PLN). Case-insensitive. |
| amount* | number | Amount in the source currency to convert. |
| no_cache | boolean | Force a fresh NBP fetch and bypass this server's result cache. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"from",
"to",
"amount"
],
"properties": {
"to": {
"type": "string",
"description": "Target currency code (e.g. EUR, PLN). Case-insensitive."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional historical date (YYYY-MM-DD). Omit for the latest rates."
},
"from": {
"type": "string",
"description": "Source currency code (e.g. USD, PLN). Case-insensitive."
},
"amount": {
"type": "number",
"description": "Amount in the source currency to convert.",
"exclusiveMinimum": 0
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh NBP fetch and bypass this server's result cache. Default false."
}
}
}Get the official NBP rate for one currency against PLN (Polish złoty) — the latest rate by default, or the rate in force on a historical date. Tables 'a'/'b' return the mid rate; table 'c' returns bid/ask. NBP publishes only on Polish business days — on weekends/holidays the request falls back to the most recent preceding publication; effectiveDate in the response shows the date actually used. Use nbp_rate_series for a multi-day history.
| Argument | Type | Description |
|---|---|---|
| code* | string | Three-letter ISO 4217 currency code (e.g. USD, EUR, CHF). Case-insensitive. |
| date | string | Optional historical date (YYYY-MM-DD). Omit for the latest rate. |
| table | string | NBP table: 'a' (default) = official mid rates of ~35 major currencies, published every business day; 'b' = mid rates of ~115 less-traded currencies, published Wednesdays; 'c' = bid/ask (buy/sell) rates of major currencies, published every business day. |
| no_cache | boolean | Force a fresh NBP fetch and bypass this server's result cache. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "Three-letter ISO 4217 currency code (e.g. USD, EUR, CHF). Case-insensitive."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional historical date (YYYY-MM-DD). Omit for the latest rate."
},
"table": {
"enum": [
"a",
"b",
"c"
],
"type": "string",
"description": "NBP table: 'a' (default) = official mid rates of ~35 major currencies, published every business day; 'b' = mid rates of ~115 less-traded currencies, published Wednesdays; 'c' = bid/ask (buy/sell) rates of major currencies, published every business day."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh NBP fetch and bypass this server's result cache. Default false."
}
}
}Get a full NBP (Polish central bank) exchange-rate table against PLN — the latest published table by default, or the table in force on a historical date. NBP publishes only on Polish business days — on weekends/holidays the request falls back to the most recent preceding publication; effectiveDate in the response shows the date actually used. Rates data starts 2002-01-02.
| Argument | Type | Description |
|---|---|---|
| date | string | Optional historical date (YYYY-MM-DD). Omit for the latest table. |
| table | string | NBP table: 'a' (default) = official mid rates of ~35 major currencies, published every business day; 'b' = mid rates of ~115 less-traded currencies, published Wednesdays; 'c' = bid/ask (buy/sell) rates of major currencies, published every business day. |
| no_cache | boolean | Force a fresh NBP fetch and bypass this server's result cache. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional historical date (YYYY-MM-DD). Omit for the latest table."
},
"table": {
"enum": [
"a",
"b",
"c"
],
"type": "string",
"description": "NBP table: 'a' (default) = official mid rates of ~35 major currencies, published every business day; 'b' = mid rates of ~115 less-traded currencies, published Wednesdays; 'c' = bid/ask (buy/sell) rates of major currencies, published every business day."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh NBP fetch and bypass this server's result cache. Default false."
}
}
}Get the official NBP gold price — PLN per 1 gram of 1000-fineness gold. Latest price by default; or one historical date; or the last N quotes (last_n, max 255); or a start_date/end_date range (max 93 days per query). Published every business day. NBP publishes only on Polish business days — on weekends/holidays the request falls back to the most recent preceding publication; effectiveDate in the response shows the date actually used. Gold data starts 2013-01-02.
| Argument | Type | Description |
|---|---|---|
| date | string | One historical date (YYYY-MM-DD). Mutually exclusive with last_n and the range. |
| last_n | integer | Return the last N published prices (1-255). Mutually exclusive with date and the range. |
| end_date | string | Range end (YYYY-MM-DD, inclusive). Requires start_date; span ≤ 93 days. |
| no_cache | boolean | Force a fresh NBP fetch and bypass this server's result cache. Default false. |
| start_date | string | Range start (YYYY-MM-DD, inclusive). Requires end_date. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "One historical date (YYYY-MM-DD). Mutually exclusive with last_n and the range."
},
"last_n": {
"type": "integer",
"maximum": 255,
"minimum": 1,
"description": "Return the last N published prices (1-255). Mutually exclusive with date and the range."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Range end (YYYY-MM-DD, inclusive). Requires start_date; span ≤ 93 days."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh NBP fetch and bypass this server's result cache. Default false."
},
"start_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Range start (YYYY-MM-DD, inclusive). Requires end_date."
}
}
}Get a historical time series of NBP rates for one currency against PLN: either the last N published quotes (last_n, default 30, max 255) or an explicit start_date/end_date window (max 93 days per query — NBP's hard limit; chain calls for longer spans). Quotes exist only for publication days: business days for tables 'a'/'c', Wednesdays for 'b'. Data starts 2002-01-02.
| Argument | Type | Description |
|---|---|---|
| code* | string | Three-letter ISO 4217 currency code (e.g. USD, EUR, CHF). Case-insensitive. |
| table | string | NBP table: 'a' (default) = official mid rates of ~35 major currencies, published every business day; 'b' = mid rates of ~115 less-traded currencies, published Wednesdays; 'c' = bid/ask (buy/sell) rates of major currencies, published every business day. |
| last_n | integer | Return the last N published quotes (1-255). Default 30. Mutually exclusive with start_date/end_date. |
| end_date | string | Window end (YYYY-MM-DD, inclusive). Requires start_date; span ≤ 93 days. |
| no_cache | boolean | Force a fresh NBP fetch and bypass this server's result cache. Default false. |
| start_date | string | Window start (YYYY-MM-DD, inclusive). Requires end_date. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "Three-letter ISO 4217 currency code (e.g. USD, EUR, CHF). Case-insensitive."
},
"table": {
"enum": [
"a",
"b",
"c"
],
"type": "string",
"description": "NBP table: 'a' (default) = official mid rates of ~35 major currencies, published every business day; 'b' = mid rates of ~115 less-traded currencies, published Wednesdays; 'c' = bid/ask (buy/sell) rates of major currencies, published every business day."
},
"last_n": {
"type": "integer",
"maximum": 255,
"minimum": 1,
"description": "Return the last N published quotes (1-255). Default 30. Mutually exclusive with start_date/end_date."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Window end (YYYY-MM-DD, inclusive). Requires start_date; span ≤ 93 days."
},
"no_cache": {
"type": "boolean",
"description": "Force a fresh NBP fetch and bypass this server's result cache. Default false."
},
"start_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Window start (YYYY-MM-DD, inclusive). Requires end_date."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.