Skip to main content
Glama

What exchange rates did to it

currency_effect
Read-onlyIdempotent

For a portfolio held in one currency but priced partly in others: how much of it is outside the base currency, and what exchange-rate moves added to its growth, volatility and worst fall compared with the same holdings currency-hedged. Use it only when some holdings are priced in another currency than the holder's; for a portfolio entirely in one currency it has nothing to show. Needs base set to the holder's currency to mean anything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNoCurrency every figure is expressed in (USD, EUR, GBP, CAD…). Default USD.
holdingsYesWhat is held: {ticker: weight or amount}. Weights need not sum to one; amounts in the base currency are also accepted (then the crises are shown in money). 1 to 100 holdings. Tickers as the exchange lists them (VOO, VWCE.DE, XAW.TO; 'CASH.USD' for cash).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNoBase currency.
dataNoWhere the prices came from and what was missing or repaired.
_fenceYesWhat these figures are and are not: descriptive, no forecast, no advice. Repeat its sense when presenting the result.
hedgedNoThe same with the currency moves removed.
headlineNoOne sentence summary.
unhedgedNoGrowth, volatility and worst fall as held.
by_currencyNo[currency, share of the money] pairs, by listing currency.
limitationsNoWhat this cannot show (listing currency is not earning currency).
share_of_volNoShare of the volatility that comes from exchange rates.
foreign_shareNoShare of the money priced outside the base currency.
cagr_from_currencyNoGrowth per year added (or removed) by exchange rates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, non-destructive, idempotent, closed-world), so the bar is lower. The description adds useful behavioral context: it only produces output when foreign-currency holdings exist, and that base must be correct. It does not describe the output shape or comparison methodology beyond the hedged baseline, but that is partly covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then usage conditions, then a prerequisite. It is compact and every sentence adds value. Minor redundancy in 'what exchange-rate moves added to its growth, volatility and worst fall' could be tightened, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two parameters with full schema coverage, a nested holdings object, an output schema, and extensive annotations, the description covers purpose, when to use, and a critical prerequisite. The only gap is that it doesn't explicitly state that the tool returns a comparison (e.g., metrics with and without hedging), but the purpose sentence implies it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and both parameters have detailed schema descriptions (base currency, holdings format, weights/amounts, ticker conventions). The description adds a note that base must be the holder's currency to be meaningful, which is valuable context but not syntax beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: decomposes a portfolio's exposure to foreign currency and quantifies what exchange-rate moves contributed to growth, volatility, and worst fall compared with a hedged version. This is a specific verb+resource. Sibling differentiation is partially implied by the currency focus, but no sibling is explicitly named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use (only when some holdings are priced in another currency) and when-not (entirely in one currency, nothing to show), plus a prerequisite (base set to holder's currency). No alternative sibling is mentioned, but the condition is fully stated and leaves nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources