Historical Foreign Exchange Rates (Currency Pair, Date Range)
omnial/x402-forex-history
Given a currency pair (e.g. EUR to USD) and an optional start/end date, returns the daily historical exchange rate for each day in the range, plus the average, minimum, maximum, and percent change over that period. Defaults to a recent multi-week window when no dates are given.
Price
Up to $0.0811 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Data source
Data from the European Central Bank.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/x402-forex-history" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/x402-forex-history" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/x402-forex-history", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/x402-forex-history", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0811 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Target currency (e.g. USD)"
},
"from": {
"type": "string",
"description": "Source currency (e.g. EUR)"
},
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"rates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "'YYYY-MM-DD'."
},
"rate": {
"type": "number"
}
},
"additionalProperties": true
},
"description": "One entry per trading day with a published rate. Observed 6 entries for a 7-calendar-day request (weekend/holiday gaps skipped) and 22 entries for the endpoint's own default ~1-month range -- day count is not guaranteed to match the calendar span requested."
},
"average": {
"type": "number",
"description": "Mean rate across all returned days."
},
"end_date": {
"type": "string",
"description": "End of the date range covered, 'YYYY-MM-DD'. Defaults to the current date when the caller omits it."
},
"start_date": {
"type": "string",
"description": "Start of the date range covered, 'YYYY-MM-DD'. When the caller omits start_date/end_date, this is the endpoint's own default range start, typically one calendar month before the default end_date."
},
"data_points": {
"type": "number",
"description": "Count of entries in `rates`."
},
"to_currency": {
"type": "string",
"description": "Echoed target currency code, e.g. 'USD'."
},
"from_currency": {
"type": "string",
"description": "Echoed source currency code, e.g. 'EUR'."
},
"change_percent": {
"type": "number",
"description": "Percent change from the first to the last rate in the range; can be negative."
}
},
"description": "The forex history result.",
"additionalProperties": true
}