Data source: European Central Bank
https://context.gnist.ai/mcp/ecb-fx/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (4)
get_rateGet the current exchange rate between two currencies.
Uses ECB daily reference rates (updated ~16:00 CET). EUR is used as pivot
for cross-currency conversions.
Args:
base: ISO 4217 currency code for the base currency (e.g. "USD", "EUR", "NOK").
target: ISO 4217 currency code for the target currency (e.g. "GBP", "JPY").
Returns:
Exchange rate: 1 unit of base = rate units of target, plus the ECB publication date.
| Parameter | Type | Required | Description |
|---|---|---|---|
base | string | required | ISO 4217 currency code for the base currency (e.g. "USD", "EUR", "NOK"). |
target | string | required | ISO 4217 currency code for the target currency (e.g. "GBP", "JPY"). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_rate",
"arguments": {
"base": "example",
"target": "example"
}
}
}get_ratesGet current exchange rates for all ECB-covered currencies against a base currency.
Uses ECB daily reference rates (updated ~16:00 CET). Covers ~30 major currencies.
Args:
base: ISO 4217 currency code (e.g. "USD", "EUR", "NOK").
Returns:
Dictionary of all available currencies and their rates against the base,
plus the ECB publication date.
| Parameter | Type | Required | Description |
|---|---|---|---|
base | string | required | ISO 4217 currency code (e.g. "USD", "EUR", "NOK"). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_rates",
"arguments": {
"base": "example"
}
}
}get_historyGet daily exchange rates for a currency pair over the past N days (up to 90).
Uses ECB 90-day historical reference rates.
Args:
base: ISO 4217 currency code for the base currency (e.g. "USD", "EUR").
target: ISO 4217 currency code for the target currency (e.g. "NOK", "GBP").
days: Number of days of history to return (1–90, default 30).
Returns:
Time series of daily exchange rates, newest first.
| Parameter | Type | Required | Description |
|---|---|---|---|
base | string | required | ISO 4217 currency code for the base currency (e.g. "USD", "EUR"). |
target | string | required | ISO 4217 currency code for the target currency (e.g. "NOK", "GBP"). |
days | integer | optional | Number of days of history to return (1–90, default 30). (default: 30) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_history",
"arguments": {
"base": "example",
"target": "example"
}
}
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "report_feedback",
"arguments": {
"feedback": "example"
}
}
}Quick Start
curl -X POST "https://context.gnist.ai/mcp/ecb-fx/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_rate", "arguments": {"base": "example", "target": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/ecb-fx/",
headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_rate",
"arguments": {
"base": "example",
"target": "example"
}
}
},
)
print(resp.json())