Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Assess Portfolio Risk

assess_portfolio_risk
Read-onlyIdempotent

Risk for a set of positions under a named model. use it rather than assess_pretrade_risk for portfolio risk, not pretrade risk; an object with 70 fields including asOf, as_of. $3 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.
modelNoThe model this operation operates on. See the schema for its type and whether it is required.
positionsNoThe positions the operation evaluates.

Output Schema

NameRequiredDescriptionDefault
idNoThe `id` field of the response.
hhiNoThe `hhi` field of the response.
netNoThe `net` field of the response.
volNoThe `vol` field of the response.
asOfNoThe `asOf` field of the response.
keysNoThe `keys` field of the response.
kindNoThe `kind` field of the response.
longNoThe `long` field of the response.
noteNoA note on how the answer was produced.
sideNoThe `side` field of the response.
signNoThe `sign` field of the response.
as_ofNoThe date the answer is computed as of.
grossNoThe `gross` field of the response.
indexNoThe `index` field of the response.
modelNoThe `model` field of the response.
shortNoThe `short` field of the response.
checksNoThe individual checks that were run.
detailYesHuman-readable explanation of the verdict.
effectNoThe `effect` field of the response.
sha256NoThe `sha256` field of the response.
statusNoThe status of the operation.
usableNoThe `usable` field of the response.
withVolNoThe `withVol` field of the response.
currencyNoThe `currency` field of the response.
excludedNoThe `excluded` field of the response.
includedNoThe `included` field of the response.
notionalNoThe `notional` field of the response.
problemsNoThe `problems` field of the response.
signedByNoThe `signedBy` field of the response.
suppliedNoThe `supplied` field of the response.
warningsNoThe `warnings` field of the response.
positionsNoThe `positions` field of the response.
report_idNoThe `report_id` field of the response.
signed_atNoThe `signed_at` field of the response.
stored_atNoThe `stored_at` field of the response.
truncatedNoThe `truncated` field of the response.
volSourceNoThe `volSource` field of the response.
assumptionNoThe `assumption` field of the response.
ed25519SigNoThe `ed25519Sig` field of the response.
instrumentNoThe `instrument` field of the response.
mismatchesNoThe `mismatches` field of the response.
pctWithVolNoThe `pctWithVol` field of the response.
riskWeightNoThe `riskWeight` field of the response.
risk_gradeNoThe `risk_grade` field of the response.
unresolvedNoThe `unresolved` field of the response.
withoutVolNoThe `withoutVol` field of the response.
assumptionsNoThe `assumptions` field of the response.
descriptionNoThe `description` field of the response.
contributorsNoThe `contributors` field of the response.
evidenceCoreNoThe `evidenceCore` field of the response.
net_exposureNoThe `net_exposure` field of the response.
riskSharePctNoThe `riskSharePct` field of the response.
concentrationNoThe `concentration` field of the response.
grossSharePctNoThe `grossSharePct` field of the response.
long_exposureNoThe `long_exposure` field of the response.
net_ratio_pctNoThe `net_ratio_pct` field of the response.
excluded_countNoThe `excluded_count` field of the response.
gross_exposureNoThe `gross_exposure` field of the response.
position_countNoThe `position_count` field of the response.
profileVersionNoVersion of the answer profile.
short_exposureNoThe `short_exposure` field of the response.
signedNotionalNoThe `signedNotional` field of the response.
profile_versionNoVersion of the answer profile.
riskWeightBasisNoThe `riskWeightBasis` field of the response.
signed_notionalNoThe `signed_notional` field of the response.
risk_grade_basisNoThe `risk_grade_basis` field of the response.
top_contributorsNoThe `top_contributors` field of the response.
correlationSuppliedNoThe `correlationSupplied` field of the response.
effective_positionsNoThe `effective_positions` field of the response.
correlationDimensionNoThe `correlationDimension` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed71 schema fields changed
    • addedOutput schema / properties / asOf
      Added value: +{
      +  "description": "The `asOf` 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 / assumption
      Added value: +{
      +  "description": "The `assumption` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / assumptions
      Added value: +{
      +  "description": "The `assumptions` 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 / concentration
      Added value: +{
      +  "description": "The `concentration` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / contributors
      Added value: +{
      +  "description": "The `contributors` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / correlationDimension
      Added value: +{
      +  "description": "The `correlationDimension` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / correlationSupplied
      Added value: +{
      +  "description": "The `correlationSupplied` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / currency
      Added value: +{
      +  "description": "The `currency` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / description
      Added value: +{
      +  "description": "The `description` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ed25519Sig
      Added value: +{
      +  "description": "The `ed25519Sig` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / effect
      Added value: +{
      +  "description": "The `effect` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / effective_positions
      Added value: +{
      +  "description": "The `effective_positions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceCore
      Added value: +{
      +  "description": "The `evidenceCore` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / excluded
      Added value: +{
      +  "description": "The `excluded` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / excluded_count
      Added value: +{
      +  "description": "The `excluded_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / gross
      Added value: +{
      +  "description": "The `gross` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / grossSharePct
      Added value: +{
      +  "description": "The `grossSharePct` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / gross_exposure
      Added value: +{
      +  "description": "The `gross_exposure` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / hhi
      Added value: +{
      +  "description": "The `hhi` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "description": "The `id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / included
      Added value: +{
      +  "description": "The `included` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / index
      Added value: +{
      +  "description": "The `index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / instrument
      Added value: +{
      +  "description": "The `instrument` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / keys
      Added value: +{
      +  "description": "The `keys` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / long
      Added value: +{
      +  "description": "The `long` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / long_exposure
      Added value: +{
      +  "description": "The `long_exposure` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / mismatches
      Added value: +{
      +  "description": "The `mismatches` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / model
      Added value: +{
      +  "description": "The `model` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / net
      Added value: +{
      +  "description": "The `net` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / net_exposure
      Added value: +{
      +  "description": "The `net_exposure` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / net_ratio_pct
      Added value: +{
      +  "description": "The `net_ratio_pct` 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 / notional
      Added value: +{
      +  "description": "The `notional` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / pctWithVol
      Added value: +{
      +  "description": "The `pctWithVol` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / position_count
      Added value: +{
      +  "description": "The `position_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / positions
      Added value: +{
      +  "description": "The `positions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / problems
      Added value: +{
      +  "description": "The `problems` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / profile_version
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / report_id
      Added value: +{
      +  "description": "The `report_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / riskSharePct
      Added value: +{
      +  "description": "The `riskSharePct` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / riskWeight
      Added value: +{
      +  "description": "The `riskWeight` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / riskWeightBasis
      Added value: +{
      +  "description": "The `riskWeightBasis` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / risk_grade
      Added value: +{
      +  "description": "The `risk_grade` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / risk_grade_basis
      Added value: +{
      +  "description": "The `risk_grade_basis` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / short
      Added value: +{
      +  "description": "The `short` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / short_exposure
      Added value: +{
      +  "description": "The `short_exposure` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / side
      Added value: +{
      +  "description": "The `side` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sign
      Added value: +{
      +  "description": "The `sign` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signedBy
      Added value: +{
      +  "description": "The `signedBy` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signedNotional
      Added value: +{
      +  "description": "The `signedNotional` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_at
      Added value: +{
      +  "description": "The `signed_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_notional
      Added value: +{
      +  "description": "The `signed_notional` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / status / description
      Added value: +"The status of the operation."
    • addedOutput schema / properties / stored_at
      Added value: +{
      +  "description": "The `stored_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / supplied
      Added value: +{
      +  "description": "The `supplied` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / top_contributors
      Added value: +{
      +  "description": "The `top_contributors` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "description": "The `truncated` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unresolved
      Added value: +{
      +  "description": "The `unresolved` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / usable
      Added value: +{
      +  "description": "The `usable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / vol
      Added value: +{
      +  "description": "The `vol` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / volSource
      Added value: +{
      +  "description": "The `volSource` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "description": "The `warnings` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / withVol
      Added value: +{
      +  "description": "The `withVol` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / withoutVol
      Added value: +{
      +  "description": "The `withoutVol` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail"
      +]
  2. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this a safe, idempotent, non-destructive read, so the description doesn't need to re-state safety. It adds genuinely new behavioral context: a per-call cost of $3 USDC and a hint at the (large) response shape, both of which matter for invocation decisions.

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?

It is short and the routing rule is near the front, but the fragment 'an object with 70 fields including asOf, as_of' is garbled and partly redundant. The opening lacks a verb, making it feel like notes rather than a definition.

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 and full parameter coverage, the essentials are covered, and cost is a useful addition. However, 'named model' sits awkwardly against a schema that types model as a free-form object, leaving the most consequential parameter's expected shape under-explained.

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 as_of, model, and positions are already documented. The description only echoes 'named model' and 'set of positions' without adding format, constraints, or examples; baseline 3 applies.

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 names the resource and scope precisely ('Risk for a set of positions under a named model') and explicitly distinguishes it from the nearest sibling, assess_pretrade_risk. It lacks an explicit action verb, but the operation is still unambiguous.

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 routing rule — use this instead of assess_pretrade_risk for portfolio risk, not pretrade risk — which is exactly the disambiguation an agent needs with 100+ siblings. It stops short of stating other preconditions or when-not-to-use cases beyond that one sibling.

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.