Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Assess Operation Behaviour Drift

assess_operation_behaviour_drift
Read-onlyIdempotent

Still up — but behaving the same?. use it rather than check_operation_idempotency for operation behaviour drift, not operation idempotency; an object with 38 fields including after, baseline_recorded. $0.1 USDC.

Input Schema

NameRequiredDescriptionDefault
payloadNoThe payload the operation operates on.
endpointNoThe endpoint this operation operates on. See the schema for its type and whether it is required.
observerNoThe observer this operation operates on. See the schema for its type and whether it is required.
price_usdNoThe price usd this operation operates on. See the schema for its type and whether it is required.
latency_msNoThe latency ms this operation operates on. See the schema for its type and whether it is required.
observed_atNoThe observed at this operation operates on. See the schema for its type and whether it is required.
price_tolerance_usdNoThe price tolerance usd this operation operates on. See the schema for its type and whether it is required.
latency_tolerance_msNoThe latency tolerance ms this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
seqNoThe `seq` field of the response.
pathNoThe `path` field of the response.
typeNoThe `type` field of the response.
afterNoThe `after` field of the response.
driftNoThe `drift` field of the response.
pathsNoThe `paths` field of the response.
beforeNoThe `before` field of the response.
detailYesHuman-readable explanation of the verdict.
driftsNoThe `drifts` field of the response.
shiftsNoThe `shifts` field of the response.
changesNoThe `changes` field of the response.
payloadNoThe `payload` field of the response.
delta_msNoThe `delta_ms` field of the response.
delta_usdNoThe `delta_usd` field of the response.
dimensionNoThe `dimension` field of the response.
exceptionNoThe `exception` field of the response.
price_usdNoThe price of the operation that was paid.
latency_msNoThe `latency_ms` field of the response.
field_countNoThe `field_count` field of the response.
observed_atNoThe `observed_at` field of the response.
tolerance_msNoThe `tolerance_ms` field of the response.
fields_sha256NoThe `fields_sha256` field of the response.
tolerance_usdNoThe `tolerance_usd` field of the response.
payload_sha256NoThe `payload_sha256` field of the response.
relative_shiftNoThe `relative_shift` field of the response.
field_count_nowNoThe `field_count_now` field of the response.
baseline_recordedNoThe `baseline_recorded` field of the response.
field_count_beforeNoThe `field_count_before` field of the response.
dimensions_comparedNoThe `dimensions_compared` field of the response.
observations_storedNoThe `observations_stored` field of the response.
price_tolerance_usdNoThe `price_tolerance_usd` field of the response.
comparison_performedNoThe `comparison_performed` field of the response.
latency_tolerance_msNoThe `latency_tolerance_ms` field of the response.
observation_sequenceNoThe `observation_sequence` field of the response.
previous_observed_atNoThe `previous_observed_at` field of the response.
observations_comparedNoThe `observations_compared` field of the response.
current_payload_sha256NoThe `current_payload_sha256` field of the response.
previous_payload_sha256NoThe `previous_payload_sha256` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed40 schema fields changed
    • addedOutput schema / properties / after
      Added value: +{
      +  "description": "The `after` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / baseline_recorded
      Added value: +{
      +  "description": "The `baseline_recorded` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / before
      Added value: +{
      +  "description": "The `before` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / changes
      Added value: +{
      +  "description": "The `changes` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / comparison_performed
      Added value: +{
      +  "description": "The `comparison_performed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / current_payload_sha256
      Added value: +{
      +  "description": "The `current_payload_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / delta_ms
      Added value: +{
      +  "description": "The `delta_ms` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / delta_usd
      Added value: +{
      +  "description": "The `delta_usd` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / dimension
      Added value: +{
      +  "description": "The `dimension` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / dimensions_compared
      Added value: +{
      +  "description": "The `dimensions_compared` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / drift
      Added value: +{
      +  "description": "The `drift` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / drifts
      Added value: +{
      +  "description": "The `drifts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / exception
      Added value: +{
      +  "description": "The `exception` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / field_count
      Added value: +{
      +  "description": "The `field_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / field_count_before
      Added value: +{
      +  "description": "The `field_count_before` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / field_count_now
      Added value: +{
      +  "description": "The `field_count_now` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / fields_sha256
      Added value: +{
      +  "description": "The `fields_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / latency_ms
      Added value: +{
      +  "description": "The `latency_ms` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / latency_tolerance_ms
      Added value: +{
      +  "description": "The `latency_tolerance_ms` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / observation_sequence
      Added value: +{
      +  "description": "The `observation_sequence` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / observations_compared
      Added value: +{
      +  "description": "The `observations_compared` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / observations_stored
      Added value: +{
      +  "description": "The `observations_stored` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / observed_at
      Added value: +{
      +  "description": "The `observed_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / path
      Added value: +{
      +  "description": "The `path` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / paths
      Added value: +{
      +  "description": "The `paths` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / payload
      Added value: +{
      +  "description": "The `payload` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / payload_sha256
      Added value: +{
      +  "description": "The `payload_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / previous_observed_at
      Added value: +{
      +  "description": "The `previous_observed_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / previous_payload_sha256
      Added value: +{
      +  "description": "The `previous_payload_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / price_tolerance_usd
      Added value: +{
      +  "description": "The `price_tolerance_usd` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / price_usd
      Added value: +{
      +  "description": "The price of the operation that was paid.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / relative_shift
      Added value: +{
      +  "description": "The `relative_shift` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / seq
      Added value: +{
      +  "description": "The `seq` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / shifts
      Added value: +{
      +  "description": "The `shifts` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / tolerance_ms
      Added value: +{
      +  "description": "The `tolerance_ms` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / tolerance_usd
      Added value: +{
      +  "description": "The `tolerance_usd` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / type
      Added value: +{
      +  "description": "The `type` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail"
      +]
  2. Added

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds two useful behavioral facts — the response shape ('an object with 38 fields including after, baseline_recorded') and a cost ('$0.1 USDC') — but says nothing about what happens when no baseline exists or how drift is judged.

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

Conciseness2/5

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

It is short, but the opening is a garbled sentence fragment with a stray '?.' and the content is not front-loaded — the useful routing instruction is buried mid-string. Brevity here reflects poor structure rather than disciplined concision.

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 a rich annotation set, 100% schema coverage and an output schema, the description needn't explain returns or safety. It still leaves the core concept (what 'behaviour drift' is measured against, e.g. a baseline) under-specified for a tool with 8 optional parameters.

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 schema already documents all 8 parameters (payload, endpoint, observer, price/latency tolerances, etc.). The description adds no parameter meaning beyond that, which is acceptable given the coverage but earns no bonus.

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

Purpose3/5

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

The name and title are specific (assess operation behaviour drift), and the description explicitly separates this from `check_operation_idempotency`. However, the opening fragment 'Still up — but behaving the same?' only gestures at what drift means rather than stating the verb+resource outcome, so an agent must infer the actual assessment from the tool name.

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 explicitly names the alternative ('use it rather than `check_operation_idempotency`') and states the selecting condition ('for operation behaviour drift, not operation idempotency'). That is a genuine when-to-use routing instruction, though it lacks any when-not/prerequisite context.

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.