MCP Server

CurrencyGuard Guard Pricing

com.currencyguard/guard-pricing
Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Prices indicative FX protection products and provides spot, forward, historic performance, currency, and settlement-date information.

explain_guard_product
Explain Guard Product
Explain the Guard product using CurrencyGuard's approved product and FAQ content. Covers: what the Guard is, how it works, who it is for, how it compares to forwards or options, and legal, regulatory, accounting, or eligibility questions.
Read only Open world
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_forward_rate
Get Forward FX Rate
Get an indicative forward FX rate for a currency pair at a specific tenor. Rates are derived from interest rate differentials, rounded, and for illustration purposes only — not for execution. Returns: forwardRate (indicative mid outright = spot + forward points), forwardPoints (in pips, e.g. -3.1 means the forward rate is 3.1 pips below spot), spotMid (indicative spot mid rate for comparison), settlementDate (the resolved business date for the tenor). Negative forward points mean the forward rate is below spot; positive means above. Example: base=GBP, quote=USD, tenor=3M returns the 3-month GBPUSD indicative forward rate.
Read only Open world
Input schema
{'type': 'object', 'required': ['base', 'quote', 'tenor'], 'properties': {'base': {'type': 'string', 'description': 'Base currency ISO code, e.g. GBP'}, 'quote': {'type': 'string', 'description': 'Quote currency ISO code, e.g. USD'}, 'tenor': {'type': 'string', 'description': 'Tenor period, e.g. 1W, 1M, 3M, 6M, 1Y'}}}
get_historic_best_worst
Historic Best/Worst FX Performance
Analyze historic best/worst FX performance for a currency pair over a Guard's duration. Uses Bank of England historic rates. Returns a 'performances' array with 6 entries — BEST and WORST for each of three lookback periods (5, 10, 25 years). Each entry contains: type, lookbackYears, startDate/endDate, startRate/endRate, performancePercentage, startAmount, finalAmount, deltaAmount. For Guard-Pay: negative delta = cost decreased = BEST; positive delta = cost increased = WORST. For Guard-Receive: positive delta = receipt increased = BEST; negative delta = receipt decreased = WORST. Parameters must match the values used in the preceding price_guard call, including payReceive (PAY or RECEIVE).
Read only Open world
Input schema
{'type': 'object', 'required': ['guardCurrency', 'foreignCurrency', 'payReceive', 'foreignAmount', 'guardAmount', 'settlementDate'], 'properties': {'payReceive': {'type': 'string', 'description': 'MUST be the exact same payReceive value you used in price_guard (PAY or RECEIVE). Do NOT change it.'}, 'guardAmount': {'type': 'number', 'description': 'Guard amount in base/home currency from the Guard quote (the guardAmount field from the price_guard response)'}, 'foreignAmount': {'type': 'number', 'description': 'Amount in foreign currency — MUST match foreignAmount from price_guard'}, 'guardCurrency': {'type': 'string', 'description': 'Home/base currency ISO code — MUST match guardCurrency from price_guard'}, 'settlementDate': {'type': 'string', 'description': 'Settlement date in ISO format YYYY-MM-DD — MUST match settlementDate from price_guard'}, 'foreignCurrency': {'type': 'string', 'description': 'Foreign currency ISO code — MUST match foreignCurrency from price_guard'}}}
get_spot_rate
Get Spot FX Rate
Get an indicative spot FX rate for a currency pair. Returns rounded bid, ask, and mid rates for illustration purposes only — not for execution. Example: base=GBP, quote=USD returns the GBPUSD rate.
Read only Open world
Input schema
{'type': 'object', 'required': ['base', 'quote'], 'properties': {'base': {'type': 'string', 'description': 'Base currency ISO code, e.g. GBP'}, 'quote': {'type': 'string', 'description': 'Quote currency ISO code, e.g. USD'}}}
list_supported_currencies
List Supported Currencies
List the currency pairs currently available for Guard pricing. Always call this rather than assuming which pairs are supported — the list is configuration-driven and changes.
Read only Open world
Input schema
{'type': 'object', 'required': [], 'properties': {}}
price_guard
Price a Guard
Price a Guard — CurrencyGuard's FX protection product for real future payments or receipts. If a tenor like '3 months' is given, call resolve_settlement_date first to get the exact date, then call this tool. Returns: guardType (Guard-Pay or Guard-Receive), guardRate, guardFee, guardFeePercent, effectiveRate, guardAmount (home currency equivalent), foreignAmount, spotRate, settlementDate, settlementWindowOpens, valid, errors. All quotes are indicative.
Read only Open world
Input schema
{'type': 'object', 'required': ['guardCurrency', 'foreignCurrency', 'payReceive', 'foreignAmount', 'settlementDate'], 'properties': {'guardRate': {'type': 'number', 'description': 'Optional fixed guard rate (strike) — if set, prices at this rate instead of current market'}, 'payReceive': {'type': 'string', 'description': 'PAY if paying foreign currency, RECEIVE if receiving it'}, 'foreignAmount': {'type': 'number', 'description': 'Amount in foreign currency to protect'}, 'guardCurrency': {'type': 'string', 'description': 'Home/base currency ISO code, e.g. GBP'}, 'settlementDate': {'type': 'string', 'description': 'Settlement date in ISO format YYYY-MM-DD'}, 'foreignCurrency': {'type': 'string', 'description': 'Foreign currency ISO code, e.g. USD'}}}
price_guard_extension
Price Guard Extension
Get an indicative price for extending a Guard to a later settlement date. Estimates the additional cost using: (1) the guard fee difference between extended and original expiry, (2) the guard spread cost from the roll, and (3) the CurrencyGuard extension margin. Returns a breakdown: extensionCost = feeDifference + guardSpreadCost + extensionMargin. Both the original and extended quotes are priced at the same guard rate (the original quote's strike), so the fee difference reflects purely the longer tenor, not market movement. Use this when a customer asks 'how much would it cost to extend my Guard by X months?' Parameters match price_guard plus the two dates.
Read only Open world
Input schema
{'type': 'object', 'required': ['guardCurrency', 'foreignCurrency', 'payReceive', 'foreignAmount', 'originalSettlementDate', 'extendedSettlementDate'], 'properties': {'payReceive': {'type': 'string', 'description': 'PAY if paying foreign currency, RECEIVE if receiving it'}, 'foreignAmount': {'type': 'number', 'description': 'Amount in foreign currency to protect'}, 'guardCurrency': {'type': 'string', 'description': 'Home/base currency ISO code, e.g. GBP'}, 'foreignCurrency': {'type': 'string', 'description': 'Foreign currency ISO code, e.g. USD'}, 'extendedSettlementDate': {'type': 'string', 'description': 'Extended (new) settlement date in ISO format YYYY-MM-DD'}, 'originalSettlementDate': {'type': 'string', 'description': 'Original settlement date in ISO format YYYY-MM-DD'}}}
resolve_settlement_date
Resolve Settlement Date
Resolve a relative time period (tenor) to a valid business settlement date for a currency pair. Use this when a user says '3 months', '6 months', '1 year', etc. instead of an exact date. The tenor format is: 1D (days), 1W (weeks), 1M (months), 1Y (years). Examples: '3M' = 3 months, '6M' = 6 months, '1Y' = 1 year. The returned date accounts for weekends and public holidays in both currencies' financial centres. Use the returned settlementDate as the exact date parameter for price_guard.
Read only Open world
Input schema
{'type': 'object', 'required': ['currencyPair', 'tenor'], 'properties': {'tenor': {'type': 'string', 'description': 'Tenor string, e.g. 3M, 6M, 1Y'}, 'currencyPair': {'type': 'string', 'description': 'Currency pair, e.g. GBPUSD'}}}
Changed
list_supported_currencies
Sept. 21, 2026, 2:59 a.m.
Added
resolve_settlement_date
Sept. 17, 2026, 12:34 p.m.
Added
price_guard_extension
Sept. 17, 2026, 12:34 p.m.
Added
price_guard
Sept. 17, 2026, 12:34 p.m.
Added
list_supported_currencies
Sept. 17, 2026, 12:34 p.m.
Added
get_spot_rate
Sept. 17, 2026, 12:34 p.m.
Added
get_historic_best_worst
Sept. 17, 2026, 12:34 p.m.
Added
get_forward_rate
Sept. 17, 2026, 12:34 p.m.
Added
explain_guard_product
Sept. 17, 2026, 12:34 p.m.