CurrencyGuard Guard Pricing

FX protection for SMEs — price Guards, live spot/forward rates, settlement dates, and more.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
83%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,920Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.50% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "guard-pricing": {
      "url": "https://api.currencyguard.com/mcp"
    }
  }
}

Remote endpoints

https://api.currencyguard.com/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_forward_rate(base, quote, tenor)

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.

Input Schema

{
  "type": "object",
  "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"
    }
  },
  "required": [
    "base",
    "quote",
    "tenor"
  ]
}
🟢get_historic_best_worst(guardCurrency, foreignCurrency, payReceive, foreignAmount, guardAmount, ...)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "guardCurrency": {
      "type": "string",
      "description": "Home/base currency ISO code — MUST match guardCurrency from price_guard"
    },
    "foreignCurrency": {
      "type": "string",
      "description": "Foreign currency ISO code — MUST match foreignCurrency from price_guard"
    },
    "payReceive": {
      "type": "string",
      "description": "MUST be the exact same payReceive value you used in price_guard (PAY or RECEIVE). Do NOT change it."
    },
    "foreignAmount": {
      "type": "number",
      "description": "Amount in foreign currency — MUST match foreignAmount from price_guard"
    },
    "guardAmount": {
      "type": "number",
      "description": "Guard amount in base/home currency from the Guard quote (the guardAmount field from the price_guard response)"
    },
    "settlementDate": {
      "type": "string",
      "description": "Settlement date in ISO format YYYY-MM-DD — MUST match settlementDate from price_guard"
    }
  },
  "required": [
    "guardCurrency",
    "foreignCurrency",
    "payReceive",
    "foreignAmount",
    "guardAmount",
    "settlementDate"
  ]
}
🟢get_spot_rate(base, quote)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "base": {
      "type": "string",
      "description": "Base currency ISO code, e.g. GBP"
    },
    "quote": {
      "type": "string",
      "description": "Quote currency ISO code, e.g. USD"
    }
  },
  "required": [
    "base",
    "quote"
  ]
}
🟢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.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢price_guard(guardCurrency, foreignCurrency, payReceive, foreignAmount, settlementDate, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "guardCurrency": {
      "type": "string",
      "description": "Home/base currency ISO code, e.g. GBP"
    },
    "foreignCurrency": {
      "type": "string",
      "description": "Foreign currency ISO code, e.g. USD"
    },
    "payReceive": {
      "type": "string",
      "description": "PAY if paying foreign currency, RECEIVE if receiving it"
    },
    "foreignAmount": {
      "type": "number",
      "description": "Amount in foreign currency to protect"
    },
    "settlementDate": {
      "type": "string",
      "description": "Settlement date in ISO format YYYY-MM-DD"
    },
    "guardRate": {
      "type": "number",
      "description": "Optional fixed guard rate (strike) — if set, prices at this rate instead of current market"
    }
  },
  "required": [
    "guardCurrency",
    "foreignCurrency",
    "payReceive",
    "foreignAmount",
    "settlementDate"
  ]
}
🟢price_guard_extension(guardCurrency, foreignCurrency, payReceive, foreignAmount, originalSettlementDate, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "guardCurrency": {
      "type": "string",
      "description": "Home/base currency ISO code, e.g. GBP"
    },
    "foreignCurrency": {
      "type": "string",
      "description": "Foreign currency ISO code, e.g. USD"
    },
    "payReceive": {
      "type": "string",
      "description": "PAY if paying foreign currency, RECEIVE if receiving it"
    },
    "foreignAmount": {
      "type": "number",
      "description": "Amount in foreign currency to protect"
    },
    "originalSettlementDate": {
      "type": "string",
      "description": "Original settlement date in ISO format YYYY-MM-DD"
    },
    "extendedSettlementDate": {
      "type": "string",
      "description": "Extended (new) settlement date in ISO format YYYY-MM-DD"
    }
  },
  "required": [
    "guardCurrency",
    "foreignCurrency",
    "payReceive",
    "foreignAmount",
    "originalSettlementDate",
    "extendedSettlementDate"
  ]
}
🟢resolve_settlement_date(currencyPair, tenor)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "currencyPair": {
      "type": "string",
      "description": "Currency pair, e.g. GBPUSD"
    },
    "tenor": {
      "type": "string",
      "description": "Tenor string, e.g. 3M, 6M, 1Y"
    }
  },
  "required": [
    "currencyPair",
    "tenor"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools