Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Assess Risk Of Ruin

assess_risk_of_ruin
Read-onlyIdempotent

Return ONE signed, dated risk-of-ruin answer. use it rather than assess_portfolio_risk for risk of ruin, not portfolio risk; an object with 50 fields including E0, N. $0.05 USDC.

Input Schema

NameRequiredDescriptionDefault
seedNoThe random seed, so a stochastic answer can be reproduced exactly.
as_ofNoThe date the answer is computed as of (YYYY-MM-DD). Defaults to today. Use it to reproduce a past answer exactly.
tradesNoThe trades this operation operates on. See the schema for its type and whether it is required.
capitalNoThe capital this operation operates on. See the schema for its type and whether it is required.
win_rateNoThe win rate this operation operates on. See the schema for its type and whether it is required.
avg_win_rNoThe avg win r this operation operates on. See the schema for its type and whether it is required.
avg_loss_rNoThe avg loss r this operation operates on. See the schema for its type and whether it is required.
risk_per_trade_pctNoThe risk per trade pct this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
NNoThe `N` field of the response.
E0NoThe `E0` field of the response.
muNoThe `mu` field of the response.
formNoThe `form` field of the response.
noteNoA note on how the answer was produced.
runsNoThe `runs` field of the response.
as_ofNoThe date the answer is computed as of.
kellyNoThe `kelly` field of the response.
routeNoThe `route` field of the response.
detailYesHuman-readable explanation of the verdict.
key_idNoThe `key_id` field of the response.
seededNoThe `seeded` field of the response.
sigma2NoThe `sigma2` field of the response.
tradesNoThe `trades` field of the response.
capitalNoThe `capital` field of the response.
processNoThe `process` field of the response.
reasonsNoThe `reasons` field of the response.
verdictYesThe decision this tool returned.
cautiousNoThe `cautious` field of the response.
readOnlyNoThe `readOnly` field of the response.
verdictsNoThe `verdicts` field of the response.
excessiveNoThe `excessive` field of the response.
halfKellyNoThe `halfKelly` field of the response.
ruinModelNoThe `ruinModel` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
signed_byNoThe key id that signed the answer.
toleranceNoThe `tolerance` field of the response.
half_kellyNoThe `half_kelly` field of the response.
provenanceNoThe `provenance` field of the response.
public_keyNoThe `public_key` field of the response.
simulationNoThe `simulation` field of the response.
thresholdsNoThe `thresholds` field of the response.
assumptionsNoThe `assumptions` field of the response.
absorbingRuinNoThe `absorbingRuin` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
evidence_coreYesThe canonical, signed core of the answer — the payload the signature covers.
output_sha256YesSHA-256 hex digest of the canonical evidence core.
kelly_fractionNoThe `kelly_fraction` field of the response.
verdict_agreesNoThe `verdict_agrees` field of the response.
simulation_runsNoThe `simulation_runs` field of the response.
simulation_seedNoThe `simulation_seed` field of the response.
canonicalizationNoThe canonicalisation rule the digest was computed under.
ruin_probabilityNoThe `ruin_probability` field of the response.
risk_per_trade_pctNoThe `risk_per_trade_pct` field of the response.
signature_algorithmNoThe `signature_algorithm` field of the response.
analytic_simulated_gapNoThe `analytic_simulated_gap` field of the response.
expectedGrowthPerTradeNoThe `expectedGrowthPerTrade` field of the response.
median_terminal_wealthNoThe `median_terminal_wealth` field of the response.
expected_growth_per_tradeNoThe `expected_growth_per_trade` field of the response.
simulated_ruin_probabilityNoThe `simulated_ruin_probability` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed52 schema fields changed
    • addedOutput schema / properties / E0
      Added value: +{
      +  "description": "The `E0` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / N
      Added value: +{
      +  "description": "The `N` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / absorbingRuin
      Added value: +{
      +  "description": "The `absorbingRuin` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / analytic_simulated_gap
      Added value: +{
      +  "description": "The `analytic_simulated_gap` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / as_of
      Added value: +{
      +  "description": "The date the answer is computed as of.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / assumptions
      Added value: +{
      +  "description": "The `assumptions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / canonicalization
      Added value: +{
      +  "description": "The canonicalisation rule the digest was computed under.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / capital
      Added value: +{
      +  "description": "The `capital` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / cautious
      Added value: +{
      +  "description": "The `cautious` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage_gaps
      Added value: +{
      +  "description": "The `coverage_gaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / evidence_core
      Added value: +{
      +  "description": "The canonical, signed core of the answer — the payload the signature covers.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / excessive
      Added value: +{
      +  "description": "The `excessive` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / expectedGrowthPerTrade
      Added value: +{
      +  "description": "The `expectedGrowthPerTrade` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / expected_growth_per_trade
      Added value: +{
      +  "description": "The `expected_growth_per_trade` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / form
      Added value: +{
      +  "description": "The `form` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / halfKelly
      Added value: +{
      +  "description": "The `halfKelly` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / half_kelly
      Added value: +{
      +  "description": "The `half_kelly` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kelly
      Added value: +{
      +  "description": "The `kelly` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kelly_fraction
      Added value: +{
      +  "description": "The `kelly_fraction` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / key_id
      Added value: +{
      +  "description": "The `key_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / median_terminal_wealth
      Added value: +{
      +  "description": "The `median_terminal_wealth` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / mu
      Added value: +{
      +  "description": "The `mu` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / process
      Added value: +{
      +  "description": "The `process` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / provenance
      Added value: +{
      +  "description": "The `provenance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / public_key
      Added value: +{
      +  "description": "The `public_key` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / readOnly
      Added value: +{
      +  "description": "The `readOnly` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reasons
      Added value: +{
      +  "description": "The `reasons` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / risk_per_trade_pct
      Added value: +{
      +  "description": "The `risk_per_trade_pct` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / route
      Added value: +{
      +  "description": "The `route` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ruinModel
      Added value: +{
      +  "description": "The `ruinModel` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ruin_probability
      Added value: +{
      +  "description": "The `ruin_probability` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / runs
      Added value: +{
      +  "description": "The `runs` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / seeded
      Added value: +{
      +  "description": "The `seeded` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sigma2
      Added value: +{
      +  "description": "The `sigma2` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signature_algorithm
      Added value: +{
      +  "description": "The `signature_algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_by
      Added value: +{
      +  "description": "The key id that signed the answer.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / simulated_ruin_probability
      Added value: +{
      +  "description": "The `simulated_ruin_probability` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / simulation
      Added value: +{
      +  "description": "The `simulation` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / simulation_runs
      Added value: +{
      +  "description": "The `simulation_runs` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / simulation_seed
      Added value: +{
      +  "description": "The `simulation_seed` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / thresholds
      Added value: +{
      +  "description": "The `thresholds` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / tolerance
      Added value: +{
      +  "description": "The `tolerance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / trades
      Added value: +{
      +  "description": "The `trades` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / verdict_agrees
      Added value: +{
      +  "description": "The `verdict_agrees` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdicts
      Added value: +{
      +  "description": "The `verdicts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "evidence_core",
      +  "output_sha256",
      +  "signature",
      +  "verdict"
      +]
  2. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavioral context: the answer is signed and dated, it costs $0.05 USDC (material for budget-aware agents), and the payload is a large object of ~50 fields. It loses a point because 'E0, N' is unexplained jargon an agent cannot act on.

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?

Two short sentences with the purpose front-loaded, so it is appropriately sized. Structure is loose, though: the alternative comparison, the field-count note, and the price are stitched together with semicolons and a stray '$0.05 USDC' fragment, and 'risk of ruin' is repeated redundantly.

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

Completeness3/5

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

With an output schema present, the description needn't enumerate return values, and the cost plus signed/dated note covers the commercial and integrity side. But with 8 parameters and 0 required, the description never says what happens when trades/capital/win_rate and friends are omitted, and the cited E0/N fields are uninterpretable.

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 description coverage is 100%, so the nominal baseline is 3. The description contributes no parameter guidance at all, and the schema's own parameter text is generic boilerplate ('The trades this operation operates on...'), so the description had room to compensate and did not. It does not clarify what happens when the nullable inputs are omitted.

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

Purpose5/5

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

The description states a concrete verb and resource ('Return ONE signed, dated risk-of-ruin answer') and immediately distinguishes the output from the sibling tool's output ('risk of ruin, not portfolio risk'). An agent can tell this apart from assess_portfolio_risk without opening either schema.

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 names an explicit alternative and the condition that selects it: use this rather than `assess_portfolio_risk` when the question is risk of ruin. That is strong routing guidance. It stops short of covering the many other assess_* siblings or stating when this tool should not be used at all, so a 4 rather than 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.