Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

CurrencyGuard Guard Pricing

REMOTE · API.CURRENCYGUARD.COM

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

0 this week 82 Trust /100

Last scanned (23 hours ago)

Scores higher than 85% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation. See how to fix → View diagnostics → Partial
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
  • DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
Schema Quality & AI Usability58
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7864 tokens (~714/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “compare_guard_with_forward” rewrote its description, which is the text the model reads security
    • Tool “get_forward_rate” rewrote its description, which is the text the model reads security
    • Tool “get_historic_best_worst” rewrote its description, which is the text the model reads security
    • Tool “get_spot_rate” rewrote its description, which is the text the model reads security
    • Tool “price_guard” rewrote its description, which is the text the model reads security
    • Tool “price_guard_extension” rewrote its description, which is the text the model reads security
  • 4 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 3 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 2 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 1 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 31 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “price_guard” rewrote its description, which is the text the model reads security
    • “price_guard” added an optional parameter “netGuardAmount” cosmetic
    • “price_guard” reworded the description of “foreignAmount” cosmetic
    • “price_guard” made “foreignAmount” optional cosmetic
  • 30 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 29 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.currencyguard.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sandbox-api.currencyguard.com CN=Amazon RSA 2048 M01,O=Amazon,C=US 26 Jun 2026 9 Jan 2027 RSA 2048 SHA256-RSA 1b3fc9dfa84f1dcef59b6f0634c34b5
SANs: sandbox-api.currencyguard.com, api.currencyguard.com
CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 77312380b9d6688a33b1ed9bf9ccda68e0e0f
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.currencyguard.com. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
com. DS published 19718 13 Verified
currencyguard.com. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.currencyguard.com/mcp Verified 200
http (plaintext) http://api.currencyguard.com/mcp HTTPS enforced 301 https://api.currencyguard.com:443/mcp
MCP tools · 11 exposed · ~4,374 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
compare_guard_with_forward ~1,061

Use when a user asks whether a Guard is worth it, how it compares with a forward contract from their bank or provider, or what happens if they do nothing. ASK BEFORE YOU CALL. The forward side of this comparison should be the customer's own numbers, not CurrencyGuard's guesses. Ask three things first: (1) the forward rate their provider last quoted them for this payment, (2) whether the provider gives them an unsecured line with no deposit, or asks for an initial margin and at what percentage, and (3) at what adverse move the provider demands more cash. Pass what they give you as providerForwardRate, initialMarginPct (0 for an unsecured line) and marginCallThresholdPct. Only call with none of them when the customer cannot answer, and then say in your answer that the forward figures are illustrative defaults. DO NOT RANK. Present every row in the order the output gives it: rates, home-currency amount, cash up front, cash demanded under adverse moves, outcomes under favourable and adverse moves, cancellation, market improvement, worst case. Do not say which one wins, which looks bad, which is cheaper overall, or which the customer should choose. State the numbers. The decision is the customer's. cashNature says what kind of money each figure is: the Guard fee is spent, a forward's deposit and margin calls are held and returned at settlement. Say so when you show them. Held cash is not a cost. outcomes runs each move in both directions. In the favourable rows the Guard lapses and the fee is spent for nothing, and the forward is locked out of the better rate. Show both directions, not only the adverse one. READ OUT comparability.protection AND comparability.pricing beside the cost row, every time. A Guard and a forward are different kinds of protection, and the Guard rate here is mid-market while a payment provider may apply a margin to it or to the fee. The cost row is therefore not a like-for-like price comparison. If a tenor like '3 months' is given, call resolve_se…

NameTypeReqDescription
foreignAmountnumberyesAmount in foreign currency to protect
foreignCurrencystringyesForeign currency ISO code, e.g. USD
forwardMarginPctnumber–Margin a provider embeds in a forward rate, as a percentage. Used only when providerForwardRate is absent. Default 1. Only set it if the user knows theirs.
guardCurrencystringyesHome/base currency ISO code, e.g. GBP
initialMarginPctnumber–Deposit a provider demands at the start, as a percentage of the forward amount. Ask for it. Pass 0 when the provider gives the customer an unsecured line with no deposit. Default 5 when the customer…
marginCallThresholdPctnumber–The adverse move, as a percentage, at which the provider starts to demand more cash. Ask for it. Below it the scenarios show no cash call on the forward. Leave empty when the customer does not know;…
payReceivestringyesPAY if paying foreign currency, RECEIVE if receiving it
providerForwardRatenumber–The forward rate the customer's own provider last quoted them, as foreign currency per unit of home currency, e.g. 1.3122 for GBPUSD. Ask for it. When given, it replaces the market curve estimate and…
scenarioMovesPctarray–Adverse market moves to show, as percentages. Default 3, 5, 10.
settlementDatestringyesSettlement date in ISO format YYYY-MM-DD

No output schema declared.

No examples provided.

explain_guard_product ~58

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 present but exposes no named parameters.

No output schema declared.

No examples provided.

get_forward_rate ~279

Use when you need a forward FX rate. tenor accepts either a period such as 1W, 1M, 3M, 6M, 1Y, or an exact date in ISO form YYYY-MM-DD. Use an exact date whenever you need the forward for the same day a Guard settles: a period resolves to the forward curve's own date, which can be several days away, and a comparison across two different dates is misleading. Rates are taken from the market forward curve, rounded, and for illustration purposes only — not for execution. Returns: forwardRate (indicative mid outright rate for that date), spotMid (indicative spot mid rate for comparison), settlementDate (the date the rate is for). A forwardRate below spotMid means the forward is cheaper than spot for the base currency; above means dearer. Example: base=GBP, quote=USD, tenor=2026-12-29 returns the GBPUSD forward for that day.

NameTypeReqDescription
basestringyesBase currency ISO code, e.g. GBP
quotestringyesQuote currency ISO code, e.g. USD
tenorstringyesTenor period such as 1W, 1M, 3M, 6M, 1Y, or an exact date as YYYY-MM-DD

No output schema declared.

No examples provided.

get_historic_best_worst ~482

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: performanceType (BEST or WORST), periodInYears (5, 10 or 25), windowSizeInDays, startDate/endDate, startRate/endRate, performancePercentage, startAmount, finalAmount, deltaAmount (in the window's own money), finalAmountToday, deltaAmountToday (the same move applied to today's amount). 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. When there is a preceding price_guard call, the parameters must match it, including payReceive (PAY or RECEIVE). WHEN TO CALL. Only when the user asks for historic performance, best or worst cases, or historic context. Never to answer "what can I do" or "what would you do". If there is no price_guard quote, leave guardAmount empty; do not call price_guard only to fill it. IF IT FAILS. A result with valid: false has no data. Say that historic figures are unavailable and stop. Do not show the table and do not estimate any figure.

NameTypeReqDescription
foreignAmountnumberyesAmount in foreign currency — MUST match foreignAmount from price_guard
foreignCurrencystringyesForeign currency ISO code — MUST match foreignCurrency from price_guard
guardAmountnumber–Guard amount in base/home currency from the Guard quote (the guardAmount field from the price_guard response). Optional: leave it empty when there is no quote, and the tool uses today's indicative mi…
guardCurrencystringyesHome/base currency ISO code — MUST match guardCurrency from price_guard
payReceivestringyesMUST be the exact same payReceive value you used in price_guard (PAY or RECEIVE). Do NOT change it.
settlementDatestringyesSettlement date in ISO format YYYY-MM-DD — MUST match settlementDate from price_guard

No output schema declared.

No examples provided.

get_spot_rate ~84

Get an indicative spot FX rate for a currency pair. Returns a rounded indicative mid rate, for illustration purposes only — not for execution. Example: base=GBP, quote=USD returns the GBPUSD rate.

NameTypeReqDescription
basestringyesBase currency ISO code, e.g. GBP
quotestringyesQuote currency ISO code, e.g. USD

No output schema declared.

No examples provided.

list_supported_currencies ~39

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 present but exposes no named parameters.

No output schema declared.

No examples provided.

net_exposure ~701

Net an SME's open foreign-currency bills and invoices, so that a receipt due on or before a payment in the same currency is shown as funding it. Returns the residual on every bill and invoice, a trace of which invoice funds which bill and for how much, per-bucket totals, dependency statements, and series for a ladder chart. It prices nothing: call price_guard on each residual separately, with the item's own due date as settlementDate. Never offsets across currencies. Items in base_currency are ignored. Cancelled items are excluded. Overdue items are listed separately and never netted. Set carry to true only when the client keeps receipts in a wallet or account in that currency, so a surplus can fund a later payment. If you do not know, ask the user whether they hold an account in each foreign currency before calling; do not guess. If their accounting platform is connected, offer to look up its bank accounts and their currencies there, and use what you find. If the answer is "not sure", call the tool twice, carry true and carry false, and show both charts; each carries its own scenario title, and chart_series.scenario holds the same words. THE RESULT HAS TWO PARTS: the JSON, then a PNG of the ladder chart rendered by the service. Show that image to the user as it is. PRESENTING THE RESULT: chart_series.currencies[ccy].open[] is the exposure. Present each open item on its own due date, with its label. Never add open items into one net figure, and never convert them to the base currency at spot. Do not call price_guard or show a Guard price unless the user asks for a price. If the user asks what they can do, lay out three things as facts and stop: do nothing (the amount stays exposed until paid), a forward from a bank or a payment provider (fixes the rate, provider margin inside the rate, an obligation that may need initial margin and margin calls, settled even if the payment does not happen), a Guard (fee known up front, market rate used if better, nothing further to…

NameTypeReqDescription
base_currencystringyesThe client's home currency, e.g. GBP. Items in this currency are ignored.
bucket_daysinteger–Bucket length. Required for rolling_days.
bucket_modestringyescalendar_month groups by month. rolling_days groups by bucket_days from today. guard_settlement_window makes one bucket per payable, window_days before its due date.
carrybooleanyestrue when the client keeps receipts in a wallet or account in that currency, so a surplus can fund a payment in a later bucket. Surplus never rolls backward.
itemsarrayyesOpen bills and invoices
window_daysinteger–Window length before each payable. Required for guard_settlement_window.

No output schema declared.

No examples provided.

price_guard ~945

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. THE AMOUNT. Give exactly ONE of foreignAmount and netGuardAmount, never both. Give foreignAmount when the customer has an invoice or bill in the foreign currency and wants to know what it is worth in their own currency: "I have to pay USD 50,000 in March" is foreignAmount 50000, PAY. Give netGuardAmount when the customer names the amount they want in their OWN currency after the fee, and asks what to invoice or how much they can cover: "I need GBP 100,000 from Marco, he pays in euros, what do I quote him?" is netGuardAmount 100000, RECEIVE, guardCurrency GBP, foreignCurrency EUR. With netGuardAmount the server solves for the foreign amount, so the foreignAmount in the response IS THE ANSWER: the amount to invoice (RECEIVE) or the amount covered (PAY). Read it out as the answer to the question. Returns: guardType (Guard-Pay or Guard-Receive), guardRate, guardFee (in the home currency), guardFeePct (a FRACTION: 0.0096 means 0.96%), guardFeePercent (the same figure written as a percentage, e.g. "0.96%" — quote this one), effectiveRate, guardAmount (the foreign amount converted at the Guard rate, in the home currency, WITHOUT the fee), foreignAmount, spotRate, settlementDate, settlementWindowFrom (the first day the Guard rate can be used; the window runs from there to settlementDate. It opens 14 business days before settlementDate on the trading calendar, which is about three weeks in calendar days. Say "14 business days", never "14 days", and read both dates out as given), payLaterCreditFee (the extra for paying the fee at settlement instead of up front. This tool asks for a pay-now quote, so the server returns 0 here. 0 does NOT mean Pay Later is free: say that a small credit fee applies and that it is not in this quote), valid, errors, stale. Also returns netGua…

NameTypeReqDescription
foreignAmountnumber–The invoice or bill amount in the foreign currency. Give this OR netGuardAmount, not both.
foreignCurrencystringyesForeign currency ISO code, e.g. USD
guardCurrencystringyesHome/base currency ISO code, e.g. GBP
guardRatenumber–Fixed Guard rate to price at instead of the current market rate. Leave empty to price at the current rate.
netGuardAmountnumber–The amount the customer wants in the home currency AFTER the Guard fee: what they bank (RECEIVE) or the most they pay, fee included (PAY). The server then works out the foreign amount. Give this OR f…
payReceivestringyesPAY if paying foreign currency, RECEIVE if receiving it
settlementDatestringyesSettlement date in ISO format YYYY-MM-DD

No output schema declared.

No examples provided.

price_guard_extension ~288

Get an indicative price for extending a Guard to a later settlement date. Use it when a customer asks what it costs to extend a Guard. Returns: extensionCost, what the customer pays to extend, in the home currency. Show it as the answer: "Extending to [date] costs [extensionCost]". It is one figure; there is no breakdown. Also the currencies, the direction, the foreign amount, both dates, valid, errors, stale. Both dates are moved to the next business day when needed, and a note says so. Parameters: guardCurrency, foreignCurrency, payReceive, foreignAmount, originalSettlementDate, extendedSettlementDate. There is no Guard rate input: the server prices the extension at today's market rate, not at the rate of the Guard the customer holds. Say that the figure is indicative for that reason too.

NameTypeReqDescription
extendedSettlementDatestringyesExtended (new) settlement date in ISO format YYYY-MM-DD
foreignAmountnumberyesAmount in foreign currency to protect
foreignCurrencystringyesForeign currency ISO code, e.g. USD
guardCurrencystringyesHome/base currency ISO code, e.g. GBP
originalSettlementDatestringyesOriginal settlement date in ISO format YYYY-MM-DD
payReceivestringyesPAY if paying foreign currency, RECEIVE if receiving it

No output schema declared.

No examples provided.

request_provider_availability ~252

Find out whether Guards can be bought through a particular payment provider or bank. A Guard is always bought through a payment provider, so this cannot be answered without knowing which one the user pays through — CurrencyGuard checks and replies. ASK BEFORE CALLING. Tell the user plainly that their provider, and their email address if they give one, will be sent to CurrencyGuard so they can answer. Call this only after they say yes. The email address is optional: the provider on its own is a complete enquiry, and without an address there is simply no one to reply to. Never take an email address from earlier in the conversation — only one the user has just given for this purpose. Never call this more than once in a conversation, and never after the user has declined.

NameTypeReqDescription
companyNamestring–The name of the user's company, if they gave it. Omit otherwise.
emailstring–An email address the user has just given so CurrencyGuard can reply. Omit it unless they offered one for this purpose.
providerstringyesThe payment provider or bank the user pays foreign currency through, as they named it, e.g. Revolut, Wise, Barclays

No output schema declared.

No examples provided.

resolve_settlement_date ~185

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.

NameTypeReqDescription
currencyPairstringyesCurrency pair, e.g. GBPUSD
tenorstringyesTenor string, e.g. 3M, 6M, 1Y

No output schema declared.

No examples provided.

Install

How do I install the CurrencyGuard Guard Pricing MCP server?

CurrencyGuard Guard Pricing is a hosted endpoint at https://api.currencyguard.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.currencyguard.com

# add to Claude Code
claude mcp add --transport http com-currencyguard-guard-pricing 'https://api.currencyguard.com/mcp'
Common questions

What is the CurrencyGuard Guard Pricing MCP server?

CurrencyGuard Guard Pricing is an MCP server listed in the public MCP registry as com.currencyguard/guard-pricing. FX protection for SMEs, price Guards, live spot/forward rates, settlement dates, and more. This page covers its hosted endpoint (https://api.currencyguard.com/mcp).

Is the CurrencyGuard Guard Pricing MCP server safe to use?

CurrencyGuard Guard Pricing scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the CurrencyGuard Guard Pricing MCP server expose?

CurrencyGuard Guard Pricing exposes 11 tools: get_spot_rate, list_supported_currencies, get_forward_rate, price_guard, compare_guard_with_forward, and 6 more. Their descriptions and schemas cost roughly 4,374 tokens of context every time the server is loaded.

Does the CurrencyGuard Guard Pricing MCP server require authentication?

No. We connected to CurrencyGuard Guard Pricing without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the CurrencyGuard Guard Pricing MCP server still maintained?

CurrencyGuard Guard Pricing is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the CurrencyGuard Guard Pricing MCP server?

VerifyMCP ran 13 checks on CurrencyGuard Guard Pricing, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.