Skip to main content
Glama

SqueezeOS — Institutional AI Market Intelligence

Server Details

Institutional AI market intelligence: squeeze scanner, options flow, council verdicts. x402 RLUSD.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
97.3% over 60 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Server Listing
mcp-paywall

TDQS

A3.9/5.0

Scored across 22 tools

Disambiguation3/5

Several families overlap: gamma_sonar is essentially a subset of ticker_dossier, discover_capabilities and recommend_capability both surface matching capabilities, and read_capability vs purchase_capability_read both GET a path (differing only in payment authorization). The very detailed descriptions do clarify boundaries, but an agent still faces real misselection risk across 22 tools.

Naming Consistency3/5

All names are snake_case, which is consistent casing, but the conventions are mixed: verb_noun (discover_capabilities, inspect_capability), noun-phrase (capability_manifest, system_status, ticker_dossier), and multiple prefix schemes (aftersearch_, commit_, x402_). Readable but not a single predictable pattern.

Tool Count3/5

22 tools sits in the heavy/borderline range. The server genuinely spans capability discovery, execution, payment infrastructure, commit checks, evidence verification, and market data, so most tools earn their place, but the surface is large enough to feel sprawling.

Completeness4/5

Coverage is broad and coherent: discovery/manifest, inspection, read vs paid execution, full x402 payment lifecycle, settlement evidence, commit terms/effects, and a complete aftersearch job flow (resolve/quote/accept/verify). Only minor gaps (e.g. no explicit update/delete since the underlying jobs are immutable).

Available Tools

22 tools
aftersearch_acceptAftersearch AcceptAInspect

Get accepted delivery for one immutable job with caller-supplied x402 authorization. Use this when an agent holds fresh PAYMENT-REQUIRED terms and the caller approves the spend; the caller payment_response is forwarded as the PAYMENT-SIGNATURE and SML never signs or spends. Returns the Evidence Pack plus the PAYMENT-RESPONSE receipt; on missing authorization returns a fresh 402 challenge, on a bad job_id a structured error. With valid caller authorization, settles an irreversible USDC payment and persists a receipt; the stored job remains immutable. For example, accepting a quoted job delivers the full Evidence Pack with settlement proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe 24-char hex job_id being settled.
payment_responseYesThe caller x402 payment authorization payload for this exact job, forwarded as PAYMENT-SIGNATURE. API keys are never accepted as a substitute.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, destructive=false, idempotent=false, openWorld=true), it discloses that the caller's payload is forwarded as PAYMENT-SIGNATURE, that SML never signs or spends, that settlement of USDC is irreversible, that a receipt is persisted, that the stored job stays immutable, and the fallback behaviors (fresh 402 on missing auth, structured error on bad job_id). This is exactly the behavioral context the annotations cannot carry.

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

Conciseness4/5

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

Purpose and precondition are front-loaded, and most sentences carry real information (auth forwarding, irreversibility, error paths, example). It is slightly dense and repeats the receipt concept ('persists a receipt' / 'PAYMENT-RESPONSE receipt'), keeping it out of the top band.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating settlement tool, the description covers the auth model, irreversibility, error handling, and delivery artifacts, and an output schema exists for return values. An agent has everything needed to invoke it correctly.

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 both parameters are already fully documented in the schema (including the job_id pattern/format and the payment_response role). The description restates rather than extends that, so baseline 3 is correct.

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?

The description states a specific verb (accept / settle delivery) and resource (one immutable job) and pins it to the x402 authorization flow, letting an agent distinguish it from siblings like aftersearch_quote or aftersearch_verify_serp. The purpose is 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 a clear precondition — 'use this when an agent holds fresh PAYMENT-REQUIRED terms and the caller approves the spend' — which tells the agent the state required before calling. It does not explicitly name the sibling (e.g. aftersearch_quote) that produces those terms or state when-not-to-use, so it stops just short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aftersearch_quoteAftersearch QuoteA
Read-onlyIdempotent
Inspect

Return fresh x402 PAYMENT-REQUIRED terms for one immutable job. Call this when an agent holds a job_id and needs the current USDC price and payment instructions before deciding to pay; a 402 challenge is a quote, never payment. Returns the price in USDC, the pay_to address, network, and asset for that exact job; on an unknown job_id returns a structured job_not_found error. Read-only and idempotent; no side effects. For example, quoting a job_id returned by aftersearch_resolve yields its exact USDC terms for this job only.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe 24-char hex job_id returned by aftersearch_resolve or aftersearch_verify_serp.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, and the description partly restates that ('Read-only and idempotent; no side effects'). It goes beyond annotations by disclosing error behavior ('structured job_not_found error' on unknown job_id), the freshness/dynamic nature of the terms, and the quote-vs-payment semantic.

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

Conciseness4/5

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

Front-loaded with the core purpose and the trigger condition, then return fields, error behavior, and an example. Mostly efficient, though 'Read-only and idempotent; no side effects' is redundant with the annotations and adds length without new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A single required, fully specified parameter, complete annotations, and an output schema mean the definition need not explain return values. The description still covers purpose, trigger, error case, and semantics, leaving nothing an agent needs to call it correctly.

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 coverage is 100% and the single job_id is fully documented with pattern and source. The description reinforces the source of the id ('returned by aftersearch_resolve') and adds the 'exact job only' scoping, but adds little syntax or format detail beyond the schema, so the baseline of 3 holds.

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 (Return) and resource (fresh x402 PAYMENT-REQUIRED terms for one immutable job), including the exact fields returned (USDC price, pay_to, network, asset). It is clearly distinguishable from siblings like aftersearch_accept and aftersearch_resolve.

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 names the precondition ('when an agent holds a job_id') and the decision context ('needs the current USDC price and payment instructions before deciding to pay'), and contrasts with the payment step by noting 'a 402 challenge is a quote, never payment'. The example ties it to aftersearch_resolve as the job_id source.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aftersearch_resolveAftersearch ResolveAInspect

Convert a natural-language query into machine intent, a bounded Evidence Pack, and one immutable x402 job with a fresh quote pointer. Use this when an agent needs to turn a what-would-I-Google question into a priced, quotable evidence job before any payment. Returns the immutable job_id plus the public job summary; on invalid input returns a structured input_rejected error instead of a job. Creates one server-side job record per call (a side effect) but never spends or moves funds. For example, asking whether a token contract is safe becomes an intent-scored Evidence Pack with fresh PAYMENT-REQUIRED terms.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural-language question to compile into intent and an Evidence Pack (1-60000 chars).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that each call creates one server-side job record (a side effect, consistent with readOnlyHint=false and idempotentHint=false), guarantees no funds are spent or moved, and specifies the failure mode (structured input_rejected instead of a job). This is exactly the extra context annotations cannot carry.

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

Conciseness4/5

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

Front-loaded with the core transformation, then behavior and error semantics in descending priority. Slightly redundant between the opening purpose sentence and the 'Use this when...' sentence, but no padding overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present it wisely avoids detailing return fields, yet still covers what an agent needs that the schema does not: the per-call job-record side effect, the no-funds guarantee, immutability of the job, and the input_rejected error path. Nothing material is missing for a pre-payment compile step.

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 coverage is 100% for the single parameter, so the schema already defines the query and its length bounds. The description only restates it as a natural-language question, adding no new syntax, format, or constraint detail; baseline 3 applies.

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 concrete transformation: natural-language query -> machine intent + Evidence Pack + one immutable x402 job with a fresh quote pointer. The 'before any payment' framing and the example ('whether a token contract is safe') let an agent distinguish this from the quote/accept siblings.

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 names the condition for use ('when an agent needs to turn a what-would-I-Google question into a priced, quotable evidence job before any payment'), which positions it ahead of the settlement-oriented siblings. It stops short of naming the alternatives (aftersearch_quote, aftersearch_accept) or stating when NOT to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aftersearch_verify_serpAftersearch Verify SerpAInspect

Verify pasted SERP or AI-answer text, or one caller-provided public URL, against retrieved sources. Use this when an agent needs a confirm, contradict, or missing verdict with cited sources before quoting or paying for evidence. Returns the verdict plus sources with URLs, retrieval timestamps, and content hashes; on unreachable sources returns a structured error (source_unavailable) instead of a verdict. Creates one immutable job record per call (a side effect); may fetch the single caller-provided URL and never spends. For example, paste an AI answer claiming a token launch date to check it against live sources.

ParametersJSON Schema
NameRequiredDescriptionDefault
serp_text_or_urlYesPasted SERP/AI text or one public URL to verify (1-60000 chars). No Google scraping is performed; only caller-supplied text or the single provided URL is used.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false, idempotent=false, openWorld=true. The description adds context the annotations cannot: an immutable job record is created per call (explaining the non-readOnly hint), the tool never spends, it may fetch only the single caller-provided URL, and unreachable sources yield a structured source_unavailable error instead of a verdict.

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

Conciseness4/5

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

Front-loads the verb and resource, then layers side effect, cost, and error behavior; every sentence carries information. It is slightly dense — four stacked clauses plus an example — but nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists (so return values need not be described), it still names the verdict and source fields, and it covers the mutation side effect, the zero-cost guarantee, the URL-fetch scope, and the error path. An agent has everything needed to call it correctly and interpret the result.

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?

Only one parameter exists and schema description coverage is 100%, so the schema already documents length bounds and the 'no Google scraping' constraint. The description restates the same input modes ('pasted SERP or AI-answer text, or one caller-provided public URL') without adding new syntax or format guidance, so the baseline 3 applies.

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 (verify) and resource (pasted SERP/AI-answer text or one caller-provided public URL) and names the outcome (confirm/contradict/missing verdict with cited sources). It implicitly but clearly distinguishes itself from the paid-evidence siblings by contrasting with 'before quoting or paying for evidence' and 'never spends'.

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 states when to use it: 'when an agent needs a confirm, contradict, or missing verdict with cited sources before quoting or paying for evidence,' and adds a concrete example (checking a token launch date claim). It does not name the sibling tools (e.g., aftersearch_quote) as alternatives, so the routing is implied by cost rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

agent_web_accessAgent Web AccessAInspect

Fetch LLM-ready Markdown from any public HTTPS URL through the SML Clean Web Reader. Use this when an agent needs a web page's content as compact Markdown, for example to ground a research answer, without a separate SML account or API key. Returns the converted Markdown up to max_chars. An unsigned call returns the live x402 PAYMENT-REQUIRED challenge and never auto-spends; retry only with a challenge-specific payment_signature. Unsigned calls are read-only and idempotent with no side effects; a supplied signature authorizes one paid, irreversible x402 settlement in USDC on Base. On error, returns a structured error. For example, fetch a documentation page before summarizing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTPS URL to read.
max_charsNoMaximum Markdown characters to return, 1000-50000. Default 12000.
payment_signatureNoCanonical x402 v2 PAYMENT-SIGNATURE bound to this exact Agent Web Access challenge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by spelling out the payment flow: an unsigned call returns the live x402 PAYMENT-REQUIRED challenge and never auto-spends, whereas supplying a challenge-specific signature authorizes exactly one paid, irreversible USDC settlement on Base. It also states that errors return a structured error, which the schema and annotations do not.

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

Conciseness4/5

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

The core capability and the unsigned-vs-signed split are front-loaded, and no sentence is filler. It is fairly dense and the payment mechanics arrive in a long middle block, but the length is justified by the security-sensitive behavior being described.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter tool with a full output schema, the description covers everything an agent needs: what is fetched, the truncation bound, the two distinct call modes, the payment/authorization semantics, and error behavior. Return-format details are correctly left to the output schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it ties the return size explicitly to max_chars and constrains payment_signature to a 'challenge-specific' value that should only be retried after receiving the challenge. It does not clarify URL host/redirect handling beyond 'public HTTPS'.

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 (fetch), resource (LLM-ready Markdown from any public HTTPS URL) and the mechanism (SML Clean Web Reader). It is clearly distinguishable from the sibling tools, which cover capability discovery, x402 contract/evidence, and quoting rather than raw page conversion.

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?

Gives a concrete usage context (grounding a research answer, e.g. fetching a documentation page before summarizing) and the key precondition that no separate SML account or API key is needed. It does not name an alternative sibling tool to use instead in overlapping scenarios, so it falls just short of explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

capability_manifestCapability ManifestA
Read-onlyIdempotent
Inspect

Read the canonical machine capability manifest generated from the live Flask route table. Use this when an agent needs the authoritative full inventory of SqueezeOS products, schemas, and payment metadata in one document instead of querying tools one by one. Returns the manifest JSON; this is the canonical product-inventory authority for MCP discovery. Read-only and idempotent; no side effects. On error, returns a structured error. For example, fetch it once at session start to cache the product catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so 'Read-only and idempotent; no side effects' largely repeats structured data. It does add genuinely new behavior: the manifest is regenerated from the live route table and errors return a structured error object, but that is a modest increment.

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

Conciseness4/5

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

Front-loaded with the core action and source of truth, and each later sentence maps to usage or behavior. Slightly redundant ('canonical' twice, and the read-only/idempotent/no-side-effects triple restates annotations), costing it a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the description correctly does not re-document return values, instead covering use case, provenance, error behavior, and caching guidance. For a zero-parameter read with full annotation coverage, nothing an agent needs is missing.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline of 4 applies. The description correctly implies a parameterless, no-argument read and adds no misleading argument expectations.

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 ('Read the canonical machine capability manifest') and adds provenance ('generated from the live Flask route table'). It contrasts itself with the one-by-one query pattern, which implicitly separates it from siblings like discover_capabilities or inspect_capability, though it never names those siblings explicitly.

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?

Gives a clear when-to-use condition ('when an agent needs the authoritative full inventory ... instead of querying tools one by one') plus a concrete pattern ('fetch it once at session start to cache the product catalog'). No explicit when-not-to-use or named alternative tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commit_discover_effectsCommit Discover EffectsA
Read-onlyIdempotent
Inspect

List the SML Commit effect atlas: every registered action, target system, owner, and cap a commit check can authorize. Use this when an agent needs to quote or validate a commit check and must cite the exact registered effect terms. Returns the live atlas. Read-only and idempotent; no side effects. This tool never calls the paid check itself (POST /v1/commit, $0.001 USDC). On error, returns a structured error. For example, list effects before asking whether a cron change is committable.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description still adds real value beyond them: it confirms the atlas returned is live, discloses that error cases return a structured error, and notes the related paid endpoint and its $0.001 USDC cost so the agent doesn't confuse discovery with the chargeable check.

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

Conciseness4/5

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

The purpose and content of the atlas are front-loaded in the first sentence, and each subsequent sentence carries distinct information (trigger, return, side-effect profile, exclusion, error behavior, example). It is slightly padded by 'Read-only and idempotent; no side effects', which largely restates the annotations, and the example sentence is optional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return-value description is unnecessary; the description instead covers everything else an agent needs for a zero-parameter read tool: what is returned, when to call it, that it is free and side-effect-free, how to interpret the paid alternative, and how errors surface.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond confirming that the atlas is returned wholesale rather than filtered by caller-supplied criteria.

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 (list) and a precisely scoped resource (the SML Commit effect atlas), then enumerates what the atlas contains: registered actions, target systems, owners, and caps. An agent can distinguish this discovery/read tool from siblings like commit_read_terms or aftersearch_quote without opening any schema.

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?

Gives an explicit trigger ('when an agent needs to quote or validate a commit check and must cite the exact registered effect terms'), a concrete example (checking whether a cron change is committable), and an explicit exclusion: it never calls the paid check itself, which routes the agent to the POST /v1/commit path. Both when-to-use and when-not-to-use are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commit_read_termsCommit Read TermsA
Read-onlyIdempotent
Inspect

Read the live SML Commit terms: price, decision outcomes, and rules. Use this when an agent needs the exact commit-check terms to quote to a caller before any payment. Returns the terms document. Read-only and idempotent; no side effects. On error, returns a structured error. For example, read terms to confirm the $0.001 USDC price before quoting a commit check.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, and the description partly repeats those. It earns credit for adding behavior beyond the annotations: it returns the terms document and returns a structured error on failure, which the annotations do not convey.

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

Conciseness4/5

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

Front-loaded with the core purpose, then usage, then behavior, and it stays short. The closing example sentence and the restated 'read-only and idempotent; no side effects' are mildly redundant given the annotations, costing a point.

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 an output schema present, the description need not explain the return shape, and it covers what the tool does, when to call it, and error behavior. It would be fully complete if it positioned itself relative to adjacent commit/x402 tools.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. The description correctly implies no input is needed to fetch the terms.

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 (read) and resource (SML Commit terms) and enumerates what it contains: price, decision outcomes, and rules. It is clearly distinguishable from siblings like commit_discover_effects or x402_contract, though it never names an alternative explicitly.

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?

Gives clear usage context: 'use when an agent needs the exact commit-check terms to quote to a caller before any payment,' and the example reinforces the pre-quote timing. It offers no explicit when-not or named alternative, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_capabilitiesCompare CapabilitiesA
Read-onlyIdempotent
Inspect

Compare 2-5 live SqueezeOS capabilities side by side using real metadata. Use this when an agent must choose between similar APIs, for example weighing price against coverage. Returns the same real endpoint and payment fields inspect_capability returns for each candidate; no fabricated composite score is produced. Read-only and idempotent; no side effects. On error, returns a structured error. For example, compare two web-reader capabilities before routing a research task.

ParametersJSON Schema
NameRequiredDescriptionDefault
probeNoWhen true, performs a real liveness probe of each capability. Default true.
sml_idsYesArray of 2-5 sml_id values to compare.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/destructive, but the description adds meaningful traits: metadata is real, no fabricated composite score, a real liveness probe, and structured errors. It also states what is returned is the same endpoint/payment fields as inspect_capability, which goes beyond the annotation set.

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

Conciseness4/5

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

Front-loaded with purpose and usage, and most sentences earn their place. 'Read-only and idempotent; no side effects' largely restates the annotations, which is the one mildly redundant sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no elaboration, and the description still clarifies the shape of results (same fields as inspect_capability). Usage, error behavior, and safety are all covered for a 2-parameter read 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 coverage is 100% and both parameters are documented in the schema (sml_ids 2-5, probe default true), so the schema carries the load. The description only implicitly gestures at the probe via 'live'/'real metadata' without explaining the boolean switch or its cost/latency implication.

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 (compare), resource (live SqueezeOS capabilities), and scope (2-5, side by side, real metadata). It distinguishes itself from the single-target sibling 'inspect_capability' by naming what it returns relative to that tool.

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?

Gives explicit context ('when an agent must choose between similar APIs, for example weighing price against coverage') plus a concrete scenario ('compare two web-reader capabilities before routing a research task'). It does not explicitly name when to use inspect_capability or recommend_capability instead, so it stops short of full when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

discover_capabilitiesDiscover CapabilitiesA
Read-onlyIdempotent
Inspect

Search the live SqueezeOS capability inventory by keyword. Use this when an agent needs to find which SML APIs exist for a task before calling anything. Returns a ranked list of matching capabilities with endpoint and payment metadata; lexical mode is always available and unified mode may add evidence-backed semantic context without fabricating scores. Read-only and idempotent; no side effects. On error, returns a structured error instead of results. For example, query 'stock quotes' to discover the quote endpoints and their x402 prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo'lexical' for keyword search (always available) or 'unified' to add evidence-backed semantic context. Default 'lexical'.lexical
limitNoMax results to return, 1-50. Default 10.
queryYesNatural-language search text, 1-500 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is covered; the description usefully adds mode behavior ('lexical mode is always available and unified mode may add evidence-backed semantic context without fabricating scores') and error semantics ('returns a structured error instead of results'). The clause 'Read-only and idempotent; no side effects' merely restates annotations, earning no extra credit, but the mode and error disclosure is genuine added value.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence, followed by usage, return shape, safety, error behavior and a worked example in a compact block. Nothing is off-topic, though the safety sentence duplicates annotation content and could be trimmed.

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 an output schema present, the description need not detail return structure, and it correctly focuses on routing (when to use), mode selection and failure behavior. The only gap is that the closest sibling discovery tools are never mentioned, leaving the agent to infer the boundary from the name alone.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description nevertheless earns a bump by explaining the practical difference between the two mode values ('lexical' always available vs 'unified' adding evidence-backed semantic context without fabricating scores) and by giving a concrete query example with its x402 pricing angle. It adds meaning beyond the raw enum/default text.

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+resource: 'Search the live SqueezeOS capability inventory by keyword', plus the downstream intent ('find which SML APIs exist for a task'). It is clearly distinguishable from siblings like execute_capability or inspect_capability, but it never names the closest discovery alternatives (capability_manifest, recommend_capability), so the 5-level sibling differentiation bar is not met.

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?

'Use this when an agent needs to find which SML APIs exist for a task before calling anything' gives an explicit trigger condition. It does not state when NOT to use it or name recommend_capability/capability_manifest as alternatives, so it stops short of the 5-level when/when-not/alternative triad.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_capabilityExecute CapabilityA
Destructive
Inspect

Execute one public SqueezeOS REST path with POST after confirm_write=true. Returns the target result or its x402 challenge. A caller-signed payment_signature may authorize the published SML service fee; the server does not sign wallets. May create records or settle an authorized fee. Operator routes and off-host URLs are denied. API schemas: https://squeezeos-api.onrender.com/.well-known/openapi.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoOptional request body for POST: object, array, string, number, boolean, or null.
pathYesConcrete SqueezeOS path beginning with /; do not pass a full URL.
queryNoOptional object of URL query parameters.
confirm_writeYesExplicitly authorize this POST operation.
payment_signatureNoCanonical x402 v2 PAYMENT-SIGNATURE value bound to this exact target-resource challenge.
alternative_intentNoOptional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already flag destructive/openWorld/non-idempotent, and the description adds genuinely new context beyond them: that execution may create records or settle an authorized fee, that the server never signs wallets, that off-host and operator routes are denied, and that an unsigned call returns an x402 challenge. This is exactly the behavioral detail annotations cannot carry.

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

Conciseness4/5

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

The write-gate and return behavior are front-loaded, and each sentence carries information (denials, payment, API schema link). It is dense with domain jargon (SML, x402, SqueezeOS) that slightly taxes first-read parsing, but there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not detail return values, yet it still sketches the two outcomes (target result or x402 challenge). Combined with auth/fee handling, denial rules, and a link to the API schema, an agent has everything needed to invoke it safely.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: confirm_write is a write authorization gate, payment_signature is caller-signed and authorizes the published SML service fee (server does not sign), and the path must be a concrete public path rather than a full URL. It goes beyond restating the schema fields.

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 states a concrete verb and resource — 'Execute one public SqueezeOS REST path with POST' — and constrains scope to public paths while denying operator routes and off-host URLs. It is clear what the tool does, though it never names the sibling it competes with (e.g. call_capability / read_capability), so differentiation is inferred from scope rather than stated.

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 a hard prerequisite ('after confirm_write=true'), notes that a caller-signed payment_signature may be needed to settle the published fee, and discloses that operator routes and off-host URLs are rejected. No explicit alternative tool is named for when this is the wrong choice, so it falls short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gamma_sonarGamma SonarAInspect

Get the dealer gamma-exposure (GEX) and pin-risk map for one US ticker from live Tradier option chains: long/short gamma regime, zero-gamma flip line, call and put walls, max open-interest pin strike, and the full per-strike GEX ladder. Use this when an agent needs to know where options dealers are forced to hedge, for example before judging whether a move is likely to be dampened or amplified. An unsigned call returns the live x402 PAYMENT-REQUIRED challenge (USDC on Base; the challenge states the exact price) and never auto-spends; retry only with a challenge-specific payment_signature. If no chain, spot price, or open interest exists, it returns an honest not-available result and nothing is charged. A supplied signature authorizes one paid, irreversible x402 settlement. Informational market structure, not investment advice. For example, check SPY's zero-gamma line before the open.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesUS equity or ETF ticker, e.g. SPY, GME, NVDA.
payment_signatureNoCanonical x402 v2 PAYMENT-SIGNATURE bound to this exact challenge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations are thin (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), so the description carries real weight and delivers: an unsigned call returns the live x402 PAYMENT-REQUIRED challenge (USDC on Base) and never auto-spends; retry only with a challenge-specific signature; missing chain/spot/OI yields a not-available result with nothing charged; a supplied signature authorizes one paid, irreversible settlement. These are exactly the cost/side-effect facts an agent needs before calling.

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

Conciseness4/5

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

Front-loaded with the core capability, then payment mechanics, then the not-available case and a disclaimer. Dense but nearly every sentence carries a distinct fact; the risk is mild over-length rather than waste, and the disclaimer line is arguably marginal but defensible for a paid financial tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a 2-parameter schema, an existing output schema, and sparse annotations, the description covers the remaining unknowns: what is returned, the x402 payment lifecycle, failure behavior, and settlement irreversibility. An agent can decide to call, understand cost, and know how to retry without consulting anything else.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema does not: payment_signature must be bound to the exact challenge, using it triggers a single irreversible settlement, and only a challenge-specific signature should be retried. The symbol parameter is left to the schema, which documents it adequately.

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: fetch dealer gamma-exposure and pin-risk map for one US ticker from live Tradier option chains, then enumerates the concrete outputs (long/short gamma regime, zero-gamma flip line, call/put walls, max-OI pin strike, per-strike GEX ladder). This is clearly distinguishable from siblings like ticker_dossier or aftersearch_quote, which do not deal with dealer positioning.

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?

Gives a clear trigger ('when an agent needs to know where options dealers are forced to hedge, e.g. before judging whether a move is dampened or amplified') and a concrete scenario ('check SPY's zero-gamma line before the open'). It also encodes the retry rule for unpaid calls. It stops short of naming an alternative sibling or stating when NOT to use it, so it is strong context rather than explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_capabilityInspect CapabilityA
Read-onlyIdempotent
Inspect

Inspect one live SqueezeOS capability by its sml_id. Use this when an agent has a candidate capability and needs its exact endpoint, parameters, and x402 payment terms before calling. Returns real endpoint and payment metadata plus, when safe, a real liveness probe rather than an invented reliability score. Read-only and idempotent; no side effects. On error, returns a structured error. For example, inspect 'url-to-markdown' to confirm its price and required payment-signature header.

ParametersJSON Schema
NameRequiredDescriptionDefault
probeNoWhen true, performs a real liveness probe of the capability. Default true.
sml_idYesThe capability's sml_id from discovery, 1-500 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the restated 'Read-only and idempotent; no side effects' sentence earns little. Beyond that, the description adds real behavioral context: the probe is a genuine liveness check rather than a fabricated reliability score, and errors return a structured error object.

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

Conciseness4/5

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

Purpose and usage condition are front-loaded in the first two sentences, and the concrete example at the end is genuinely useful. It is slightly padded: the read-only/idempotent sentence duplicates annotations, and 'On error, returns a structured error' is close to a tautology.

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?

An output schema exists, so return-value documentation is unnecessary, and the description covers purpose, precondition, behavior, and error handling. The only meaningful gap is not routing the agent to a sibling when the capability is not yet identified.

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 both sml_id and the probe boolean with its default. The description mentions the liveness probe but adds no syntax, format, or cost guidance beyond what the schema provides, so the 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 a specific verb and resource ('Inspect one live SqueezeOS capability by its sml_id') and scopes it to a single capability rather than a set. It implies differentiation from the discovery/compare siblings ('when an agent has a candidate capability'), but never names an alternative tool, so it stops short of full sibling separation.

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 a clear triggering condition: use it when a candidate capability is already in hand and its endpoint, parameters, and x402 payment terms are needed before calling. It does not, however, name the nearest alternative (e.g. read_capability or x402_contract) or state when this tool is the wrong choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_playbooksList PlaybooksA
Read-onlyIdempotent
Inspect

Filter the public ScriptMasterLabs Google Play book catalog for the job a reader is working on, for example 'x402 payments' or 'options trading'. Returns up to 10 matching titles with each book's GGKEY, Google Play URL, and Google Play list price. Free, read-only and idempotent; no side effects. Prices are Google's list prices from the 2026-10-09 catalog export - not a quote you can pay here. This tool does not sell the book, does not return the PDF, and will not accept USDC for it. If the human wants the file, give them the google_play_url. For example, list playbooks for 'MCP server security' and hand the human the Play URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYesWhat the reader is working on, 1-500 characters, e.g. 'x402 payments'.
limitNoMax titles to return, 1-10. Default 10.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/destructive, but the description adds genuinely new behavioral context: results are capped at 10, prices are Google list prices from the 2026-10-09 catalog export and are not payable here, USDC is not accepted, and no PDF is returned. That is far more than the annotations provide.

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

Conciseness4/5

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

Front-loaded with the core action and return shape, then constraints. Slight redundancy in the three-part negative listing ('does not sell... does not return the PDF... will not accept USDC'), but every sentence carries usable information for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only search tool with an output schema and full annotation coverage, the description supplies everything needed: scope, result fields, result cap, price caveat, and the handoff action. Nothing required to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents job (1-500 chars, example) and limit (1-10, default 10). The description adds value by supplying several concrete example job strings and reinforcing the 10-title cap, which helps an agent shape a correct call.

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 (filter) and resource (public ScriptMasterLabs Google Play book catalog) with concrete example queries ('x402 payments', 'options trading'). It also carves out what it is not (a store, a PDF delivery, a USDC payment endpoint), which cleanly separates it from the purchase/x402 siblings.

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?

Gives clear when-to-use (reader is working on a job) and when-not (buying the book, getting the PDF, paying USDC), plus an explicit handoff instruction: give the human the google_play_url. It stops short of naming a specific sibling tool as the alternative for purchase, so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

purchase_capability_readPurchase Capability ReadA
Destructive
Inspect

Retrieve one paid SqueezeOS REST path with GET using caller-signed authorization for that exact resource's fresh x402 challenge. May settle an irreversible published SML service fee; returns delivery and payment-response evidence. Cannot change the HTTP method or send a request body. The server never creates wallet signatures. Operator routes and off-host URLs are denied. API schemas: https://squeezeos-api.onrender.com/.well-known/openapi.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesConcrete SqueezeOS path beginning with /; do not pass a full URL.
queryNoOptional object of URL query parameters.
payment_signatureYesCanonical x402 v2 PAYMENT-SIGNATURE value bound to this exact target-resource challenge.
alternative_intentNoOptional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotent=false, and the description reinforces this with 'May settle an irreversible published SML service fee.' It adds genuinely useful non-schema behavior: 'Cannot change the HTTP method or send a request body,' 'The server never creates wallet signatures,' and that operator/off-host routes are denied. It does not cover rate limits or auth failure handling, keeping it short of a 5.

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

Conciseness4/5

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

The text is front-loaded with the core action and then layers constraints and effects in short sentences that each carry information. It is jargon-dense but no sentence is wasted; a minor deduction for density that slightly burdens parsing.

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 an output schema present, return values need not be detailed, yet the description still notes delivery and payment-response evidence. Combined with annotations and the openapi schema link, the definition gives an agent enough to call this complex paid tool correctly, though failure-mode detail is thin.

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 four parameters including the concrete-path and x402-signature semantics. The description adds only tangential context ('caller-signed authorization for that exact resource's fresh x402 challenge') rather than new per-parameter meaning, so the 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 states a specific verb and resource: 'Retrieve one paid SqueezeOS REST path with GET.' It distinguishes the tool from sibling read/call tools by emphasizing the paid, x402-challenge-signed nature. It stops short of naming a specific sibling it replaces, so it is clear but not fully differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the payment/x402 framing and the 'alternative_intent' fallback after an unsigned HTTP 402, which hints at the flow. However, no explicit when-to-use or when-not-to-use guidance against the many capability siblings (read_capability, call_capability, execute_capability) is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_capabilityRead CapabilityA
Read-onlyIdempotent
Inspect

Read one public SqueezeOS REST path with GET. Cannot accept payment authorization, a request body, or another HTTP method. Returns data or the unchanged unpaid x402 challenge with no-spend alternatives. Never signs or settles a payment. Operator routes and off-host URLs are denied. API schemas: https://squeezeos-api.onrender.com/.well-known/openapi.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesConcrete SqueezeOS path beginning with /; do not pass a full URL.
queryNoOptional object of URL query parameters.
alternative_intentNoOptional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/openWorld/non-destructive, and the description adds substantial context beyond them: it rejects payment authorization, bodies, and non-GET methods; returns either data or the unchanged unpaid x402 challenge with no-spend alternatives; never signs or settles; and denies operator routes and off-host URLs. This is rich disclosure of runtime behavior and failure modes.

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

Conciseness4/5

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

Front-loaded with the core operation, then a series of short, information-dense sentences covering constraints, return behavior, and the schema URL. Nothing is padding, though the run of negative statements is slightly packed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, rich annotations, and 100% schema coverage, the description need not restate return values; instead it supplies the routing/safety constraints (no signing, no operator routes, off-host denial, x402 challenge handling) that an agent needs to call it correctly.

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 coverage is 100%, so the schema already documents all three parameters including the concrete-path and alternative_intent semantics. The description adds no syntax, format, or ranking detail beyond what the schema provides, so the baseline 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 verb+resource: read one public SqueezeOS REST path via GET. This is far clearer than a tautology and scopes the operation tightly, but it does not explicitly name or contrast with close siblings such as call_capability, execute_capability, or purchase_capability_read, so sibling differentiation is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The negative constraints ('Cannot accept payment authorization, a request body, or another HTTP method') imply when this tool is not appropriate and the mention of 'no-spend alternatives' hints at the payment-free use case. However, no sibling is named and there is no explicit when-to-use vs. when-to-use-an-alternative statement, so guidance remains implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_capabilityRecommend CapabilityA
Read-onlyIdempotent
Inspect

Return the best-matching SqueezeOS capabilities for a natural-language need. Call this when an agent knows the goal, for example 'convert a URL to Markdown', but not which SML API serves it. Returns ranked capabilities with live endpoint and x402 payment metadata plus suggested next actions. Read-only and idempotent; no side effects. On error, returns a structured error. For example, ask 'which API verifies a fact' to get the fact-verification endpoint and its price.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax recommendations to return, 1-20. Default 5.
queryYesNatural-language description of what the agent needs, 1-500 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A3.9/5.0
Behavior4/5

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

'Read-only and idempotent; no side effects' merely restates the annotations and earns no credit. The added value is genuine though: it discloses the return contents (ranked capabilities with live endpoint and x402 payment metadata plus suggested next actions) and error behavior ('returns a structured error'), which annotations do not cover.

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

Conciseness4/5

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

Front-loaded with the purpose, then use condition, then return/error behavior; the two examples aid selection. The sentence 'Read-only and idempotent; no side effects' is redundant against the annotations and does not earn its place.

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 an output schema present and rich annotations, the description does not need to explain result shapes in full, and it correctly focuses on selection guidance plus runtime metadata. It is complete enough for a 2-parameter read-only recommender, missing only sibling disambiguation.

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 both parameters are fully documented in-schema (query length bounds, limit range and default), so the baseline is 3. The description adds no syntax or semantics beyond what the schema already states.

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 gives a specific verb and resource ('Return the best-matching SqueezeOS capabilities') plus a clear scenario (agent knows the goal but not which SML API serves it). It does not explicitly name siblings like discover_capabilities or compare_capabilities, so the agent must infer the boundary rather than being told it.

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?

'Call this when an agent knows the goal ... but not which SML API serves it' is a clear use condition, reinforced by two concrete examples. No explicit when-not or named alternative is provided, so routing against sibling discovery tools is left partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_statusSystem StatusA
Read-onlyIdempotent
Inspect

Read the live SqueezeOS status endpoint. Use this when an agent needs a quick health check of the API host before starting paid work. Returns the live status payload; the MCP server never synthesizes cluster-health or synchronization claims. Read-only and idempotent; no side effects. On error, returns a structured error. For example, check status first if paid calls start timing out.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description still adds real behavioral context: the server never synthesizes cluster-health or synchronization claims, and errors return a structured payload. It does not discuss caching or rate limits.

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

Conciseness4/5

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

Front-loaded with purpose, then usage, then behavior; nearly every clause carries weight. The closing timeout example partly repeats the earlier 'before starting paid work' guidance, which keeps it short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read tool with an output schema, the description covers purpose, trigger, read-only semantics, the no-synthesis guarantee, and error behavior. Nothing an agent needs to call it correctly is missing, and return values are already documented by the output schema.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. Schema coverage is 100% with additionalProperties false, so no compensating detail is required.

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 (read) and resource (the live SqueezeOS status endpoint), and the scope 'live status endpoint' distinguishes it from every sibling capability/quote/verify tool. An agent can identify the operation without opening the schema.

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?

Gives a clear when-to-use condition ('quick health check of the API host before starting paid work') plus a concrete trigger ('check status first if paid calls start timing out'). It does not name an alternative sibling or state when not to use it, but no sibling overlaps this preflight role.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ticker_dossierTicker DossierAInspect

Get a one-call intelligence profile for one US ticker: live quote, dealer gamma regime/walls/pin, unusual options flow, squeeze score, SEC fails-to-deliver plus Reg SHO threshold-list status, and the Oracle directive. Use this when an agent needs a full picture of a stock in a single paid call instead of stitching several sources together. Sections that are unavailable are labeled with a reason, never filled in, and a coverage field lists which are live. An unsigned call returns the live x402 PAYMENT-REQUIRED challenge (USDC on Base; the challenge states the exact price) and never auto-spends; retry only with a challenge-specific payment_signature. Without a live price it returns an honest not-available result and nothing is charged. A supplied signature authorizes one paid, irreversible x402 settlement. Not investment advice. For example, profile GME before writing a research note.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesUS equity or ETF ticker, e.g. SPY, GME, NVDA.
payment_signatureNoCanonical x402 v2 PAYMENT-SIGNATURE bound to this exact challenge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only flag readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false; the description goes well beyond them, disclosing the x402 USDC-on-Base payment challenge, that no payment is auto-spent, that a supplied signature authorizes one irreversible settlement, and that unavailable sections are labeled with a reason plus a coverage field. These are exactly the behavioral traits an agent must know before invoking a paid write-like call.

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

Conciseness4/5

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

Strongly front-loaded with the payload then the usage condition, and every clause is information-bearing. There is mild redundancy across the payment clauses ('never auto-spends,' 'nothing is charged,' 'an honest not-available result'), which keeps it from a perfect score, but the paragraph remains tight for the breadth of behavior it covers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be detailed, and the description instead supplies the pieces the schema cannot: payment flow, failure/not-available semantics, coverage labeling, and a use-case example. For a paid, non-idempotent, open-world tool this is complete enough to invoke correctly on the first attempt.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning to payment_signature ('bound to this exact challenge', 'authorizes one paid, irreversible x402 settlement') that the schema's one-line description does not fully convey. The symbol parameter adds little beyond 'one US ticker,' which the schema already covers, so this stops short of 5.

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?

The description names a specific verb and resource ('Get a one-call intelligence profile for one US ticker') and enumerates the exact payload sections returned (quote, gamma regime, flow, squeeze score, FTD/Rex SHO, Oracle directive). It distinguishes itself from aggregation alternatives by framing the value as 'a full picture of a stock in a single paid call instead of stitching several sources together.' An agent can tell what this tool produces without opening the schema.

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?

Explicit when-to-use is given ('Use this when an agent needs a full picture of a stock in a single paid call'), the alternative (stitching several sources) is named, and a concrete scenario ('profile GME before writing a research note') anchors usage. The payment path is also conditionally specified: unsigned call returns a challenge, retry only with a challenge-specific payment_signature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

x402_contractX402 ContractA
Read-onlyIdempotent
Inspect

Read the canonical SqueezeOS x402 v2 discovery contract. Use this when an agent needs the payment protocol's rules, for example challenge and response header names, before attempting any paid call. Returns the contract document; exact spend terms remain authoritative only in the target resource's fresh PAYMENT-REQUIRED challenge. Read-only and idempotent; no side effects. On error, returns a structured error. For example, read it once per session to learn the PAYMENT-SIGNATURE header name.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds real context beyond them: that the doc is canonical and static, that spend terms are authoritative only in the target resource's fresh PAYMENT-REQUIRED challenge, and that errors return a structured error. It does not cover auth or rate limits, but the safety profile plus staleness caveat are well handled.

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

Conciseness4/5

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

Front-loaded with the purpose, then usage, then behavioral caveats, so an agent can stop reading early. It loses a point for mild redundancy: the header-name example appears twice ('challenge and response header names' vs. 'the PAYMENT-SIGNATURE header name').

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?

For a zero-parameter, read-only discovery tool with an output schema, the description covers everything needed to call it: purpose, timing, idempotency, error behavior, and the important caveat that the returned contract is not the authoritative spend terms. Nothing material is missing.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. It correctly implies a parameter-free fetch ('read it once per session') without contradicting the empty schema.

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 ('Read the canonical SqueezeOS x402 v2 discovery contract') and scopes it as a static protocol-rules document, which cleanly separates it from the diagnostics-flavored x402_readiness and x402_evidence siblings. An agent can tell what it gets back without opening the schema.

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?

Gives clear timing guidance: use it when the agent needs payment protocol rules 'before attempting any paid call,' and 'once per session to learn the PAYMENT-SIGNATURE header name.' It lacks any explicit comparison to the several nearby x402_* siblings, so the routing is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

x402_evidenceX402 EvidenceA
Read-onlyIdempotent
Inspect

Read real settlement evidence recorded by the canonical x402 rail. Use this when an agent or auditor needs proof that a past payment actually settled in USDC on Base; a challenge or signature alone is never treated as revenue or settlement proof. Returns recorded settlement receipts. Read-only and idempotent; no side effects. On error, returns a structured error. For example, pull evidence for a disputed charge before deciding a refund.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the sentence 'Read-only and idempotent; no side effects' largely repeats structured data. What the description does add is domain behavior not in annotations: the rule that challenges/signatures are not settlement proof, and that errors return a structured error rather than failing opaquely.

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

Conciseness4/5

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

Front-loaded with purpose, then usage, then behavior, then example – good ordering with each sentence doing work except 'Read-only and idempotent; no side effects,' which duplicates the annotations. Overall five sentences for a zero-parameter tool is slightly generous but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 0 parameters and an output schema present, the description need not explain return values, and it correctly stays out of that. It covers purpose, selection criteria, safety profile, and error behavior, leaving no material gap for an agent deciding whether to call it.

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

Parameters4/5

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

The tool takes zero parameters, which sets a baseline of 4; there is nothing for the description to clarify or compensate for. The only parameter-adjacent content is the example use case, which is contextual rather than semantic.

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?

The description gives a specific verb+resource: 'Read real settlement evidence recorded by the canonical x402 rail,' and explicitly defines what does NOT qualify ('a challenge or signature alone is never treated as revenue or settlement proof'). This scope boundary clearly separates it from siblings like x402_contract, x402_readiness, and aftersearch_verify_serp.

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 states a clear when-to-use: 'when an agent or auditor needs proof that a past payment actually settled in USDC on Base,' and gives a concrete scenario ('pull evidence for a disputed charge before deciding a refund'). It never names an alternative tool by name, so routing is implied rather than directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

x402_readinessX402 ReadinessA
Read-onlyIdempotent
Inspect

Check the live x402 payment-rail readiness surface. Call this when an agent is about to attempt a paid call and wants to confirm the rail is up before building a payment signature. Returns the current readiness status of the canonical SqueezeOS payment rail. Read-only and idempotent; no side effects. On error, returns a structured error. For example, check readiness before a batch of paid URL-to-Markdown calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoWhether the upstream HTTP status is 2xx; not settlement proof.
bodyNoUnmodified upstream JSON, or bounded response text. Consult that capability's live schema.
errorNo
chargedNoPresent on local/transport failures; these do not establish an upstream charge.
messageNo
auto_spentNo
status_codeNoObserved upstream HTTP status, or null when no response was obtained.
substitutedNo
content_typeNo
payment_requiredNoObserved PAYMENT-REQUIRED header; a challenge does not prove payment.
payment_responseNoObserved PAYMENT-RESPONSE header. Assess it together with accepted delivery.
caller_supplied_authorizationNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description's 'read-only and idempotent; no side effects' largely restates structured data. It does add that it is a live check and that errors return a structured error, which is genuinely additive, but the behavioral picture beyond annotations is thin.

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

Conciseness4/5

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

Front-loads the core action, then the trigger, then supporting detail, closing with a concrete example. Mostly waste-free, though the read-only/idempotent/no-side-effects clause is redundant with annotations and could be trimmed.

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 an output schema present and no input parameters, the description need not explain return values, and it covers purpose, timing, and error behavior. It is nearly complete; only the routing against the other x402 siblings is left implicit.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is no parameter meaning for the description to add or omit. No syntax, defaults, or formats are needed.

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: check the live x402 payment-rail readiness surface, returning its readiness status. This is distinguishable from siblings like x402_contract and x402_evidence, though the description never names them to sharpen the boundary. Clear but not maximally differentiated.

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?

Gives a concrete trigger: 'Call this when an agent is about to attempt a paid call and wants to confirm the rail is up before building a payment signature,' reinforced by the batch example. Clear context, but no explicit exclusions or named alternative when the rail is down or when another x402 tool is the better fit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Removedcall_capability
  2. 1 tool update
    • Addedlist_playbooks
  3. 22 tool updates
    • Changedaftersearch_accept1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedaftersearch_quote1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedaftersearch_resolve2 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"The natural-language question to compile into intent and an Evidence Pack (1-8000 chars)."New value: +"The natural-language question to compile into intent and an Evidence Pack (1-60000 chars)."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedaftersearch_verify_serp2 fields changed
      • changedInput schema / properties / serp_text_or_url / description
        Previous value: -"Pasted SERP/AI text or one public URL to verify (1-8000 chars). No Google scraping is performed; only caller-supplied text or the single provided URL is used."New value: +"Pasted SERP/AI text or one public URL to verify (1-60000 chars). No Google scraping is performed; only caller-supplied text or the single provided URL is used."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedagent_web_access1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedcall_capability1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedcapability_manifest1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedcommit_discover_effects1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedcommit_read_terms1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedcompare_capabilities1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changeddiscover_capabilities1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Addedexecute_capability
    • Changedgamma_sonar1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedinspect_capability1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Addedpurchase_capability_read
    • Addedread_capability
    • Changedrecommend_capability1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsystem_status1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedticker_dossier1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedx402_contract1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedx402_evidence1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedx402_readiness1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "ok",
        +        "status_code"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "error"
        +      ]
        +    }
        +  ],
        +  "description": "Canonical REST response envelope, or a local/transport rejection. Upstream data remains in body and is defined by the live capability schema.",
        +  "properties": {
        +    "auto_spent": {
        +      "const": false
        +    },
        +    "body": {
        +      "description": "Unmodified upstream JSON, or bounded response text. Consult that capability's live schema."
        +    },
        +    "caller_supplied_authorization": {
        +      "type": "boolean"
        +    },
        +    "charged": {
        +      "const": false,
        +      "description": "Present on local/transport failures; these do not establish an upstream charge."
        +    },
        +    "content_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the upstream HTTP status is 2xx; not settlement proof.",
        +      "type": "boolean"
        +    },
        +    "payment_required": {
        +      "description": "Observed PAYMENT-REQUIRED header; a challenge does not prove payment.",
        +      "type": "string"
        +    },
        +    "payment_response": {
        +      "description": "Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.",
        +      "type": "string"
        +    },
        +    "status_code": {
        +      "description": "Observed upstream HTTP status, or null when no response was obtained.",
        +      "maximum": 599,
        +      "minimum": 100,
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "substituted": {
        +      "const": false
        +    }
        +  },
        +  "type": "object"
        +}
  4. 2 tool updates
    • Addedgamma_sonar
    • Addedticker_dossier
  5. 10 tool updates
    • Changedaftersearch_accept2 fields changed
      • addedInput schema / properties / job_id / description
        Added value: +"The 24-char hex job_id being settled."
      • addedInput schema / properties / payment_response / description
        Added value: +"The caller x402 payment authorization payload for this exact job, forwarded as PAYMENT-SIGNATURE. API keys are never accepted as a substitute."
    • Changedaftersearch_quote1 field changed
      • addedInput schema / properties / job_id / description
        Added value: +"The 24-char hex job_id returned by aftersearch_resolve or aftersearch_verify_serp."
    • Changedaftersearch_resolve1 field changed
      • addedInput schema / properties / query / description
        Added value: +"The natural-language question to compile into intent and an Evidence Pack (1-8000 chars)."
    • Changedaftersearch_verify_serp1 field changed
      • addedInput schema / properties / serp_text_or_url / description
        Added value: +"Pasted SERP/AI text or one public URL to verify (1-8000 chars). No Google scraping is performed; only caller-supplied text or the single provided URL is used."
    • Changedagent_web_access1 field changed
      • addedInput schema / properties / max_chars / description
        Added value: +"Maximum Markdown characters to return, 1000-50000. Default 12000."
    • Changedcall_capability4 fields changed
      • addedInput schema / properties / body / description
        Added value: +"Optional request body for POST: object, array, string, number, boolean, or null."
      • addedInput schema / properties / confirm_write / description
        Added value: +"Must be true to allow POST; GET ignores it. Default false."
      • addedInput schema / properties / method / description
        Added value: +"HTTP method: GET for reads, POST for writes (requires confirm_write=true)."
      • addedInput schema / properties / query / description
        Added value: +"Optional object of URL query parameters."
    • Changedcompare_capabilities2 fields changed
      • addedInput schema / properties / probe / description
        Added value: +"When true, performs a real liveness probe of each capability. Default true."
      • addedInput schema / properties / sml_ids / description
        Added value: +"Array of 2-5 sml_id values to compare."
    • Changeddiscover_capabilities3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Max results to return, 1-50. Default 10."
      • addedInput schema / properties / mode / description
        Added value: +"'lexical' for keyword search (always available) or 'unified' to add evidence-backed semantic context. Default 'lexical'."
      • addedInput schema / properties / query / description
        Added value: +"Natural-language search text, 1-500 characters."
    • Changedinspect_capability2 fields changed
      • addedInput schema / properties / probe / description
        Added value: +"When true, performs a real liveness probe of the capability. Default true."
      • addedInput schema / properties / sml_id / description
        Added value: +"The capability's sml_id from discovery, 1-500 characters."
    • Changedrecommend_capability2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Max recommendations to return, 1-20. Default 5."
      • addedInput schema / properties / query / description
        Added value: +"Natural-language description of what the agent needs, 1-500 characters."
  6. 2 tool updates
    • Addedcommit_discover_effects
    • Addedcommit_read_terms
  7. 4 tool updates
    • Addedaftersearch_accept
    • Addedaftersearch_quote
    • Addedaftersearch_resolve
    • Addedaftersearch_verify_serp
  8. 1 tool update
    • Addedagent_web_access
  9. 1 tool update
    • Changedcall_capability1 field changed
      • addedInput schema / properties / alternative_intent
        Added value: +{
        +  "description": "Optional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.",
        +  "maxLength": 500,
        +  "minLength": 1,
        +  "type": "string"
        +}
  10. 84 tool updates
    • Removedagent_economy
    • Removedagent_routes_discover
    • Removedagentbids_discover
    • Removedaudit_information_gain
    • Removedautopilot_start
    • Removedautopilot_status
    • Removedautopilot_stop
    • Removedautopilot_trades
    • Removedbazaar_negotiator_discover
    • Removedbeastmode_scan
    • Removedbuild_entity_schema
    • Addedcall_capability
    • Removedcapabilities_feed
    • Addedcapability_manifest
    • Removedccs_info
    • Removedccs_leaderboard
    • Removedccs_report
    • Removedccs_score
    • Removedccs_stats
    • Removedccs_validate
    • Removedcircuit_breaker_reset
    • Removedcitation_score
    • Changedcompare_capabilities6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / probe / default
        Added value: +true
      • removedInput schema / properties / probe / description
        Removed value: -"Attempt real liveness probes when safe to do so (default true)"
      • removedInput schema / properties / sml_ids / description
        Removed value: -"2-5 sml_ids from mesh_discover results to compare"
      • addedInput schema / properties / sml_ids / items / maxLength
        Added value: +500
      • addedInput schema / properties / sml_ids / items / minLength
        Added value: +1
    • Removedconvergence_check
    • Removedcouncil_verdict
    • Removeddemo_council
    • Addeddiscover_capabilities
    • Removedextract_aeo_blocks
    • Removedfred_preview
    • Removedfred_series
    • Removedfutures_browse
    • Removedfutures_create
    • Removedfutures_leaderboard
    • Removedfutures_take
    • Removedgenerate_additive_hook
    • Removedhiring_browse_jobs
    • Removedhiring_post_job
    • Removediam_resolve
    • Removediam_truth
    • Changedinspect_capability6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / probe / default
        Added value: +true
      • removedInput schema / properties / probe / description
        Removed value: -"Attempt a real liveness probe when safe to do so (default true)"
      • removedInput schema / properties / sml_id / description
        Removed value: -"The sml_id from a mesh_discover result"
      • addedInput schema / properties / sml_id / maxLength
        Added value: +500
      • addedInput schema / properties / sml_id / minLength
        Added value: +1
    • Removedinspect_freshness
    • Removedipo_price_range_history
    • Removedipo_timeline
    • Removedipo_upcoming
    • Removediwm_odte
    • Removedknowledge_fabric_query
    • Removedmacro_741_scan
    • Removedmarket_scan
    • Removedmarketplace_browse
    • Removedmarketplace_list_signal
    • Removedmarketplace_read_signal
    • Removedmemory_recall
    • Removedmemory_stats
    • Removedmemory_store
    • Removedmesh_discover
    • Removednarrative_optimize
    • Removedoptions_intelligence
    • Removedoracle_feeds
    • Removedoracle_query
    • Removedpost_to_slack
    • Removedproprietary_ema_signal
    • Removedprovider_score
    • Removedquick_headline
    • Removedquick_quote
    • Removedquick_search
    • Addedrecommend_capability
    • Removedrecommend_tool
    • Removedrobinhood_rwa_intelligence
    • Removedsemantic_gaps
    • Removedsettlement_browse
    • Removedsettlement_create
    • Removedsettlement_trigger
    • Removedsignal_history
    • Removedsignal_preview
    • Removedsovereign_365
    • Removedsovereign_741
    • Removedsovereign_full
    • Removedsovereign_triplelock
    • Changedsystem_status1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Removedtruth_verify
    • Removedtry_capability
    • Addedx402_contract
    • Addedx402_evidence
    • Addedx402_readiness
  11. 2 tool updates
    • Addedagentbids_discover
    • Addedbazaar_negotiator_discover
  12. 1 tool update
    • Addedrobinhood_rwa_intelligence
  13. 1 tool update
    • Addedknowledge_fabric_query
  14. 1 tool update
    • Addedagent_routes_discover
  15. 3 tool updates
    • Addedquick_headline
    • Addedquick_quote
    • Addedquick_search
  16. 21 tool updates
    • Changedagent_economy3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address (required for view=report)"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (required for view=report, 0.25 RLUSD)",
        -  "type": "string"
        -}
    • Removedbureau_public_score
    • Changedccs_validate3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.01 RLUSD — for unlimited access)",
        -  "type": "string"
        -}
    • Changedcouncil_verdict3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (1h TTL)",
        -  "type": "string"
        -}
    • Changedfred_series3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Removedget_invoice
    • Changediam_resolve3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.05 RLUSD)",
        -  "type": "string"
        -}
    • Changedipo_price_range_history3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changediwm_odte3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changedmacro_741_scan3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.04 RLUSD)",
        -  "type": "string"
        -}
    • Changedmarket_scan3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changedmarketplace_read_signal3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changedmemory_recall3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changedmemory_store3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changedoptions_intelligence3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Changedsovereign_3653 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.03 RLUSD)",
        -  "type": "string"
        -}
    • Changedsovereign_7413 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.02 RLUSD)",
        -  "type": "string"
        -}
    • Changedsovereign_full3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.10 RLUSD)",
        -  "type": "string"
        -}
    • Changedsovereign_triplelock3 fields changed
      • changedInput schema / properties / agent_wallet / description
        Previous value: -"Your XRPL wallet address"New value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "description": "JWT from verify_payment (0.05 RLUSD)",
        -  "type": "string"
        -}
    • Changedtruth_verify3 fields changed
      • addedInput schema / properties / agent_wallet / description
        Added value: +"Optional payer/agent attribution; not a payment credential."
      • addedInput schema / properties / payment_signature
        Added value: +{
        +  "description": "Optional adapter form of the x402 v2 signed payment payload. Prefer the PAYMENT-SIGNATURE HTTP header when your MCP client supports custom headers.",
        +  "type": "string"
        +}
      • removedInput schema / properties / payment_token
        Removed value: -{
        -  "type": "string"
        -}
    • Removedverify_payment
  17. 3 tool updates
    • Addedipo_price_range_history
    • Addedipo_timeline
    • Addedipo_upcoming
  18. 11 tool updates
    • Addedaudit_information_gain
    • Addedbuild_entity_schema
    • Addedcapabilities_feed
    • Addedcompare_capabilities
    • Addedextract_aeo_blocks
    • Addedgenerate_additive_hook
    • Addedinspect_capability
    • Addedinspect_freshness
    • Addedmesh_discover
    • Addedrecommend_tool
    • Addedtry_capability

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    AI consensus market oracle for crypto traders and autonomous agents. BUY/SELL/HOLD signals with 11-signal consensus (RSI, MACD, funding rate, Fear & Greed, congressional trading, Polymarket edges). Ed25519-signed. x402 micropayments on Base.
    9
    2
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Perp-first funding rate & RWA spread data for AI agents. 30+ CEX/DEX venues, 6 tools (4 x402-paywalled, 2 free), bring-your-own-wallet via Base mainnet.
    6
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Real-time perp market-data for AI trading agents — funding rates, funding-arb signals, open interest, volume, orderbook depth/slippage and oracle families across 25 venues, plus HIP-3 RWA coverage (tokenized stocks, metals, oil) that mainstream aggregators lack. x402-native pay-per-call (USDC on Base): one free funding screener tool + 11 paid tools with auto-pay.
    12
    12 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources