Skip to main content
Glama

TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures

Forex Risk Reward

workflow.run_forex_risk_reward
Read-only

Risk and reward distance in pips from entry/stop/target, and the resulting ratio (reward/risk): a raw number, not a verdict. ratio is null when the stop sits exactly at entry (no risk distance), and also when validSetup is false (stop/target on the wrong side of entry for the given side, e.g. a long with its stop above entry) - check validSetup before trusting the ratio. Precious-metal pairs (XAU, XAG, XPT, XPD) are refused with an error, because their pip and lot size differ by broker. Edge cases: entryPrice, stopPrice and targetPrice above zero; The pair is BASE/QUOTE with two different ISO 4217 currency codes, in any letter case; crypto tickers and precious metals (XAU, XAG, XPT, XPD) are refused. A pip is 0.01 for a pair quoted in JPY and 0.0001 for every other pair, and a standard lot is 100,000 units. A stop equal to entry or a stop or target on the wrong side of entry for the chosen side gives ratio null (check validSetup). Not covered: spread, commission, swap, slippage, and the probability that the target is hit. Use when user asks "what's my risk/reward on this setup?". Returns: riskPips, rewardPips, validSetup, ratio.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "pair": "<pair>",
      "side": "<side>",
      "entryPrice": "<entryPrice>",
      "stopPrice": "<stopPrice>",
      "targetPrice": "<targetPrice>"
    },
    "name": "workflow.run_forex_risk_reward"
  }
}

Input Schema

NameRequiredDescriptionDefault
pairYesCurrency pair in BASE/QUOTE format, e.g. "EUR/USD"
sideYesTrade direction: "long" or "short"
stopPriceYesStop-loss price, same quote convention as the entry price
entryPriceYesEntry price in the pair's own quote terms, e.g. 1.0850 for EUR/USD
targetPriceYesTake-profit price, same quote convention as the entry price

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / entryPrice / description
      Added value: +"Entry price in the pair's own quote terms, e.g. 1.0850 for EUR/USD"
    • addedInput schema / properties / side / description
      Added value: +"Trade direction: \"long\" or \"short\""
    • addedInput schema / properties / stopPrice / description
      Added value: +"Stop-loss price, same quote convention as the entry price"
    • addedInput schema / properties / targetPrice / description
      Added value: +"Take-profit price, same quote convention as the entry price"
  2. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/openWorldHint=false, yet the description adds substantial behavioral detail: ratio is null when stop equals entry or when the stop/target sit on the wrong side for the side, precious-metal pairs error out because pip and lot conventions vary by broker, and the pip convention (0.01 for JPY quotes, 0.0001 otherwise) plus 100,000-unit standard lot are stated. It also discloses what is explicitly out of scope (spread, commission, swap, slippage, hit probability), which is exactly the kind of context annotations cannot carry.

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

Conciseness3/5

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

The core facts are front-loaded, which is good, but the text is padded with repetition: the ratio-null/validSetup rule is stated three times (once up front, once mid-paragraph, once again), and the 'Edge cases' clause re-lists refusals already mentioned. A tighter version would lose no information.

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?

With no output schema, the description correctly enumerates the return fields (riskPips, rewardPips, validSetup, ratio) and explains the degenerate cases that produce null. It covers validation and error behavior well; only minor gaps remain, such as how the refusal error is surfaced or whether pips are rounded.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by specifying that pair must be BASE/QUOTE with two distinct ISO 4217 codes in any letter case, that all three prices must be above zero, and how a pip is derived from the quote currency. That is real added meaning rather than restatement.

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 opening sentence names a specific computation (risk/reward distance in pips and the resulting ratio) over specific inputs (entry/stop/target), and the precious-metals refusal draws a clear scope boundary. It does not name a sibling as the alternative for crypto or non-FX pairs (e.g. run_risk_reward), so sibling differentiation is only partial.

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

Usage Guidelines4/5

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

It gives an explicit trigger phrase ("what's my risk/reward on this setup?") and explicit exclusions: precious metals are refused, crypto tickers are refused, and the user must check validSetup before trusting ratio. It leaves the agent to infer which other tool to use for those rejected cases, which keeps it short of a 5.

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.