Skip to main content
Glama

Server Details

Agent-native MCP for governed commerce, x402 payments, paid capabilities, and verifiable receipts.

Ownership verified
Status
Healthy
Uptime
68.2% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
crossingkey-holdings/crossingkey-mcp
GitHub Stars
0
Server Listing
CrossingKey MCP server

TDQS

B3.3/5.0

Scored across 21 tools

Disambiguation3/5

Many tools overlap heavily and the descriptions resort to explicit negative guards ('Do NOT use for X; use Y instead') to separate them. Clear confusion clusters exist: catalog.list vs capability.search vs offers.list for discovery, marketplace.describe vs provider.describe, and requirements.check vs execution.preflight vs result.preview vs cost.estimate as read-only preflight-style tools. The descriptions do help, but the boundaries are defense-by-documentation rather than inherently distinct purposes.

Naming Consistency4/5

The set mostly follows a predictable namespace.verb pattern (capability.get, provider.register, offers.list, cost.estimate, result.preview), which is readable and consistent. Minor deviations exist: xkey.validate uses an opaque prefix, and machine_commerce.readiness_audit mixes a snake_case namespace with the dot convention. Overall cohesive with small inconsistencies.

Tool Count3/5

21 tools is on the heavy side for this surface, and several feel like near-duplicates (five read-only preflight/estimate tools, three discovery tools). The count is defensible given the marketplace + audit + registration scope, but it trends toward over-fragmentation rather than well-scoped economy.

Completeness2/5

The surface is strong on discovery, quoting, audits, and read-only preflight, but key lifecycle steps are missing. commerce.quote explicitly says paid execution requires capability.purchase, yet no such tool exists, and credits.options references a 'checkout' tool that is also absent. These references create dead ends where an agent can find, price, and preflight but cannot actually purchase or execute.

Available Tools

21 tools
artifact.integrity_manifestPurchase Artifact Integrity ManifestBInspect

PAID $0.10 USDC on Base via x402. Creates deterministic SHA-256 entries and a root manifest hash for supplied text artifacts. Calling this MCP tool does not spend funds; it returns the exact PAYMENT-REQUIRED challenge and canonical paid execution endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
artifactsYesArtifacts to include in the integrity manifest.
idempotency_keyNo
payment_payloadNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
inputYes
priceYes
pay_toYes
networkYes
capabilityYes
instructionYes
execution_urlYes
execution_modeYes
payment_requiredYes
payment_required_headerYes
settlement_expectationsYes
confirmation_expectationsYes

TDQS

B3.2/5.0
Behavior4/5

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

Beyond the annotations, the description discloses valuable traits: the exact cost ($0.10 USDC on Base via x402), that no funds are spent on this call, and that it returns the PAYMENT-REQUIRED challenge plus the canonical paid execution endpoint. This is meaningful context the annotations do not carry. There is a mild tension with readOnlyHint=false (the call is described as non-spending and challenge-returning), but not a clear contradiction.

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?

Three tight sentences with the price front-loaded and the crucial 'does not spend funds' caveat placed before the mechanics. Efficient overall, though the cost-first opening slightly obscures the tool's actual operation.

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

Completeness3/5

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

An output schema exists, so return-value explanation is unnecessary, and the payment flow is covered. But given 33% parameter coverage and a nested-object param, the description leaves idempotency_key and payment_payload entirely unspecified, which is a real gap for a 3-param tool.

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

Parameters2/5

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

Schema description coverage is only 33%, so the description must compensate, and it largely does not. 'Supplied text artifacts' loosely maps to the artifacts array, but idempotency_key and payment_payload receive no explanation of format, purpose, or when to supply them.

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+resource: 'Creates deterministic SHA-256 entries and a root manifest hash for supplied text artifacts.' This clearly distinguishes it from siblings like commerce.quote or result.preview. However, it also muddies the purpose by pairing 'Purchase'/'PAID' framing with 'does not spend funds', leaving some ambiguity about what this call actually does.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The only contextual cue is that calling it returns a payment challenge, which implies usage but does not state conditions for selecting it over siblings.

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

capability.getcapability.getA
Read-only
Inspect

FREE. Use name for legacy deterministic capability metadata or capabilityId for public marketplace metadata, rights and provenance.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoExact deterministic first-party machine capability name. Use either name or capabilityId, never both.
capabilityIdNoExact marketplace capability identifier. Use either capabilityId or name, never both.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral context with 'FREE' (no cost incurred), which the annotations do not convey, plus the nature of the returned marketplace data.

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?

A single dense sentence, front-loaded with the 'FREE' signal and then the parameter routing. Nothing is wasted, though the compressed phrasing makes the two modes slightly harder to parse than a short structured list would.

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 values need not be explained. With zero required parameters, the description adequately signals that either name or capabilityId is the entry point, though it never states outright that at least one must be supplied.

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 would be 3. The description adds meaning beyond the schema by characterizing name as 'legacy deterministic' and capabilityId as 'public marketplace' metadata carrying rights and provenance, sharpening the distinction between two nearly identical-looking string parameters.

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?

Names the resource (capability) and distinguishes the two lookup modes clearly: 'legacy deterministic capability metadata' via name versus 'public marketplace metadata, rights and provenance' via capabilityId. It does not explicitly differentiate itself from the sibling capability.search tool, which is the main gap.

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 description routes the agent between the two parameters ('use name for X or capabilityId for Y'), which is useful selection guidance. However it gives no when-to-use context relative to alternatives such as capability.search or marketplace.describe, and no exclusions or prerequisites.

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

capability.searchcapability.searchA
Read-only
Inspect

FREE MARKETPLACE FILTERED DISCOVERY ONLY. Search active public marketplace capabilities when one or more filters are known: text, category, provider, delivery type, or price. Metadata is free; purchased execution and deliverables are not. Do NOT use for unfiltered browsing; use catalog.list. Do NOT use for CrossingKey digital/service offers; use offers.list. For one exact capabilityId use capability.get.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return; 1-100, defaults to 25.
queryNoOptional case-insensitive search text across capability name, description, and category; maximum 160 characters.
offsetNoZero-based result offset; defaults to 0.
categoryNoOptional exact marketplace category identifier.
maxPriceNoOptional inclusive maximum USDC price in atomic units.
minPriceNoOptional inclusive minimum USDC price in atomic units.
providerNoOptional exact provider identifier.
deliveryTypeNoOptional capability delivery-type filter.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed world, so safety is covered. The description adds genuinely non-obvious behavior: metadata search is free while purchased execution and deliverables are not, and results are limited to active public listings. It stops short of noting pagination limits, which the schema already documents.

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

Conciseness5/5

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

Four tight sentences with the scope banner front-loaded and every prohibition paired with a redirect. No filler, and the routing information is placed where an agent will read it first.

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 and annotations covering the safety profile, the description only needs to establish scope and routing, which it does completely. Nothing required to call this correctly is missing.

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 all eight parameters (query, category, provider, deliveryType, price bounds, limit, offset) are already documented in the schema. The description enumerates the same filter dimensions without adding syntax, units, or format guidance beyond the schema, 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?

States a specific verb (search) and resource (active public marketplace capabilities) and immediately constrains the scope to filtered discovery. It explicitly distinguishes itself from catalog.list, offers.list, and capability.get by name, so an agent can route without opening schemas.

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 explicit when-to-use ('when one or more filters are known') and two explicit when-nots with named alternatives (catalog.list for unfiltered browsing, offers.list for CrossingKey offers), plus a routing note to capability.get for exact IDs. This is the full when/when-not/alternative pattern.

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

catalog.listcatalog.listA
Read-only
Inspect

FREE MARKETPLACE UNFILTERED DISCOVERY ONLY. Page through active public marketplace capabilities when no search filters are needed. Metadata is free; execution, entitlement, delivery, and purchased output remain gated. Do NOT use for filtered discovery; use capability.search. Do NOT use for CrossingKey digital/service offers; use offers.list. For one exact capabilityId use capability.get.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return; 1-100, defaults to 25.
offsetNoZero-based result offset; defaults to 0.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly=true, destructive=false, openWorld=false), but the description adds substantive context the annotations cannot: metadata is free while execution, entitlement, delivery, and purchased output remain gated, and only 'active public' entries are returned. It does not describe pagination limits or result ordering, so it falls 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?

Front-loaded with the key scope constraint in caps, then each subsequent sentence handles one concern (usage, gating, exclusions). Dense but every sentence earns its place; the all-caps opening is slightly heavy-handed.

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 read-only paginated list tool with an output schema present, the description covers scope, gating semantics, and sibling routing, so return-value explanation is correctly omitted. Ordering/filtering guarantees on the returned list are the only notable gap.

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 (limit, offset) are fully documented with ranges and defaults, so the schema does the heavy lifting. The description's 'page through' phrase reinforces the pagination intent but adds no format or syntax detail beyond the schema. 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 ('page through') and resource ('active public marketplace capabilities'), and explicitly distinguishes itself from three named siblings (capability.search, offers.list, capability.get). An agent can route correctly 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?

Explicitly states when to use it ('no search filters are needed') and when not to, naming the alternative tool for each exclusion (filtered discovery -> capability.search, CrossingKey offers -> offers.list, exact id -> capability.get). Nothing is left to inference.

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

commerce.quotecommerce.quoteA
Read-only
Inspect

FREE MARKETPLACE PAYMENT QUOTE ONLY. After selecting an active marketplace capabilityId, return authoritative gross price, CrossingKey fee, provider share, and x402 v1/v2 payment requirements. A quote grants no entitlement and performs no execution. Do NOT use for first-party paid capabilities; use cost.estimate (first-party x402 capabilities have fixed catalog prices and no quote stage). Do NOT use for generic price lookup; use cost.estimate. Paid marketplace execution requires capability.purchase with authorization and verified payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilityIdYesExact active public marketplace capability identifier to quote.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond them: 'A quote grants no entitlement and performs no execution,' and it names the pricing components returned. It doesn't mention quote validity/expiry or refresh behavior, which would matter for a pricing artifact.

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 scope in the first clause and is dense with routing information, but the 'Do NOT use ... use cost.estimate' pattern appears twice with the same alternative, which is mildly redundant. Slightly longer than needed but every remaining sentence carries routing value.

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 covering return values, full annotations, and a single fully documented parameter, the description covers everything an agent needs: the prerequisite (active capabilityId), the safety profile, the boundaries, and the next step for execution.

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 and schema description coverage is 100%, so the schema already documents capabilityId fully. The description's 'active marketplace capabilityId' phrasing adds no syntax or constraint detail beyond the schema's 'Exact active public marketplace capability identifier.' Baseline 3 is appropriate.

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 ('return authoritative gross price, CrossingKey fee, provider share, and x402 v1/v2 payment requirements' for a marketplace capabilityId). It explicitly distinguishes itself from cost.estimate and capability.purchase, so an agent can route 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 explicit when-to-use ('after selecting an active marketplace capabilityId'), two explicit when-not cases (first-party paid capabilities; generic price lookup) each paired with the alternative to use instead, plus the follow-on tool for execution. Nothing is left to inference.

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

cost.estimatecost.estimateB
Read-only
Inspect

FREE read-only cost estimate. This tool never creates checkout, reserves funds, or contacts a facilitator.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesPublic offer or paid capability identifier returned by offers.list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
costNo
foundYes
item_idYes
cost_stateYes
payment_startedNo
payment_requiredYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds that the tool is free and explicitly never creates checkout, reserves funds, or contacts a facilitator, which is useful behavioral context beyond the annotations.

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

Conciseness5/5

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

Two sentences are efficiently used: the first front-loads the key qualifiers 'FREE read-only', and the second lists explicit negative side effects. No wasted words, and the most important information comes first.

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 a rich output schema and annotations, the description provides adequate safety and cost information. However, it omits when to choose this tool over quote-related siblings, leaving a minor gap for agent selection.

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 single parameter item_id is fully documented in the schema. The description adds no additional parameter meaning, making the baseline score of 3 appropriate.

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

Purpose3/5

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

The description states a verb and resource (cost estimate) but essentially restates the tool name; it does not explain what is being estimated or differentiate from siblings like commerce.quote. The added 'FREE read-only' is behavioral context, not purpose clarification.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as commerce.quote or offers.list. The description only offers negative constraints about what the tool does not do, leaving the agent to infer appropriate usage.

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

creator.applycreator.applyB
Destructive
Inspect

FREE WRITE. Private creator intake for assets needing a capability model. No ownership transfer and AI training defaults false.

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryYesPrivate creator intake summary describing the asset, service, or capability to evaluate; 1-4000 characters.
providerYesProposed provider identity for this private creator intake.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare a write operation (readOnlyHint=false) with destructiveHint=true. The description adds valuable context beyond annotations: 'No ownership transfer' clarifies the scope of the write, and 'AI training defaults false' discloses a privacy default. These are specific behavioral traits that help set expectations, though the description does not explain what exactly gets created or destroyed.

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 description is extremely concise with no wasted words. However, 'FREE WRITE' is cryptic and the fragmented sentences (sentence fragments) make it slightly less front-loaded and clear, but overall it is efficient.

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

Completeness3/5

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

Given the tool's complexity (write operation, destructive hint, nested object parameter, and an output schema), the description is adequate but minimal. It covers privacy and ownership defaults but leaves the core action ('intake' process) and the meaning of 'capability model' unexplained. The output schema exists, so return values need not be described.

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 all parameters are fully documented in the schema. The description does not add any meaning beyond what the schema provides (e.g., it never mentions 'provider' or 'summary'). Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose3/5

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

The description presents 'private creator intake' as the purpose but uses a noun phrase rather than a clear verb+resource. It does not distinguish from sibling tools like provider.register or marketplace.describe, and 'capability model' is jargon that isn't defined. The action (submitting an intake) is implied but not stated explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor any prerequisites or context for invocation. The constraints ('No ownership transfer and AI training defaults false') describe behavior but not usage conditions.

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

credits.optionscredits.optionsA
Read-only
Inspect

FREE read-only prepaid request-credit pack options. Lists available credit packs with identifiers and credit amounts. Purchasing happens via checkout; this tool never starts payment or creates accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
freeYes
packsYes
payment_startedYes

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful context beyond those annotations: the listing is free, and the tool never starts payment or creates accounts. It does not cover auth requirements or rate limits, but for a no-argument read-only listing tool this is appropriately transparent.

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

Conciseness5/5

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

The description is three compact sentences, front-loading the primary purpose and then the key behavioral exclusions. Every sentence earns its place, and there is no redundant or filler language.

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?

The tool has no parameters and an output schema, so the description does not need to explain inputs or return values. It fully covers what the tool does and what it does not do. Nothing essential for correct invocation 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?

There are zero parameters, so there is no parameter semantics to explain. Per the rubric, a zero-parameter tool has a baseline of 4. The description does not need to add parameter meaning.

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 and resource: listing available prepaid request-credit packs, with identifiers and credit amounts. It also distinguishes this tool from purchasing by saying checkout handles purchases and this tool never starts payment or creates accounts. An agent can clearly tell what this tool does.

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?

The description clearly implies this is for viewing credit-pack options before purchasing, and explicitly excludes payment/account-creation behavior. It routes purchasing to checkout, but does not name a specific sibling tool or give an explicit when-to-use statement. The guidance is clear but not maximally explicit.

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

execution.preflightexecution.preflightB
Read-only
Inspect

FREE read-only execution preflight. Returns READY_FOR_HUMAN_AUTHORIZATION only; it never authorizes, purchases, settles, executes, or creates records.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesPublic offer or paid capability identifier returned by offers.list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
checksYes
reasonYes
item_idYes
payment_startedYes
receipt_createdYes
execution_startedYes
entitlement_createdYes
authorization_requiredYes
requirements_satisfiedYes

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description still adds useful context beyond them: it explicitly disclaims authorization, purchase, settlement, execution, and record creation, and names the sole return state. No output details are needed since an output schema exists.

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 and compact: the defining trait ('FREE read-only') and the return value come first, followed by a tight negation list. The list of five negative verbs is slightly redundant but each forecloses a plausible misreading of 'execution'.

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

Completeness3/5

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

With annotations covering safety, an output schema covering the return, and full schema coverage on the only parameter, the description is nearly complete for the call mechanics. The remaining gap is ecosystem-level: no routing guidance among many closely related audit/check siblings in a 21-tool set.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter item_id is fully documented in the schema, including its provenance from offers.list. The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose3/5

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

The description states the tool is a 'read-only execution preflight' that returns READY_FOR_HUMAN_AUTHORIZATION, which conveys the gating/readiness function more than the name alone. However, 'preflight' is abstract and the description never clarifies what the check actually validates, nor distinguishes it from close siblings like requirements.check, result.preview, machine_commerce.readiness_audit, or x402.compatibility_audit.

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

Usage Guidelines2/5

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

It never says when to call this vs. any of the ~20 sibling tools, nor what prerequisite state (e.g., a prior offers.list call) is needed before invoking it. The only implicit guidance is 'FREE' implying it is cheap to call, which is weak.

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

machine_commerce.readiness_auditPurchase Machine-Commerce Readiness AuditAInspect

PAID $2.00 USDC on Base via x402. Checks machine-commerce discovery and health surfaces. Calling this MCP tool does not spend funds; it returns the exact PAYMENT-REQUIRED challenge and canonical paid execution endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesBase URL of the machine-commerce service to audit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
inputYes
priceYes
pay_toYes
networkYes
capabilityYes
instructionYes
execution_urlYes
execution_modeYes
payment_requiredYes
payment_required_headerYes
settlement_expectationsYes
confirmation_expectationsYes

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint=false and openWorldHint=true, the agent knows this touches external state; the description usefully clarifies the critical nuance that invoking the MCP tool does not itself spend funds and instead returns a payment challenge plus the canonical paid endpoint, plus the $2.00 USDC-on-Base cost. It stops short of describing what the audit covers or returns, but the payment-flow disclosure is substantive.

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?

Two sentences, front-loaded with the most decision-critical fact (the price and payment rail), then the effect on funds and the return shape. Dense and efficient, though x402/PAYMENT-REQUIRED jargon assumes a knowledgeable reader.

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 paid, open-world audit tool, the definition covers cost, the no-funds-spent guarantee, and what the call returns; the output schema exists to describe return structure. The main gap is scope relative to sibling audit tools and what surfaces are actually checked.

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 ('url'), documented at 100% schema coverage as 'Base URL of the machine-commerce service to audit'. The description adds no format, example, or constraint beyond the schema, so it is the standard baseline when the schema carries the semantics.

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: 'Checks machine-commerce discovery and health surfaces', which tells the agent what the audit inspects. However, it does not distinguish itself from closely related siblings such as x402.compatibility_audit, mcp.schema_audit, or openapi.quality_audit, all of which are also 'check/audit' tools.

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?

It clarifies the payment mechanics of the call itself ('does not spend funds; returns the exact PAYMENT-REQUIRED challenge and canonical paid execution endpoint'), which is useful context for deciding to invoke it. But it gives no guidance on when to choose this audit over the many sibling audit/compatibility tools, leaving that to inference.

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

marketplace.describemarketplace.describeA
Read-only
Inspect

FREE, read-only marketplace overview. Use this first for marketplace-specific capability commerce, fee policy, creator rights, payment rails, and active catalog counts; use provider.describe for the broader CrossingKey provider and legacy offer surface.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds non-annotation context: the call is 'FREE' and it is an overview (not a deep query). It does not discuss rate limits or freshness, which is a minor remaining gap.

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

Conciseness5/5

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

Two compact sentences, with the scoping and 'use first' cue front-loaded ahead of the alternative-tool routing. Every clause earns its place.

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 described. For a zero-parameter read tool with full annotation coverage, the description supplies everything an agent needs: purpose, cost, when to call, and which sibling to prefer instead.

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; the 4 baseline applies. The schema's additionalProperties=false is self-documenting.

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 ('marketplace overview') and immediately names the sibling it is not ('use provider.describe for the broader CrossingKey provider and legacy offer surface'). An agent can distinguish it from provider.describe and the other 21 siblings without opening a 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?

'Use this first for marketplace-specific capability commerce, fee policy, creator rights, payment rails, and active catalog counts' gives an explicit when-to-use condition, and the second clause names the alternative and its scope. Nothing is left to inference.

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

mcp.schema_auditPurchase MCP Schema AuditAInspect

PAID $1.00 USDC on Base via x402. Scores supplied MCP tool schemas for discoverability, descriptions, and bounded input contracts. Calling this MCP tool does not spend funds; it returns the exact PAYMENT-REQUIRED challenge and canonical paid execution endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolsYesMCP tool definitions to audit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
inputYes
priceYes
pay_toYes
networkYes
capabilityYes
instructionYes
execution_urlYes
execution_modeYes
payment_requiredYes
payment_required_headerYes
settlement_expectationsYes
confirmation_expectationsYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and the description adds the crucial behavior that this call does not spend funds but returns a PAYMENT-REQUIRED challenge plus the canonical paid endpoint. That resolves the apparent tension of a 'paid' tool that is safe to call, and is genuinely beyond structured data. It stops short of stating auth requirements, rate limits, or what happens on the paid follow-up 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?

Three sentences, front-loaded with the price and payment rail, then what it scores, then the safety clarification. Every sentence carries information, though the payment sentence is dense enough that the core purpose arrives second.

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 detail is unnecessary, and the description covers the non-obvious pricing/payment semantics an agent must know before calling. The remaining gap is the absence of any when-to-use routing against the many audit siblings.

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% ('MCP tool definitions to audit'), so the schema already carries the parameter meaning. The description restates the audit target but adds no format, size, or shape guidance for the tools array beyond the schema. Baseline 3 is appropriate.

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 ('Scores supplied MCP tool schemas') and names the dimensions measured (discoverability, descriptions, bounded input contracts). This clearly separates it from siblings like openapi.quality_audit and x402.compatibility_audit, which audit different artifacts.

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 description explains the payment model and what a call actually returns, which implicitly tells the agent this is the discovery step before paid execution. However, it never states when to prefer this over sibling audits (openapi.quality_audit, x402.compatibility_audit) or what inputs qualify. Usage is implied rather than directed.

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

offers.listoffers.listA
Read-only
Inspect

FREE read-only public offer and capability discovery. This tool never starts payment or execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of public metadata records to return.
queryNoOptional bounded search text.

Output Schema

ParametersJSON Schema
NameRequiredDescription
freeYes
offersYes
payment_startedYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds meaningful context beyond annotations: 'FREE' and 'never starts payment or execution,' which directly informs an agent's safety and cost expectations. It does not cover rate limits or auth requirements, but the core behavioral promise is clear.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core purpose and immediately followed by the critical safety guarantee. No filler or redundancy.

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

Completeness4/5

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

Given the tool's simplicity, full schema coverage, existing annotations, and a separate output schema, the description is nearly complete for correct invocation. The only gap is sibling differentiation, which is a usage guideline concern rather than a call-correctness issue.

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 input schema fully documents both parameters (limit, query). The description adds no parameter-level detail beyond what the schema already provides, making a baseline 3 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?

The description states a specific verb+resource: 'public offer and capability discovery,' and clarifies it is read-only and free. It distinguishes itself from payment/execution tools but does not explicitly differentiate from siblings like capability.search or catalog.list.

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: use this for free read-only discovery of public offers and capabilities. However, there is no explicit when-to-use guidance relative to alternatives such as capability.search or catalog.list, and no when-not-to-use conditions.

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

openapi.quality_auditPurchase OpenAPI Quality AuditAInspect

PAID $1.00 USDC on Base via x402. Evaluates structural quality and required fields in an OpenAPI document. Calling this MCP tool does not spend funds; it returns the exact PAYMENT-REQUIRED challenge and canonical paid execution endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesParsed OpenAPI document to audit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
inputYes
priceYes
pay_toYes
networkYes
capabilityYes
instructionYes
execution_urlYes
execution_modeYes
payment_requiredYes
payment_required_headerYes
settlement_expectationsYes
confirmation_expectationsYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations leave readOnlyHint=false, which could mislead an agent into expecting a write; the description resolves this by explaining the tool returns a PAYMENT-REQUIRED challenge rather than spending funds. That is meaningful behavioral context beyond the hints, though the actual execution flow after payment is not spelled out.

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?

Three tight sentences with the cost/payment constraint front-loaded, which is the most decision-relevant fact. No redundant filler.

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 values need not be explained, and the description supplies the payment context that the schema and annotations cannot. Complete enough for an agent to decide and call, with only the post-payment flow left implicit.

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 there is a single parameter ('spec') whose schema description already documents it as the parsed OpenAPI document. The prose adds no format, size, or validation detail beyond the schema, so 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?

States a specific verb and resource ('Evaluates structural quality and required fields in an OpenAPI document') and adds the pricing/payment model up front. It is clear what the tool does, though it never names the closest siblings (mcp.schema_audit, x402.compatibility_audit) to draw the boundary.

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 description clarifies the payment mechanics ('Calling this MCP tool does not spend funds') which is a real usage consideration, but it gives no explicit when-to-use versus alternatives among the many audit/preflight siblings. Usage 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.

provider.describeprovider.describeA
Read-only
Inspect

FREE read-only provider and commerce policy discovery. Use this before selecting an offer or capability.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
manifestYes
providerYes
sequenceYes
stopBeforePaymentYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds one genuinely new fact — that the call is FREE (no cost/credits) — which is not in the annotations. It says nothing about rate limits, auth requirements, or what 'commerce policy' contains.

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

Conciseness5/5

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

Two compact sentences, no filler, and the key qualifier (FREE read-only) is front-loaded before the routing hint. Every clause earns its place.

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

Completeness3/5

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

An output schema exists, so return values need not be described. But for a zero-param discovery tool the description leaves the domain ambiguous — 'provider' and 'commerce policy' are undefined, and no distinction from provider.get or marketplace.describe is drawn, which is the main thing an agent needs.

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 supply or omit.

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 concrete verb-resource pair ('provider and commerce policy discovery') and states the scope (read-only, free), which is more than a tautology of the title. However, it does not distinguish itself from close siblings like provider.get, marketplace.describe, or capability.search, so an agent cannot route on the text alone.

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?

'Use this before selecting an offer or capability' gives a sequencing cue, implying usage ahead of offers.list/commerce.quote. But it names no alternative tool and gives no when-not-to-use condition, so the guidance is implied rather than explicit.

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

provider.getprovider.getB
Read-only
Inspect

FREE. Public active provider metadata. Pending applications require owner or administrator authorization.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerIdYesExact CrossingKey marketplace provider identifier.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower, yet the description still adds real behavioral context: the call is free, it returns only active providers, and pending applications gate on owner/administrator authorization. That auth-condition disclosure is genuinely useful for an agent deciding whether the call will succeed.

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?

Three short fragments with zero filler, and the most decision-relevant fact (FREE) is front-loaded. It is arguably too terse given the sibling ambiguity, but nothing in it is wasted.

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

Completeness3/5

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

With an output schema present, return values need no explanation, and the parameter is fully documented in the schema. The remaining gap is sibling differentiation from provider.describe, which matters given the crowded toolset and is not addressed.

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?

There is a single required parameter with 100% schema description coverage, including a precise regex pattern and the 'CrossingKey marketplace provider identifier' definition, so the schema carries the full burden. The description adds nothing about providerId, so baseline 3 applies.

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

Purpose3/5

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

The phrase 'Public active provider metadata' identifies the resource and scope (active providers only), which is more informative than the bare tool name. However it never states a retrieval verb and gives no signal distinguishing it from the sibling provider.describe, so an agent cannot tell which of the two to call.

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?

'FREE' tells the agent there is no cost barrier, and the authorization note tells it that pending applications require owner/admin rights, which implicitly routes it toward active providers. But there is no explicit when-to-use versus provider.describe, and no statement of what happens for non-existent IDs.

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

provider.registerprovider.registerA
Destructive
Inspect

FREE public intake. Submit a pending marketplace provider application; this creates no credential, approval, payment, ownership transfer, or active capability. Use creator.apply instead when submitting an asset or body of work that still needs a capability model.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesStable provider slug used for human-readable identity and duplicate checks.
contactYesPrivate provider contact reference used for intake and operator follow-up; 3-300 characters.
websiteNoOptional public HTTPS/HTTP provider website URL.
descriptionYesPublic provider description; 1-2000 characters.
displayNameYesPublic provider display name; 1-120 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

The description adds real context beyond annotations: it declares the intake is FREE and enumerates the side effects that do not occur (no credential, approval, payment, ownership transfer, or active capability). That is valuable for a write tool. There is mild tension with destructiveHint=true, since the description frames this as a harmless pending-record intake with no substantive state change, but it does not falsely claim read-only behavior, so this is a nuance rather than a contradiction.

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

Conciseness5/5

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

Two sentences, zero filler, and the scope boundary plus the FREE framing are front-loaded before the sibling routing. Every clause earns 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?

An output schema exists, so return values need not be explained, and the safety/mutation profile is covered by annotations plus the description's explicit list of non-effects. The only gap is what happens after intake (review/approval flow, duplicate handling beyond the slug hint), which is desirable but not essential to invoke 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 the schema already documents slug, contact, description, displayName, and website with lengths and patterns. The description adds no parameter-level detail, which is acceptable given the schema does the work, 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 and resource ('Submit a pending marketplace provider application') and immediately bounds the scope by naming what it does not create. It also names the sibling creator.apply and the condition that selects it, so an agent can distinguish the two without opening either 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 routing: use this tool for provider applications, use creator.apply instead when submitting an asset or body of work needing a capability model. The when-to-use and the alternative are both stated rather than implied.

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

requirements.checkrequirements.checkC
Read-only
Inspect

FREE read-only requirements check. This tool never authorizes or starts payment or execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesPublic offer or paid capability identifier returned by offers.list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeNo
foundYes
item_idYes
requirementsYes
delivery_readyNo
payment_requiredYes

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description still adds two pieces of context beyond them — that the call is FREE (no cost) and that it will never authorize or start payment or execution, drawing an explicit boundary against payment/execution siblings. It stops short of describing latency or result shape, but with annotations present this is solid 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?

Two short, front-loaded sentences with no filler; each carries a distinct fact (cost, negative capability boundary). It is efficient, though the terseness leaves purpose under-explained rather than being wasteful.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the sole parameter is fully covered. What is missing is the surrounding commerce context: what requirements are being checked and when in a purchase flow this should be called instead of execution.preflight or commerce.quote.

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

Parameters3/5

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

Schema description coverage is 100% and the single item_id parameter is fully documented in the schema, including its source (offers.list). The description adds nothing about the parameter, so the baseline 3 applies.

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

Purpose2/5

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

"FREE read-only requirements check" largely restates the tool name (requirements.check); it never says what a "requirement" is, what resource is inspected, or how it differs from siblings like execution.preflight or commerce.quote. The only added content is a cost qualifier and a safety qualifier, not a statement of purpose.

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

Usage Guidelines2/5

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

No when-to-use guidance and no named alternatives, despite a crowded sibling set (commerce.quote, execution.preflight, cost.estimate, offers.list) that plausibly overlaps. The agent must infer the trigger condition entirely.

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

result.previewresult.previewA
Read-only
Inspect

FREE read-only result-shape preview. This tool never executes a capability or creates an entitlement or receipt.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesPublic offer or paid capability identifier returned by offers.list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
item_idYes
preview_stateYes
result_previewNo
payment_startedNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety baseline is covered. The description goes further by naming the specific side effects it avoids — no capability execution, no entitlement, no receipt — which tells the agent this call consumes nothing and mutates no account state. It stops short of describing cost, rate limits, or what the preview contains.

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

Conciseness5/5

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

Two short sentences, zero filler, with the most decision-relevant fact (FREE, read-only) front-loaded. Nothing is repeated from the structured fields.

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 values need no explanation, and the single required parameter is fully specified by the schema. For a one-param read-only preview, the description supplies the essential non-side-effect guarantee; only the routing against sibling tools is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single item_id parameter is fully documented in the schema (including provenance from offers.list), so the description is not obliged to restate it. It adds no format or constraint nuance beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

The description names a concrete action (preview of a 'result-shape') and asserts a key property ('never executes'), but the object of the preview is left implicit — an agent must infer from the schema that it previews the result shape of the capability referenced by item_id. It does not clearly distinguish itself from execution.preflight or capability.get, which appear to live in the same problem space.

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?

Signaling 'FREE' and 'never executes' implies this is the cheap, safe alternative to actually running a capability, so the usage is implied rather than stated. There is no explicit when-to-use/when-not versus execution.preflight, capability.get, or requirements.check, which are the most plausible siblings an agent would weigh against it.

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

x402.compatibility_auditPurchase x402 Compatibility AuditAInspect

PAID $1.00 USDC on Base via x402. Audits an x402 endpoint for v1/v2 compatibility defects. Calling this MCP tool does not spend funds; it returns the exact PAYMENT-REQUIRED challenge and canonical paid execution endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTP(S) x402 endpoint to audit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
inputYes
priceYes
pay_toYes
networkYes
capabilityYes
instructionYes
execution_urlYes
execution_modeYes
payment_requiredYes
payment_required_headerYes
settlement_expectationsYes
confirmation_expectationsYes

TDQS

A4.1/5.0
Behavior5/5

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

With annotations only covering readOnly/openWorld/destructive, the description supplies non-obvious behavioral facts: the $1.00 USDC on Base cost, the x402 payment mechanism, that invocation itself spends nothing, and that it returns the PAYMENT-REQUIRED challenge plus the canonical paid execution endpoint. This is exactly the 'beyond annotations' context that matters for a paid, network-touching tool.

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

Conciseness5/5

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

Three short sentences, with the cost and payment method front-loaded before the functional description and the crucial 'does not spend funds' clarification. No filler or repetition.

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 one-parameter paid tool with an output schema and partial annotations, the description covers everything an agent needs: price, payment chain, no-charge invocation, and the nature of the returned challenge/endpoint. Return-value detail is present but need not carry the burden since an output schema exists.

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 there is a single well-described 'url' parameter, so the schema already carries parameter meaning. The description adds no format, constraint, or example detail beyond what the schema provides, which lands at the baseline for full coverage.

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 ('Audits an x402 endpoint for v1/v2 compatibility defects'), scoping it to the x402 protocol domain rather than generic audits. It is reasonably distinct from sibling audit tools such as mcp.schema_audit and openapi.quality_audit, though it never names or contrasts with them explicitly.

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?

There is no explicit when-to-use/when-not-to-use guidance or named alternative among the many sibling audit tools. The statement that calling it 'does not spend funds' does clarify invocation semantics, and the price line implies intent (you use this before paying for an audit), but the agent still has to infer when this tool is the right pick.

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

xkey.validateValidate structured XKEY intakeA
Idempotent
Inspect

PAID prepaid-credit XKEY intake validation. Requires an authenticated ck_ principal and commits one credit only on verified success. Discovery is free; execution is not.

ParametersJSON Schema
NameRequiredDescriptionDefault
raw_intakeYesRaw intake text to validate and normalize; 2-100000 characters.
idempotency_keyYesUnique client-generated idempotency key; 8-160 ASCII characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
balanceNo
successYes
capabilityYes
normalizedNo
receipt_idNo
request_hashNo
reservation_idNo
credits_chargedNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, and the description adds genuinely new behavioral facts: it consumes paid prepaid credit, charges only on verified success, and requires an authenticated ck_ principal. This billing/auth disclosure 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?

Three short, front-loaded sentences with no filler; the paid/credit constraint leads. Slightly terse on what 'validation' actually produces, but every sentence earns 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?

For a two-parameter tool with full schema coverage, an output schema, and annotations covering the safety/idempotency profile, the description supplies the missing commercial and auth context. The only real gap is a lack of explicit contrast with the free discovery siblings.

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 (raw_intake, idempotency_key) are fully documented with constraints in the schema. The description adds nothing about parameter syntax or intent, so the baseline 3 is correct.

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 (validate) and resource (XKEY intake) plus the commercial nature (PAID prepaid-credit). No sibling tool in the list validates XKEY intake, so the agent can place it, though it never names an alternative to differentiate behaviorally.

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?

'Discovery is free; execution is not' and 'commits one credit only on verified success' imply prerequisites and a cost boundary, but there is no explicit when-to-use versus when-not, nor any named discovery sibling (e.g. capability.get or x402.compatibility_audit) to route the agent.

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
    • Changedartifact.integrity_manifest2 fields changed
      • addedInput schema / properties / idempotency_key
        Added value: +{
        +  "maxLength": 160,
        +  "minLength": 8,
        +  "type": "string"
        +}
      • addedInput schema / properties / payment_payload
        Added value: +{
        +  "additionalProperties": {},
        +  "type": "object"
        +}
  2. 22 tool updates
    • Changedartifact.integrity_manifest3 fields changed
      • removedInput schema / properties / idempotency_key
        Removed value: -{
        -  "maxLength": 160,
        -  "minLength": 8,
        -  "type": "string"
        -}
      • removedInput schema / properties / payment_payload
        Removed value: -{
        -  "additionalProperties": {},
        -  "type": "object"
        -}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "asset": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "capability": {
        +      "type": "string"
        +    },
        +    "confirmation_expectations": {
        +      "type": "string"
        +    },
        +    "execution_mode": {
        +      "type": "string"
        +    },
        +    "execution_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "input": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "instruction": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "pay_to": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "payment_required": {
        +      "const": true,
        +      "type": "boolean"
        +    },
        +    "payment_required_header": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "settlement_expectations": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "payment_required",
        +    "execution_mode",
        +    "capability",
        +    "input",
        +    "price",
        +    "asset",
        +    "network",
        +    "pay_to",
        +    "execution_url",
        +    "payment_required_header",
        +    "settlement_expectations",
        +    "confirmation_expectations",
        +    "instruction"
        +  ],
        +  "type": "object"
        +}
    • Removedcapability.execute
    • Addedcapability.get
    • Addedcapability.search
    • Addedcatalog.list
    • Addedcommerce.quote
    • Changedcost.estimate1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "cost": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": true,
        +          "properties": {},
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "cost_state": {
        +      "type": "string"
        +    },
        +    "found": {
        +      "type": "boolean"
        +    },
        +    "item_id": {
        +      "type": "string"
        +    },
        +    "payment_required": {
        +      "type": "boolean"
        +    },
        +    "payment_started": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "item_id",
        +    "found",
        +    "cost_state",
        +    "payment_required"
        +  ],
        +  "type": "object"
        +}
    • Addedcreator.apply
    • Addedcredits.options
    • Changedexecution.preflight1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "authorization_required": {
        +      "type": "boolean"
        +    },
        +    "checks": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "entitlement_created": {
        +      "type": "boolean"
        +    },
        +    "execution_started": {
        +      "type": "boolean"
        +    },
        +    "item_id": {
        +      "type": "string"
        +    },
        +    "payment_started": {
        +      "type": "boolean"
        +    },
        +    "reason": {
        +      "type": "string"
        +    },
        +    "receipt_created": {
        +      "type": "boolean"
        +    },
        +    "requirements_satisfied": {
        +      "type": "boolean"
        +    },
        +    "state": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "item_id",
        +    "state",
        +    "requirements_satisfied",
        +    "authorization_required",
        +    "payment_started",
        +    "execution_started",
        +    "entitlement_created",
        +    "receipt_created",
        +    "reason",
        +    "checks"
        +  ],
        +  "type": "object"
        +}
    • Changedmachine_commerce.readiness_audit1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "asset": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "capability": {
        +      "type": "string"
        +    },
        +    "confirmation_expectations": {
        +      "type": "string"
        +    },
        +    "execution_mode": {
        +      "type": "string"
        +    },
        +    "execution_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "input": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "instruction": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "pay_to": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "payment_required": {
        +      "const": true,
        +      "type": "boolean"
        +    },
        +    "payment_required_header": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "settlement_expectations": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "payment_required",
        +    "execution_mode",
        +    "capability",
        +    "input",
        +    "price",
        +    "asset",
        +    "network",
        +    "pay_to",
        +    "execution_url",
        +    "payment_required_header",
        +    "settlement_expectations",
        +    "confirmation_expectations",
        +    "instruction"
        +  ],
        +  "type": "object"
        +}
    • Addedmarketplace.describe
    • Changedmcp.schema_audit1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "asset": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "capability": {
        +      "type": "string"
        +    },
        +    "confirmation_expectations": {
        +      "type": "string"
        +    },
        +    "execution_mode": {
        +      "type": "string"
        +    },
        +    "execution_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "input": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "instruction": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "pay_to": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "payment_required": {
        +      "const": true,
        +      "type": "boolean"
        +    },
        +    "payment_required_header": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "settlement_expectations": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "payment_required",
        +    "execution_mode",
        +    "capability",
        +    "input",
        +    "price",
        +    "asset",
        +    "network",
        +    "pay_to",
        +    "execution_url",
        +    "payment_required_header",
        +    "settlement_expectations",
        +    "confirmation_expectations",
        +    "instruction"
        +  ],
        +  "type": "object"
        +}
    • Changedoffers.list1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "free": {
        +      "type": "boolean"
        +    },
        +    "offers": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "payment_started": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "offers",
        +    "free",
        +    "payment_started"
        +  ],
        +  "type": "object"
        +}
    • Changedopenapi.quality_audit1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "asset": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "capability": {
        +      "type": "string"
        +    },
        +    "confirmation_expectations": {
        +      "type": "string"
        +    },
        +    "execution_mode": {
        +      "type": "string"
        +    },
        +    "execution_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "input": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "instruction": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "pay_to": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "payment_required": {
        +      "const": true,
        +      "type": "boolean"
        +    },
        +    "payment_required_header": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "settlement_expectations": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "payment_required",
        +    "execution_mode",
        +    "capability",
        +    "input",
        +    "price",
        +    "asset",
        +    "network",
        +    "pay_to",
        +    "execution_url",
        +    "payment_required_header",
        +    "settlement_expectations",
        +    "confirmation_expectations",
        +    "instruction"
        +  ],
        +  "type": "object"
        +}
    • Changedprovider.describe1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "manifest": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "provider": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "sequence": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "stopBeforePayment": {
        +      "const": true,
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "provider",
        +    "sequence",
        +    "manifest",
        +    "stopBeforePayment"
        +  ],
        +  "type": "object"
        +}
    • Addedprovider.get
    • Addedprovider.register
    • Changedrequirements.check1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "delivery_ready": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "found": {
        +      "type": "boolean"
        +    },
        +    "item_id": {
        +      "type": "string"
        +    },
        +    "payment_required": {
        +      "type": "boolean"
        +    },
        +    "requirements": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "type": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "item_id",
        +    "found",
        +    "requirements",
        +    "payment_required"
        +  ],
        +  "type": "object"
        +}
    • Changedresult.preview1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "found": {
        +      "type": "boolean"
        +    },
        +    "item_id": {
        +      "type": "string"
        +    },
        +    "payment_started": {
        +      "type": "boolean"
        +    },
        +    "preview_state": {
        +      "type": "string"
        +    },
        +    "result_preview": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "item_id",
        +    "found",
        +    "preview_state"
        +  ],
        +  "type": "object"
        +}
    • Changedx402.compatibility_audit1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "asset": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "capability": {
        +      "type": "string"
        +    },
        +    "confirmation_expectations": {
        +      "type": "string"
        +    },
        +    "execution_mode": {
        +      "type": "string"
        +    },
        +    "execution_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "input": {
        +      "additionalProperties": true,
        +      "properties": {},
        +      "type": "object"
        +    },
        +    "instruction": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "pay_to": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "payment_required": {
        +      "const": true,
        +      "type": "boolean"
        +    },
        +    "payment_required_header": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "settlement_expectations": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "payment_required",
        +    "execution_mode",
        +    "capability",
        +    "input",
        +    "price",
        +    "asset",
        +    "network",
        +    "pay_to",
        +    "execution_url",
        +    "payment_required_header",
        +    "settlement_expectations",
        +    "confirmation_expectations",
        +    "instruction"
        +  ],
        +  "type": "object"
        +}
    • Changedxkey.validate1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "balance": {},
        +    "capability": {
        +      "type": "string"
        +    },
        +    "credits_charged": {},
        +    "normalized": {},
        +    "receipt_id": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "request_hash": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "reservation_id": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "state": {
        +      "type": "string"
        +    },
        +    "success": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "capability",
        +    "state",
        +    "success"
        +  ],
        +  "type": "object"
        +}
  3. 1 tool update
    • Addedcapability.execute
  4. 1 tool update
    • Changedartifact.integrity_manifest2 fields changed
      • addedInput schema / properties / idempotency_key
        Added value: +{
        +  "maxLength": 160,
        +  "minLength": 8,
        +  "type": "string"
        +}
      • addedInput schema / properties / payment_payload
        Added value: +{
        +  "additionalProperties": {},
        +  "type": "object"
        +}
  5. 6 tool updates
    • Addedcost.estimate
    • Addedexecution.preflight
    • Addedoffers.list
    • Addedprovider.describe
    • Addedrequirements.check
    • Addedresult.preview
  6. 1 tool update
    • Addedxkey.validate
  7. 1 tool update
    • Removedxkey.validate
  8. 1 tool update
    • Changedxkey.validate1 field changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Unique client-generated key for safe retry/deduplication; 8-160 ASCII characters. Reuse only when retrying the same intake."New value: +"Unique client-generated idempotency key; 8-160 ASCII characters."
  9. 8 tool updates
    • Removedentitlement.inspect
    • Removedmachine_capability.list
    • Removedmachine_capability.quote
    • Removedpayment.methods
    • Removedpayment.verify
    • Removedpurchase.status
    • Removedreceipt.verify
    • Removedsystem.health
  10. 16 tool updates
    • Removedcapability.get
    • Removedcapability.search
    • Removedcatalog.list
    • Removedcommerce.quote
    • Removedcost.estimate
    • Removedcreator.apply
    • Removedcredit.options
    • Removedexecution.preflight
    • Removedmarketplace.describe
    • Removedoffer.list
    • Removedprovider.describe
    • Removedprovider.get
    • Removedprovider.register
    • Removedrequirement.check
    • Removedresult.preview
    • Removedservice.list
  11. 5 tool updates
    • Addedartifact.integrity_manifest
    • Addedmachine_commerce.readiness_audit
    • Addedmcp.schema_audit
    • Addedopenapi.quality_audit
    • Addedx402.compatibility_audit
  12. 32 tool updates
    • Removedcapabilities.list
    • Changedcapability.get2 fields changed
      • addedInput schema / properties / capabilityId / description
        Added value: +"Exact marketplace capability identifier. Use either capabilityId or name, never both."
      • addedInput schema / properties / name / description
        Added value: +"Exact deterministic first-party machine capability name. Use either name or capabilityId, never both."
    • Removedcapability.purchase
    • Removedcapability.quote
    • Removedcapability.register
    • Changedcapability.search8 fields changed
      • addedInput schema / properties / category / description
        Added value: +"Optional exact marketplace category identifier."
      • addedInput schema / properties / deliveryType / description
        Added value: +"Optional capability delivery-type filter."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of results to return; 1-100, defaults to 25."
      • addedInput schema / properties / maxPrice / description
        Added value: +"Optional inclusive maximum USDC price in atomic units."
      • addedInput schema / properties / minPrice / description
        Added value: +"Optional inclusive minimum USDC price in atomic units."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based result offset; defaults to 0."
      • addedInput schema / properties / provider / description
        Added value: +"Optional exact provider identifier."
      • addedInput schema / properties / query / description
        Added value: +"Optional case-insensitive search text across capability name, description, and category; maximum 160 characters."
    • Removedcapability.setStatus
    • Changedcatalog.list2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of results to return; 1-100, defaults to 25."
      • addedInput schema / properties / offset / description
        Added value: +"Zero-based result offset; defaults to 0."
    • Changedcommerce.quote1 field changed
      • addedInput schema / properties / capabilityId / description
        Added value: +"Exact active public marketplace capability identifier to quote."
    • Changedcreator.apply7 fields changed
      • addedInput schema / properties / provider / description
        Added value: +"Proposed provider identity for this private creator intake."
      • addedInput schema / properties / provider / properties / contact / description
        Added value: +"Private provider contact reference used for intake and operator follow-up; 3-300 characters."
      • addedInput schema / properties / provider / properties / description / description
        Added value: +"Public provider description; 1-2000 characters."
      • addedInput schema / properties / provider / properties / displayName / description
        Added value: +"Public provider display name; 1-120 characters."
      • addedInput schema / properties / provider / properties / slug / description
        Added value: +"Stable provider slug used for human-readable identity and duplicate checks."
      • addedInput schema / properties / provider / properties / website / description
        Added value: +"Optional public HTTPS/HTTP provider website URL."
      • addedInput schema / properties / summary / description
        Added value: +"Private creator intake summary describing the asset, service, or capability to evaluate; 1-4000 characters."
    • Addedcredit.options
    • Removedcredits.options
    • Removedhealth
    • Removedjob.status
    • Addedmachine_capability.list
    • Addedmachine_capability.quote
    • Addedoffer.list
    • Removedoffers.list
    • Changedprovider.get1 field changed
      • addedInput schema / properties / providerId / description
        Added value: +"Exact CrossingKey marketplace provider identifier."
    • Changedprovider.register5 fields changed
      • addedInput schema / properties / contact / description
        Added value: +"Private provider contact reference used for intake and operator follow-up; 3-300 characters."
      • addedInput schema / properties / description / description
        Added value: +"Public provider description; 1-2000 characters."
      • addedInput schema / properties / displayName / description
        Added value: +"Public provider display name; 1-120 characters."
      • addedInput schema / properties / slug / description
        Added value: +"Stable provider slug used for human-readable identity and duplicate checks."
      • addedInput schema / properties / website / description
        Added value: +"Optional public HTTPS/HTTP provider website URL."
    • Removedprovider.setStatus
    • Changedpurchase.status1 field changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Original client-generated idempotency key used for the paid x402 purchase; 8-160 characters."New value: +"Original client-generated idempotency key used for the paid x402 purchase; 8-160 ASCII characters."
    • Removedreceipt.get
    • Addedrequirement.check
    • Removedrequirements.check
    • Addedservice.list
    • Removedservices.list
    • Removedsettlement.getProviderBalance
    • Removedsettlement.listAllocations
    • Removedsettlement.markSettled
    • Addedsystem.health
    • Changedxkey.validate1 field changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Unique client-generated key for safe retry/deduplication; 8-160 characters. Reuse only when retrying the same intake."New value: +"Unique client-generated key for safe retry/deduplication; 8-160 ASCII characters. Reuse only when retrying the same intake."
  13. 17 tool updates
    • Changedcapability.get6 fields changed
      • addedInput schema / properties / capabilityId
        Added value: +{
        +  "$ref": "#/properties/name"
        +}
      • removedInput schema / properties / name / description
        Removed value: -"Exact deterministic x402 capability name returned by capabilities.list; 1-160 characters."
      • removedInput schema / properties / name / maxLength
        Removed value: -160
      • removedInput schema / properties / name / minLength
        Removed value: -1
      • addedInput schema / properties / name / pattern
        Added value: +"^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$"
      • removedInput schema / required
        Removed value: -[
        -  "name"
        -]
    • Addedcapability.purchase
    • Addedcapability.register
    • Addedcapability.search
    • Addedcapability.setStatus
    • Addedcatalog.list
    • Addedcommerce.quote
    • Addedcreator.apply
    • Addedjob.status
    • Addedmarketplace.describe
    • Addedprovider.get
    • Addedprovider.register
    • Addedprovider.setStatus
    • Addedreceipt.get
    • Addedsettlement.getProviderBalance
    • Addedsettlement.listAllocations
    • Addedsettlement.markSettled
  14. 26 tool updates
    • Removedcheck_requirements
    • Addedcost.estimate
    • Addedcredits.options
    • Removedcrossingkey.describe
    • Removeddiscover_provider
    • Removedestimate_cost
    • Removedexecution_preflight
    • Addedexecution.preflight
    • Removedfulfillment.get
    • Removedfulfillment.status
    • Removedget_offer
    • Removedget_request_credit_links
    • Removedlist_capabilities
    • Removedlist_offers
    • Removedlist_request_services
    • Addedoffers.list
    • Addedpayment.verify
    • Removedpayment.verify_onchain
    • Removedpreview_result_schema
    • Addedprovider.describe
    • Changedpurchase.status1 field changed
      • addedInput schema / properties / idempotency_key / pattern
        Added value: +"^[A-Za-z0-9._:-]+$"
    • Addedrequirements.check
    • Addedresult.preview
    • Addedservices.list
    • Removedxkey_validate_intake
    • Addedxkey.validate
  15. 19 tool updates
    • Changedcapability.get1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Exact deterministic x402 capability name returned by capabilities.list; 1-160 characters."
    • Changedcapability.quote1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Exact deterministic x402 capability name returned by capabilities.list; 1-160 characters."
    • Changedcheck_requirements1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Exact offer or paid-capability identifier whose prerequisites should be checked; 1-160 characters."
    • Changedentitlement.inspect1 field changed
      • addedInput schema / properties / id / description
        Added value: +"CrossingKey entitlement identifier returned by a successful paid purchase; 1-200 characters."
    • Changedestimate_cost1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Exact offer or paid-capability identifier returned by discovery; 1-160 characters."
    • Changedexecution_preflight1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Exact offer or paid-capability identifier to evaluate immediately before payment or credit-consuming execution; 1-160 characters."
    • Changedfulfillment.get1 field changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Original client-generated idempotency key for the paid x402 purchase; 8-160 characters."
    • Changedfulfillment.status1 field changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Original client-generated idempotency key for the paid x402 purchase; 8-160 characters."
    • Removedget_fulfillment_status
    • Changedget_offer1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Exact offer or paid-capability identifier returned by list_offers or list_capabilities; 1-160 characters."
    • Removedget_stripe_checkout_link
    • Changedlist_capabilities1 field changed
      • addedInput schema / properties / access / description
        Added value: +"Optional catalog filter: 'all', 'free', or 'paid'. Defaults to 'all'."
    • Changedlist_offers3 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Optional offer-kind filter: 'all', 'digital', or 'service'. Defaults to 'all'."
      • addedInput schema / properties / max_price_usd / description
        Added value: +"Optional inclusive maximum advertised USD price, from 0 through 1000000."
      • addedInput schema / properties / query / description
        Added value: +"Optional case-insensitive text search across public offer metadata; 1-160 characters."
    • Removedlist_stripe_offers
    • Changedpayment.verify_onchain2 fields changed
      • addedInput schema / properties / receiptId / description
        Added value: +"Optional CrossingKey receipt identifier beginning with ck_. Provide receiptId, txHash, or both."
      • addedInput schema / properties / txHash / description
        Added value: +"Optional Base transaction hash in 0x-prefixed 32-byte hexadecimal form. Provide txHash, receiptId, or both."
    • Changedpreview_result_schema1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Exact offer or paid-capability identifier whose result or fulfillment shape should be previewed; 1-160 characters."
    • Changedpurchase.status1 field changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Original client-generated idempotency key used for the paid x402 purchase; 8-160 characters."
    • Changedreceipt.verify1 field changed
      • addedInput schema / properties / receipt / description
        Added value: +"Complete CrossingKey receipt object whose deterministic integrity binding should be recomputed."
    • Changedxkey_validate_intake2 fields changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Unique client-generated key for safe retry/deduplication; 8-160 characters. Reuse only when retrying the same intake."
      • addedInput schema / properties / raw_intake / description
        Added value: +"Raw intake text to validate and normalize; 2-100000 characters."
  16. 1 tool update
    • Addedpayment.verify_onchain
  17. 25 tool updates
    • First observedcapabilities.list
    • First observedcapability.get
    • First observedcapability.quote
    • First observedcheck_requirements
    • First observedcrossingkey.describe
    • First observeddiscover_provider
    • First observedentitlement.inspect
    • First observedestimate_cost
    • First observedexecution_preflight
    • First observedfulfillment.get
    • First observedfulfillment.status
    • First observedget_fulfillment_status
    • First observedget_offer
    • First observedget_request_credit_links
    • First observedget_stripe_checkout_link
    • First observedhealth
    • First observedlist_capabilities
    • First observedlist_offers
    • First observedlist_request_services
    • First observedlist_stripe_offers
    • First observedpayment.methods
    • First observedpreview_result_schema
    • First observedpurchase.status
    • First observedreceipt.verify
    • First observedxkey_validate_intake

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.