Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Assess Pretrade Risk

assess_pretrade_risk
Read-onlyIdempotent

The order gate: approve, reduce or reject an order against the risk limits you. use it rather than assess_portfolio_risk for pretrade risk, not portfolio risk; an object with 46 fields including actual, approvedChecks.

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.
orderNoThe ordering the operation applies.
limitsNoThe limits this operation operates on. See the schema for its type and whether it is required.
accountNoThe account 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.
asOfNoThe `asOf` field of the response.
gapsNoThe `gaps` field of the response.
kindNoThe `kind` field of the response.
longNoThe `long` field of the response.
noteNoA note on how the answer was produced.
ruleNoThe rule or criteria that decided the verdict.
as_ofNoThe date the answer is computed as of.
basisNoThe `basis` field of the response.
limitNoThe `limit` field of the response.
actualNoThe `actual` field of the response.
checksNoThe individual checks that were run.
detailYesHuman-readable explanation of the verdict.
key_idNoThe `key_id` field of the response.
resultNoThe `result` field of the response.
sourceNoThe `source` field of the response.
symbolNoThe `symbol` field of the response.
verdictYesThe decision this tool returned.
breachesNoThe `breaches` field of the response.
headroomNoThe `headroom` field of the response.
max_sizeNoThe `max_size` field of the response.
notionalNoThe `notional` field of the response.
signedAtNoThe `signedAt` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
signed_atNoThe `signed_at` field of the response.
signed_byNoThe key id that signed the answer.
public_keyNoThe `public_key` field of the response.
coverageGapsNoThe `coverageGaps` 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.
suggestedSizeNoThe `suggestedSize` field of the response.
approvedChecksNoThe `approvedChecks` field of the response.
missing_fieldsNoThe `missing_fields` field of the response.
profileVersionNoVersion of the answer profile.
suggested_sizeNoThe `suggested_size` field of the response.
approved_checksNoThe `approved_checks` field of the response.
bucket_of_orderNoThe `bucket_of_order` field of the response.
profile_versionNoVersion of the answer profile.
approvedNotionalNoThe `approvedNotional` field of the response.
canonicalizationNoThe canonicalisation rule the digest was computed under.
correlationTableNoThe `correlationTable` field of the response.
approved_notionalNoThe `approved_notional` field of the response.
bindingConstraintNoThe `bindingConstraint` field of the response.
binding_constraintNoThe `binding_constraint` field of the response.
signature_algorithmNoThe `signature_algorithm` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed48 schema fields changed
    • addedOutput schema / properties / actual
      Added value: +{
      +  "description": "The `actual` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / approvedChecks
      Added value: +{
      +  "description": "The `approvedChecks` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / approvedNotional
      Added value: +{
      +  "description": "The `approvedNotional` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / approved_checks
      Added value: +{
      +  "description": "The `approved_checks` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / approved_notional
      Added value: +{
      +  "description": "The `approved_notional` field of the response.",
      +  "type": "object"
      +}
    • 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 / basis
      Added value: +{
      +  "description": "The `basis` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / bindingConstraint
      Added value: +{
      +  "description": "The `bindingConstraint` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / binding_constraint
      Added value: +{
      +  "description": "The `binding_constraint` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / breaches
      Added value: +{
      +  "description": "The `breaches` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / bucket_of_order
      Added value: +{
      +  "description": "The `bucket_of_order` 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 / checks
      Added value: +{
      +  "description": "The individual checks that were run.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / correlationTable
      Added value: +{
      +  "description": "The `correlationTable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverageGaps
      Added value: +{
      +  "description": "The `coverageGaps` 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 / gaps
      Added value: +{
      +  "description": "The `gaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / headroom
      Added value: +{
      +  "description": "The `headroom` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "description": "The `id` 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 / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / limit
      Added value: +{
      +  "description": "The `limit` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / long
      Added value: +{
      +  "description": "The `long` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / max_size
      Added value: +{
      +  "description": "The `max_size` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / missing_fields
      Added value: +{
      +  "description": "The `missing_fields` 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 / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • 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 / public_key
      Added value: +{
      +  "description": "The `public_key` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / result
      Added value: +{
      +  "description": "The `result` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / rule
      Added value: +{
      +  "description": "The rule or criteria that decided the verdict.",
      +  "type": "string"
      +}
    • 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 / signedAt
      Added value: +{
      +  "description": "The `signedAt` 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_by
      Added value: +{
      +  "description": "The key id that signed the answer.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / source
      Added value: +{
      +  "description": "The `source` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / suggestedSize
      Added value: +{
      +  "description": "The `suggestedSize` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / suggested_size
      Added value: +{
      +  "description": "The `suggested_size` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / symbol
      Added value: +{
      +  "description": "The `symbol` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • 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 read-only, idempotent, non-destructive, closed-world behavior. The description adds useful context about the decision outcomes (approve/reduce/reject) and return shape ('46 fields including actual, approvedChecks'), though the output schema makes the field summary partly redundant.

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 core purpose, but it contains a broken clause ('against the risk limits you.') and a semicolon splice into an output summary. Some of the trailing output detail is redundant because an output schema already exists.

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 the output schema, full parameter schema coverage, and annotations that cover safety and idempotency, the description is mostly complete. The malformed risk-limits clause and lack of guidance on nullable inputs are minor gaps for a read-only assessment tool.

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%, and the schema documents all five inputs including `as_of`, `order`, `limits`, `account`, and `positions`. The description adds no parameter-level meaning, so the baseline of 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?

States a specific decision function — an order gate that approves, reduces, or rejects an order against risk limits — and distinguishes pretrade risk from portfolio risk. However, the clause 'against the risk limits you.' is malformed, and the core verb is framed as outcomes rather than 'assess', leaving slight ambiguity.

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?

Explicitly tells the agent to use this tool rather than `assess_portfolio_risk` for pretrade risk, not portfolio risk. This is a clear routing rule with a named alternative and a stated condition, so the agent does not need to infer the correct 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.