# Hedgr FX Risk & Treasury (remote · hedgr.app)

Read-only FX exposure, cash, hedge and P&L data from a Hedgr workspace, for SME finance teams.

- Trust score: 94/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `hedgr.app`: 94/100 (this document), [markdown](https://verifymcp.io/servers/app-hedgr-hedgr/hedgr.md), [page](https://verifymcp.io/servers/app-hedgr-hedgr/hedgr)

## Channel facts

- Endpoint: `https://hedgr.app/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 94/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 82/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 6718 tokens (~167/item across 40 items; 27 tools + 13 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 97/100
  - Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 27 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### How do I install the Hedgr FX Risk & Treasury MCP server?

Hedgr FX Risk & Treasury is a hosted endpoint at https://hedgr.app/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.

### Claude

```bash
claude mcp add --transport http app-hedgr-hedgr 'https://hedgr.app/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "app-hedgr-hedgr": {
      "url": "https://hedgr.app/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "app-hedgr-hedgr": {
      "type": "http",
      "url": "https://hedgr.app/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.app-hedgr-hedgr]
url = "https://hedgr.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-hedgr-hedgr": {
      "type": "remote",
      "url": "https://hedgr.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-hedgr-hedgr --url 'https://hedgr.app/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-hedgr-hedgr:
    url: "https://hedgr.app/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "app-hedgr-hedgr": {
      "Transport": "http",
      "Url": "https://hedgr.app/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add app-hedgr-hedgr -t streamable-http -u 'https://hedgr.app/mcp'
```

### Other

```json
{
  "mcpServers": {
    "app-hedgr-hedgr": {
      "type": "http",
      "url": "https://hedgr.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 94, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 93, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 92, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 91, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 90, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (27)

### `get_platform_capabilities` (~105 tokens)

Returns a safe, client-facing capability map for Hedgr: dashboard tabs, data sources, what the MCP already exposes, a coverage summary counting how many client-facing surfaces the published tools answer, the Scout/MCP boundary, and what is intentionally not exposed. Use this when the user asks what Hedgr, Scout, or the connector can do. Does not reveal private prompts, formulas, credentials, admin pages, source paths, internal routes, feature flags, or implementation IP.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_dashboard_context` (~256 tokens)

Returns a compact read-only snapshot of the authenticated Hedgr dashboard: organisation, provider, base currency, selected entity/workspace context, data timestamp, FX currencies, invoice counts, headline exposure and P&L totals, and available rates. Use when the user asks for a dashboard-level summary. Also returns Scout-aligned blocks: book_value (open and settled FX invoice face-value sums), invoice_book (counts, receivable/payable and local/foreign splits, per-currency open/overdue, ageing, top open invoices), profit_and_revenue (net profit, operating profit, revenue, profit_basis, provider_has_unrealised_fx), data_coverage (invoice lookback and rate-history window), inter_company lens state and totals.dashboard_total_fx_impact_base. Also returns entity_scope: when the workspace consolidates several entities, entity_scope.ask_user is true and the block carries a scope question and its options (consolidated group, or one entity with its entity_id).

Input parameters:

- `entity_id` (string): Scope the P&L totals and the bank leg to one entity, the same blocks get_pnl_attribution scopes. Omit for the consolidated group. Use an entity_id from entity_scope.options or list_entities.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_account_status` (~154 tokens)

Returns the current state of the user's Hedgr account: which accounting systems, Google Sheets workspaces, CSV/manual cloud workspaces, and setup sections are available. Returns entity_scope: on a workspace that consolidates several entities, entity_scope.ask_user is true and entity_scope carries a scope question with its options (consolidated group, or one named entity with its entity_id). When no usable source is connected, connection_status.state is 'setup_required' and the response carries setup_url and setup_steps. Accounting providers (Xero, QuickBooks, Sage, Holded) supply company settings automatically; Google Sheets and CSV/manual workspaces need Company & reporting completed, and CSV/manual workspaces are readable once saved to cloud.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `list_entities` (~115 tokens)

Lists all connected legal entities with their base currencies and source accounting systems. Use when the user needs entity-level rather than consolidated group figures, e.g. multi-entity clients such as UK Ltd + US Inc + DE GmbH. Returns entity_scope with a scope question (consolidated group or one entity) and the entity_id for each option when the workspace consolidates several entities.

Input parameters:

- `include_disconnected` (boolean): Include entities that exist in policy config but have no connected accounting system. Useful for showing the user what's missing.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_fx_exposure` (~393 tokens)

Returns net FX exposure by currency pair, entity, and time bucket (overdue, 0-30d, 31-60d, 61-90d, 90d+, undated). An invoice with no due date has no tenor, so it stays in net exposure and sits in the undated bucket. Each exposure line distinguishes confirmed (invoices and POs from the accounting system) from forecasted, and includes a source field citing provenance ('€2.3M from 47 Xero invoices'). On multi-entity books the exposure honours the workspace inter-company mode and the response carries an intercompany block naming that mode; realised P&L does not move with that mode, and it is reported as the accounting system recorded it, so settled inter-company invoices stay inside it. On an unscoped call also returns counterparty_concentration (per contact/currency/direction with share of gross exposure), risk_snapshot (top currency and share, signed and gross net position, breach and overdue counts, worst-case as published), sensitivity (impact of a 1% move per currency) and total_net_exposure_base, all lifted from the same context the in-app Scout assistant answers from.

Input parameters:

- `currency` (string): ISO 4217 code to filter to one currency (e.g. 'EUR', 'USD'). Omit for all currencies.
- `entity_id` (string): Specific entity ID from list_entities. Omit for consolidated group exposure.
- `horizon_days` (integer): Forward-looking window in days.
- `include_chart` (boolean): When true, the tool response includes an image/png content block containing a horizontal bar chart of net exposure by currency (green = receivable, red = payable). Requires no additional API calls -…
- `include_forecasted` (boolean): Include forecasted exposure alongside confirmed accounting-system data.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_cash_position` (~101 tokens)

Returns current cash balances by currency and entity. Shows whether FX cash offsets invoice exposure in the same currency.

Input parameters:

- `currency` (string): Filter to a single currency.
- `entity_id` (string): Specific entity ID. Omit for group-level consolidated cash position.
- `include_chart` (boolean): When true, includes an image/png content block: horizontal bar chart of cash balance by currency (native units). Blue bars = positive, red = overdraft.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_hedge_portfolio` (~205 tokens)

Returns all open forward contracts and hedges with maturity date, notional amount, contracted rate, and current mark-to-market value. Use this to answer 'what is my current hedge ratio on EUR?' without needing execute permissions. hedges[] is drawdown-normalised: a parent forward is listed once at its remaining notional and child draws are excluded, exactly as the dashboard hedge book counts cover. Also returns coverage (Protection Ratio and over-hedge flag as published by the dashboard), policy_band (hedge-ratio policy band and per-currency status), residual_coverage (net exposure vs active hedge notional per currency), drawdowns (original, drawn and remaining notional per parent) and hedge_mark_to_market.

Input parameters:

- `currency` (string): Filter to hedges on a specific currency.
- `entity_id` (string): Filter to a single entity's hedges.
- `include_expired` (boolean): Include hedges that have already matured.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `simulate_scenario` (~486 tokens)

Models the P&L impact of exchange rate moves on the user's current net exposure (invoices + cash) and existing hedges. Four modes: (1) supply explicit `scenarios` for a linear what-if, e.g. 'What happens if GBP/EUR moves 3% before Q3 close?'; (2) set `worst_case: true` (scenarios optional) to revalue each currency at its OWN worst adverse 30-day historical move, the same worst-case the Monitor dashboard shows; (3) `adverse_pct` for one uniform move against every position; (4) `base_move_pct` for the base currency moving against all foreign currencies (negative = base weaker). Worst-case is a historical realised downside, not a forecast or a recommendation. Cross-currency pairs (neither leg is the reporting currency) are shocked base-neutrally.

Input parameters:

- `adverse_pct` (number): Uniform adverse move: each currency moves this percentage against its own net position after open forwards (a net receivable currency weakens, a net payable currency strengthens), so every row is a l…
- `base_move_pct` (number): The base currency moves this percentage against every foreign currency. Negative = base WEAKER (e.g. 'ZAR 10% weaker' on a ZAR book is -10), positive = base stronger. Use this instead of composing pa…
- `horizon_days` (integer): Forward-looking exposure window included in the simulation.
- `include_hedges` (boolean): Apply offsetting effect of existing hedges. Set false to see gross (unhedged) impact.
- `scenarios` (array): Rate shocks to apply (required unless worst_case is true). Multiple entries are applied simultaneously (correlated move).
- `worst_case` (boolean): When true, ignore linear shocks and apply each currency's own worst adverse 30-day historical move (adverse-aligned, always a loss). Matches the Monitor worst-case KPI when every exposed currency rec…

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_protection_candidates` (~100 tokens)

Policy-derived candidate rows showing suggested notional amounts for open currency exposures. Read-only - does not execute trades, open dealing pages, or transfer assets.

Input parameters:

- `currency` (string): Limit to a specific currency (e.g. 'EUR').
- `entity_id` (string): Limit to a single entity. Omit for group-level candidates.
- `policy_override` (object): Temporary policy adjustments for this calculation only. Does not modify the stored policy.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_policy` (~147 tokens)

Returns the user's saved FX policy in declared form: one workspace coverage target (target_hedge_ratio_pct, 0 when none is set), the allowed instrument, the hedge horizon, and a policy_settings block naming every stored field with its meaning, including per-currency comfort-limit rows (a row with limit 0 is treated as unset and is named as such), budget rates, and fees. max_single_trade_base and approval_threshold_base are published as null with a basis, because no Hedgr surface writes them today. Nothing in the stored policy is passed through undeclared.

Input parameters:

- `entity_id` (string): Fetch the policy for a specific entity. Omit for the group-level policy.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_market_regime` (~400 tokens)

Returns a current Hedgr regime snapshot for one or more currency pairs, including a compact headline, sorted snapshot rows, latest rate, realised-volatility regime, 30-day change, methodology, and dashboard surface. Volatility regimes are Settled / Directional / Choppy / Stressed. Also returns a market_environment block matching the Monitor Market Environment KPI cards when the book has exposure: the exposure-weighted Composite score (0-100), Volatility score, and 30-day Trend (change and direction). Use for market-backdrop questions. Regimes are not trade recommendations. The scores are analytical only. Also returns dashboard_market_environment (the Composite, Trend and Volatility scores, levels and the Global Backdrop score/sentiment exactly as the dashboard published them; null with a reason until the Monitor tab has published), dashboard_regimes (per-pair regime label and recent range as shown on screen), and market_environment.trend_score, adverse_currencies and trend_summary from the server engine.

Input parameters:

- `history_years` (number): How many years of history to include when include_history is true. Defaults to 2.
- `include_chart` (boolean): When true, includes one or two image/png content blocks: (1) a horizontal bar chart of realised-volatility % by pair, colour-coded by regime (green=Settled, blue=Directional, amber=Choppy, red=Stress…
- `include_history` (boolean): Include the historical regime series (date + regime + volatility per point). Useful for charting or for the agent to describe how stable the current regime is.
- `pairs` (array): Currency pairs to query, e.g. ['GBPEUR', 'GBPUSD', 'USDZAR']. Omit to return regimes for all pairs relevant to the user's current exposure.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_pnl_attribution` (~358 tokens)

Returns FX P&L broken down by currency with top contributor, unrealised mark-to-market (open invoices, booking rate vs current spot), and realised gain/loss from settled invoices where the accounting system provides it. Use to answer 'which currencies are hurting us?', 'what is our total FX impact this period?', or 'show me P&L by currency'. All amounts are in base currency. Sorts by absolute total P&L so the biggest contributors appear first. Also returns the Scout-aligned P&L family: dashboard_hero (the Monitor Total FX Impact exactly as the dashboard published it), totals.bank_pnl_base and totals.hedge_mtm_base, the four contributor families (top_unrealised_contributors, top_realised_contributors, bank_contributors, hedge_contributors), materiality (FX as % of profit and revenue, margin before/after FX on the operating basis only), fy_windows (realised by settlement date for the current FY, previous FY and all-time) and provider_fx_ledger. Every aligned block is the figure the in-app Scout assistant quotes.

Input parameters:

- `entity_id` (string): Filter to a specific entity. Omit for consolidated group.
- `include_chart` (boolean): When true, the tool response includes an image/png content block containing a horizontal bar chart of P&L by currency (green = gain, red = loss). Uses the same data as the text response.
- `include_realised` (boolean): Include realised P&L from settled invoices where the accounting system provides the FX gain/loss. Default true.
- `include_unrealised` (boolean): Include unrealised P&L from open invoices (booking rate vs current spot). Default true.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_limit_status` (~118 tokens)

Compares current net FX exposure against per-currency comfort limits configured in Hedgr's Control tab. Returns breach status per currency: breaching (exposure exceeds limit), approaching (≥80% of limit), within_limit, or no_limit_set. Use to answer 'are we within limits?', 'which currencies need attention?', or 'what is our USD exposure vs our comfort limit?'. Limits are set in Control > Comfort Limits.

Input parameters:

- `entity_id` (string): Filter to a specific entity's exposures. Omit for group-level consolidated.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_transaction_log_summary` (~174 tokens)

Returns a safe read-only transaction-log summary for Explain > Detailed Transaction Logs: top open-invoice unrealised FX rows, settled-invoice realised FX rows, bank/cash rows, counts, and row provenance. Does not expose raw provider payloads, hidden reconciliation notes, credentials, or private calculation internals. Also returns invoice_rows: the ranked (open first, largest base equivalent first) invoice table the in-app Scout assistant reads, home-currency rows included, capped at 80 rows with invoice_rows_total for the true book size.

Input parameters:

- `currency` (string): ISO 4217 code to filter to one currency (e.g. 'EUR', 'USD'). Omit for all currencies.
- `entity_id` (string): Specific entity ID from list_entities. Omit for the whole workspace (all entities).

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_overdue_drivers` (~174 tokens)

Returns overdue invoice drivers by currency and top contact, prioritised by largest exposure per currency. Separates total unrealised FX P&L from since-due P&L and explicitly reports when due-date rates are unavailable. An invoice carrying no due date is undated and never overdue, so it appears in no driver row; it is published beside them as undated_invoice_count, undated_base_amount and undated_by_currency. Use for questions like 'what is driving overdue invoices?' or 'what did overdue invoices cost us?'.

Input parameters:

- `currency` (string): ISO 4217 code to filter to one currency (e.g. 'EUR', 'USD'). Omit for all currencies.
- `entity_id` (string): Specific entity ID from list_entities. Omit for the whole workspace (all entities).

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_data_quality` (~173 tokens)

Returns safe import and data-quality diagnostics: duplicate invoice IDs, first visible issue rows, missing currency/date/amount fields, missing booking rates, missing spot rates, and per-currency P&L readiness. Use for questions about why CSV imports failed or why P&L is incomplete. On an unscoped call also returns decision_readiness (workspace ready/limited/blocked verdict with gaps and basis), balance_validation (bank balance source and discrepancy check), scout_currency_quality and data_coverage (invoice lookback and rate-history window held).

Input parameters:

- `currency` (string): ISO 4217 code to filter to one currency (e.g. 'EUR', 'USD'). Omit for all currencies.
- `entity_id` (string): Specific entity ID from list_entities. Omit for the whole workspace (all entities).

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_payment_patterns` (~109 tokens)

Returns detected payment timing patterns by counterparty and currency where available, or derives a conservative summary from settled invoice dates. Use for factual questions about who pays late or early. Reports timing only, not realised gains or losses.

Input parameters:

- `currency` (string): ISO 4217 code to filter to one currency (e.g. 'EUR', 'USD'). Omit for all currencies.
- `entity_id` (string): Specific entity ID from list_entities. Omit for the whole workspace (all entities).

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_cashflow_timing` (~201 tokens)

Returns FX cashflow timing by currency and bucket, separating receivables, payables, bank cash, and hedge maturities where available. Use for Monitor > Exposure & Cash Flow questions about overdue, next 30, 31-60, 61-90, beyond 90, undated, liquidity timing, or same-currency cash coverage. On an unscoped call also returns maturity_ladder (receivables, payables and bank cash per bucket and currency in base), cashflow_coverage (near-term surplus/shortfall verdict per currency) and hedge_maturity_coverage (hedge notional laid against exposure per bucket with coverage percent).

Input parameters:

- `currency` (string): ISO 4217 code to filter to one currency (e.g. 'EUR', 'USD'). Omit for all currencies.
- `entity_id` (string): Specific entity ID from list_entities. Omit for the whole workspace (all entities).

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_cashflow_forecast` (~190 tokens)

Projects the user's OWN expected net cashflow per currency over the next N weeks (default 8), from their OWN settlement history: expected settlement of existing open invoices (due date shifted by how late each customer usually pays), plus projected recurring and seasonal flows. Returns a per-currency net with a P10-P90 band, named drivers, and the walk-forward accuracy of the settlement model (inside-band % and median error in days). This is deterministic statistics on settlement behaviour, NOT an FX-rate prediction. sufficient_history is false when the settlement history is too short for a reliable band.

Input parameters:

- `currency` (string): Optional 3-letter currency code to filter to one currency.
- `horizon_weeks` (integer): Projection horizon in weeks (1-52, default 8). Pass the period the user names: 13 for three months, 26 for six, 52 for twelve.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_funding_forecast` (~230 tokens)

TMS liquidity/funding view: per-currency running cash balance seeded from the user's REAL bank balances - INCLUDING base currency (which the FX-exposure tools deliberately exclude). Answers whether the user will hold the units to settle upcoming payables/receivables, the first date each currency runs short and by how much, the trade the gap implies (BUY on a projected shortfall by its date, SELL on a surplus), and whether base-currency cash can fund the foreign purchases (can_self_fund + base_funding_shortfall). Uses real bank balances + real invoices plus the projected settlement component with its band and accuracy. Trade direction is a mechanical consequence of the gap sign, not a recommendation. sufficient_history is false when the settlement history is too short for a reliable band.

Input parameters:

- `currency` (string): Optional 3-letter currency code to filter to one currency.
- `horizon_weeks` (integer): Projection horizon in weeks (1-52, default 8). Pass the period the user names: 13 for three months, 26 for six, 52 for twelve.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_protection_builder_snapshot` (~99 tokens)

Returns the read-only Protection Builder / Scenario Builder snapshot: simulated row inputs, residual exposure after active hedges, cashflow-aware grouping basis, and policy sizing context. It does not execute trades, produce broker instructions, return quote IDs, or recommend a hedge.

Input parameters:

- `currency` (string): ISO 4217 code to return one currency's simulated row (e.g. 'USD'). Omit for all currencies. applied_filters echoes it.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_policy_backtest_summary` (~50 tokens)

Returns a saved Control > Backtest policy replay summary when available, plus the policy snapshot used for context. Use for historical policy replay questions only. Does not predict future performance or recommend policy settings.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_rate_assumptions` (~105 tokens)

Returns rate assumptions used by the dashboard: spot rates, source labels, timestamps, custom override presence, missing spot rates, and invoice rows with missing or placeholder booking rates. Use when users ask where a number came from or why a rate/P&L is unavailable. Also returns spot_rates_market_convention (the pair orientation the Control panel shows), forward_rates with forward_rates_basis (empty with the reason stated when no feed supplies a forward curve) and unsupported_currencies.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_export_manifest` (~45 tokens)

Returns a read-only manifest of Hedgr exports available in the dashboard and where to generate them. Does not download files, expose temporary URLs, or generate private report drafts through MCP.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_navigation_targets` (~60 tokens)

Returns safe client-facing Hedgr navigation targets: current tab/subtab labels and what each surface is used for. Use for 'where do I find this in Hedgr' questions. Excludes admin routes, operator pages, and feature-flag internals.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_workspace_setup_state` (~57 tokens)

Returns setup state for accounting, Google Sheets, and CSV/manual workspaces. Explains whether Company & reporting is required for MCP. Accounting providers supply company settings automatically; Google Sheets and CSV/manual workspaces may need Company & reporting completed.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

### `get_fx_guidance` (~73 tokens)

Returns Hedgr's shared FX-guidance canon - the same read-only methodology Scout uses in-app (e.g. margin-basis / IAS 21 and Xero unrealised FX overlap). Public-safe subset only; internal partner/marketing guidance is filtered out. Not financial, legal, tax, or investment advice.

Output parameters:

- `connection_status` (object)
- `data` (object|null): Tool-specific payload. Null when connection_status.state is 'setup_required'.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-hedgr-hedgr/hedgr#diagnostics

## Score history

- 2026-11-05: 94
- 2026-11-04: 93
- 2026-11-03: 93
- 2026-11-02: 93
- 2026-11-01: 92
- 2026-10-31: 92
- 2026-10-30: 91
- 2026-10-29: 91
- 2026-10-28: 90
- 2026-10-27: 90
- 2026-10-26: 89
- 2026-10-25: 89
- 2026-10-24: 88
- 2026-10-23: 88
- 2026-10-22: 87
- 2026-10-21: 87
- 2026-10-20: 86
- 2026-10-19: 86
- 2026-10-18: 86
- 2026-10-17: 85
- 2026-10-16: 85
- 2026-10-15: 84
- 2026-10-14: 84
- 2026-10-13: 83
- 2026-10-12: 83
- 2026-10-10: 82

## Common questions

### What is the Hedgr FX Risk & Treasury MCP server?

Hedgr FX Risk & Treasury is an MCP server listed in the public MCP registry as app.hedgr/hedgr. Read-only FX exposure, cash, hedge and P&L data from a Hedgr workspace, for SME finance teams. This page covers its hosted endpoint (https://hedgr.app/mcp).

### Is the Hedgr FX Risk & Treasury MCP server safe to use?

Hedgr FX Risk & Treasury scores 94 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 Hedgr FX Risk & Treasury MCP server expose?

Hedgr FX Risk & Treasury exposes 27 tools: get_platform_capabilities, get_dashboard_context, get_account_status, list_entities, get_fx_exposure, and 22 more. Their descriptions and schemas cost roughly 4,678 tokens of context every time the server is loaded.

### Does the Hedgr FX Risk & Treasury MCP server require authentication?

Yes. Hedgr FX Risk & Treasury asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Hedgr FX Risk & Treasury MCP server still maintained?

Hedgr FX Risk & Treasury 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 Hedgr FX Risk & Treasury MCP server?

VerifyMCP ran 14 checks on Hedgr FX Risk & Treasury, covering TLS certificate, Authorization, HTTPS, HSTS header and 10 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.

## Links

- Remote endpoint: https://hedgr.app/mcp
- Website: https://hedgr.app/mcp-overview
- Changelog RSS feed: https://verifymcp.io/servers/app-hedgr-hedgr/hedgr.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-hedgr-hedgr/hedgr/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/app-hedgr-hedgr/hedgr.json
- HTML version of this page: https://verifymcp.io/servers/app-hedgr-hedgr/hedgr
