Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Evaluate Portfolio Verdict

evaluate_portfolio_verdict
Read-onlyIdempotent

Return ONE signed, dated batch verdict. use it rather than evaluate_strategy_verdict for portfolio verdict, not strategy verdict; an object with 94 fields including E0, N. $5 USDC.

Input Schema

NameRequiredDescriptionDefault
as_ofNoThe date the answer is computed as of (YYYY-MM-DD). Defaults to today. Use it to reproduce a past answer exactly.
itemsNoThe items the operation evaluates.
checksNoWhich checks to run. Omit for the default set.

Output Schema

NameRequiredDescriptionDefault
NNoThe `N` field of the response.
aNoThe `a` field of the response.
bNoThe `b` field of the response.
E0NoThe `E0` field of the response.
idNoThe `id` field of the response.
muNoThe `mu` field of the response.
whyNoThe `why` field of the response.
corrNoThe `corr` field of the response.
formNoThe `form` field of the response.
nameNoThe `name` field of the response.
noteNoA note on how the answer was produced.
nullNoThe `null` field of the response.
runsNoThe `runs` field of the response.
seedNoThe `seed` field of the response.
testNoThe `test` field of the response.
alphaNoThe `alpha` 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.
checksNoThe individual checks that were run.
detailYesHuman-readable explanation of the verdict.
key_idNoThe `key_id` field of the response.
matrixNoThe `matrix` field of the response.
methodNoThe `method` field of the response.
reasonNoWhy the verdict was reached.
rejectNoThe `reject` field of the response.
seededNoThe `seeded` field of the response.
sigma2NoThe `sigma2` field of the response.
t_statNoThe `t_stat` field of the response.
tradesNoThe `trades` field of the response.
capitalNoThe `capital` field of the response.
overlapNoThe `overlap` field of the response.
p_valueNoThe `p_value` field of the response.
processNoThe `process` field of the response.
reasonsNoThe `reasons` field of the response.
resultsNoThe results the operation produced.
returnsNoThe `returns` field of the response.
summaryNoOne-line summary of the answer.
verdictYesThe decision this tool returned.
cautiousNoThe `cautious` field of the response.
clustersNoThe `clusters` field of the response.
readOnlyNoThe `readOnly` field of the response.
verdictsNoThe `verdicts` field of the response.
candidateNoThe `candidate` 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.
statisticNoThe `statistic` field of the response.
thresholdNoThe `threshold` field of the response.
toleranceNoThe `tolerance` field of the response.
adjusted_pNoThe `adjusted_p` field of the response.
correctionNoThe `correction` field of the response.
deployableNoThe `deployable` 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.
significantNoThe `significant` field of the response.
insufficientNoThe `insufficient` field of the response.
observationsNoThe `observations` field of the response.
absorbingRuinNoThe `absorbingRuin` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
crowded_pairsNoThe `crowded_pairs` 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.
pairs_measuredNoThe `pairs_measured` field of the response.
strategy_countNoThe `strategy_count` field of the response.
test_sidednessNoThe `test_sidedness` 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.
classical_t_statNoThe `classical_t_stat` field of the response.
minimum_requiredNoThe `minimum_required` field of the response.
ruin_probabilityNoThe `ruin_probability` field of the response.
classical_p_valueNoThe `classical_p_value` field of the response.
correction_factorNoThe `correction_factor` field of the response.
permutationTrialsNoThe `permutationTrials` field of the response.
insufficient_pairsNoThe `insufficient_pairs` field of the response.
permutation_trialsNoThe `permutation_trials` field of the response.
risk_per_trade_pctNoThe `risk_per_trade_pct` field of the response.
trade_distributionNoThe `trade_distribution` field of the response.
minimumObservationsNoThe `minimumObservations` 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. Changed96 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 / a
      Added value: +{
      +  "description": "The `a` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / absorbingRuin
      Added value: +{
      +  "description": "The `absorbingRuin` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / adjusted_p
      Added value: +{
      +  "description": "The `adjusted_p` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / alpha
      Added value: +{
      +  "description": "The `alpha` 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 / b
      Added value: +{
      +  "description": "The `b` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / candidate
      Added value: +{
      +  "description": "The `candidate` 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 / checks
      Added value: +{
      +  "description": "The individual checks that were run.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / classical_p_value
      Added value: +{
      +  "description": "The `classical_p_value` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / classical_t_stat
      Added value: +{
      +  "description": "The `classical_t_stat` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / clusters
      Added value: +{
      +  "description": "The `clusters` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / corr
      Added value: +{
      +  "description": "The `corr` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / correction
      Added value: +{
      +  "description": "The `correction` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / correction_factor
      Added value: +{
      +  "description": "The `correction_factor` 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 / crowded_pairs
      Added value: +{
      +  "description": "The `crowded_pairs` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / deployable
      Added value: +{
      +  "description": "The `deployable` 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 / id
      Added value: +{
      +  "description": "The `id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / insufficient
      Added value: +{
      +  "description": "The `insufficient` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / insufficient_pairs
      Added value: +{
      +  "description": "The `insufficient_pairs` 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 / matrix
      Added value: +{
      +  "description": "The `matrix` 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 / method
      Added value: +{
      +  "description": "The `method` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / minimumObservations
      Added value: +{
      +  "description": "The `minimumObservations` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / minimum_required
      Added value: +{
      +  "description": "The `minimum_required` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / mu
      Added value: +{
      +  "description": "The `mu` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / name
      Added value: +{
      +  "description": "The `name` 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 / null
      Added value: +{
      +  "description": "The `null` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / observations
      Added value: +{
      +  "description": "The `observations` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / overlap
      Added value: +{
      +  "description": "The `overlap` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / p_value
      Added value: +{
      +  "description": "The `p_value` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / pairs_measured
      Added value: +{
      +  "description": "The `pairs_measured` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / permutationTrials
      Added value: +{
      +  "description": "The `permutationTrials` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / permutation_trials
      Added value: +{
      +  "description": "The `permutation_trials` field of the response.",
      +  "type": "object"
      +}
    • 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 / reason
      Added value: +{
      +  "description": "Why the verdict was reached.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / reasons
      Added value: +{
      +  "description": "The `reasons` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reject
      Added value: +{
      +  "description": "The `reject` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / results
      Added value: +{
      +  "description": "The results the operation produced.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / returns
      Added value: +{
      +  "description": "The `returns` 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 / seed
      Added value: +{
      +  "description": "The `seed` 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 / significant
      Added value: +{
      +  "description": "The `significant` field of the response.",
      +  "type": "object"
      +}
    • 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"
      +}
    • addedOutput schema / properties / statistic
      Added value: +{
      +  "description": "The `statistic` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / strategy_count
      Added value: +{
      +  "description": "The `strategy_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / summary
      Added value: +{
      +  "description": "One-line summary of the answer.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / t_stat
      Added value: +{
      +  "description": "The `t_stat` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / test
      Added value: +{
      +  "description": "The `test` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / test_sidedness
      Added value: +{
      +  "description": "The `test_sidedness` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / threshold
      Added value: +{
      +  "description": "The `threshold` field of the response.",
      +  "type": "object"
      +}
    • 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 / trade_distribution
      Added value: +{
      +  "description": "The `trade_distribution` 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 / properties / why
      Added value: +{
      +  "description": "The `why` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "evidence_core",
      +  "output_sha256",
      +  "signature",
      +  "verdict"
      +]
  2. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds substantive context not in annotations: the output is signed and dated, contains 94 fields including E0 and N, and costs $5 USDC. The cost disclosure is particularly useful and not available elsewhere.

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 description is short and front-loads the purpose. However, the second sentence is a run-on fragment ('an object with 94 fields including E0, N. $5 USDC.') that is cryptic and could confuse an agent about what 'E0, N' refers to.

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 annotations covering safety and an output schema available, the description provides the key extra details an agent needs: cost, output signature, field count, and sibling routing. It does not explain the input parameters, but the schema covers those fully.

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 input parameters are fully documented in the schema. The description does not add any parameter-level semantics beyond what the schema provides, which is acceptable given the complete coverage but means it meets only the baseline.

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?

States a specific verb and resource ('Return ONE signed, dated batch verdict') and explicitly distinguishes itself from `evaluate_strategy_verdict`. However, calling it a 'batch verdict' rather than a 'portfolio verdict' creates a slight mismatch with the tool name and title, requiring the agent to reconcile the two.

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?

Explicitly directs the agent to use this tool rather than `evaluate_strategy_verdict` for portfolio verdicts, which is a clear routing rule. It does not cover other edge cases or exclusions, but the primary alternative is named.

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.