Skip to main content
Glama

zFinia Intelligence

merchant contract regression report

merchant_contract_regression_report

Compare caller-supplied baseline/current merchant payment and field contracts before deployment. Returns reproducible rule evidence and fixes; no URL fetching or security audit. Pay 50000 atomic USDC on Base via exact x402. MCP does not pay.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
policyYes
currentYes
baselineYes
merchant_service_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
checksYes
coverageYes
snapshotYes
checked_atYesServer evaluation time; distinct from caller-supplied observation times.
conclusionYes
request_idYesDelivery request identifier; also returned in x-foundry-request-id.
service_idYesCanonical service identifier.
limitationsYes
report_versionYes
service_versionYesVersion of the invoked service.
merchant_service_idYes
security_audit_performedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / baseline / properties / observed_at / pattern
      Added value: +"^\\d{4}-\\d{2}-\\d{2}T"
    • changedInput schema / properties / baseline / properties / route / pattern
      Previous value: -"^/"New value: +"^/[A-Za-z0-9._~!$&'()*+,;=:@%/-]{0,255}$"
    • addedInput schema / properties / current / properties / observed_at / pattern
      Added value: +"^\\d{4}-\\d{2}-\\d{2}T"
    • changedInput schema / properties / current / properties / route / pattern
      Previous value: -"^/"New value: +"^/[A-Za-z0-9._~!$&'()*+,;=:@%/-]{0,255}$"
    • addedOutput schema / properties / checked_at / description
      Added value: +"Server evaluation time; distinct from caller-supplied observation times."
    • addedOutput schema / properties / checked_at / pattern
      Added value: +"^\\d{4}-\\d{2}-\\d{2}T"
    • addedOutput schema / properties / checks / items
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "evidence": {
      +      "type": "object"
      +    },
      +    "remediation": {
      +      "type": "string"
      +    },
      +    "rule_id": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "pass",
      +        "fail",
      +        "not_evaluated"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "rule_id",
      +    "status",
      +    "evidence"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage / additionalProperties
      Added value: +false
    • addedOutput schema / properties / coverage / properties
      Added value: +{
      +  "network_fetches": {
      +    "type": "integer"
      +  },
      +  "paid_outputs_verified": {
      +    "type": "integer"
      +  },
      +  "rules_evaluated": {
      +    "type": "integer"
      +  },
      +  "rules_not_evaluated": {
      +    "type": "integer"
      +  },
      +  "supplied_snapshots": {
      +    "type": "integer"
      +  }
      +}
    • addedOutput schema / properties / coverage / required
      Added value: +[
      +  "supplied_snapshots",
      +  "rules_evaluated",
      +  "rules_not_evaluated",
      +  "network_fetches",
      +  "paid_outputs_verified"
      +]
    • addedOutput schema / properties / limitations / items
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / snapshot / additionalProperties
      Added value: +false
    • addedOutput schema / properties / snapshot / properties
      Added value: +{
      +  "baseline_observed_at": {
      +    "pattern": "^\\d{4}-\\d{2}-\\d{2}T",
      +    "type": "string"
      +  },
      +  "baseline_sha256": {
      +    "pattern": "^[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "changed": {
      +    "type": "boolean"
      +  },
      +  "current_observed_at": {
      +    "pattern": "^\\d{4}-\\d{2}-\\d{2}T",
      +    "type": "string"
      +  },
      +  "current_sha256": {
      +    "pattern": "^[0-9a-f]{64}$",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / snapshot / required
      Added value: +[
      +  "baseline_observed_at",
      +  "current_observed_at",
      +  "baseline_sha256",
      +  "current_sha256",
      +  "changed"
      +]
  2. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations are absent, so the description carries the full burden. It discloses a critical behavioral trait: 'Pay 50000 atomic USDC on Base via exact x402. MCP does not pay.' It also states it does not fetch URLs and produces reproducible evidence, adding value beyond the schema's structured fields.

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

Conciseness5/5

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

Three terse, information-dense sentences. Purpose is front-loaded, followed by payment requirement and exclusion, with zero filler or redundant phrasing.

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?

For a tool with nested parameters and no annotations, the description covers purpose and payment but omits the role of policy and merchant_service_id. The schema provides detailed examples and there is an output schema, so return values are handled. Still, an agent would need to deeply inspect the schema to understand how policy shapes the comparison.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameter meaning. It only refers to 'baseline/current merchant payment and field contracts,' which maps to baseline and current, but leaves merchant_service_id and policy entirely unexplained. No guidance on how policy constraints affect the comparison.

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?

States a specific verb and resource: 'Compare caller-supplied baseline/current merchant payment and field contracts before deployment.' It also lists what it returns (reproducible rule evidence and fixes) and what it does not do (URL fetching or security audit), which clearly differentiates it from siblings like data_compatibility_checker.

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?

Provides clear context: 'before deployment' and explicitly excludes 'URL fetching or security audit,' telling the agent when not to use it. However, it does not name alternative tools for those excluded tasks, so some inference is still required.

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.

Resources