crossingkey-mcp
Server Details
CrossingKey MCP for agent commerce, x402 payments, deterministic execution, and verifiable receipts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 25 tools
Several tools occupy overlapping roles: capabilities.list versus list_capabilities, fulfillment.get/fulfillment.status versus get_fulfillment_status, and crossingkey.describe versus discover_provider. Descriptions add nuance, but the boundaries between qualification and status tools are often unclear.
Naming is split between dot-namespaced actions (capabilities.list, purchase.status, receipt.verify) and snake_case verbs (list_offers, get_stripe_checkout_link, execution_preflight). It also duplicates concepts under different forms, such as capabilities.list/list_capabilities and fulfillment.get/get_fulfillment_status, so no consistent pattern governs the whole set.
25 tools is at the high end and many do not earn their place: duplicate list/get tools and overlapping status/quotation endpoints inflate the surface. A leaner set of 15-18 tools could cover the same machine-commerce lifecycle without loss.
The set covers discovery, qualification, payment links, and fulfillment/status well, but there is no direct paid capability execution/result retrieval or cancellation/refund workflow. list_request_services also hints at an approval process with no corresponding tool, leaving notable gaps that agents must work around.
Available Tools
25 toolscapabilities.listARead-onlyInspect
FREE. Lists deterministic paid machine-commerce capabilities without executing them.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description mainly adds value by stating that the operation is FREE and that capabilities are listed without being executed. This adds useful cost and side-effect 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence front-loads the key fact (FREE) and then states the action and its non-executing nature. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation, the description is sufficient to select and invoke the tool: it names the result type and clarifies that nothing is executed. It does not describe the return shape, but the absence of an output schema makes this a minor gap, not a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so schema coverage is complete and there is no parameter meaning for the description to add. The baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the verb ('Lists') and the resource ('deterministic paid machine-commerce capabilities') and adds that it does not execute them. However, it does not distinguish this tool from the sibling `list_capabilities`, which appears to serve the same purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance or alternatives. The phrase 'without executing them' implies a read-only listing context, but it never says to prefer this over execution-related siblings or how it differs from `list_capabilities`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capability.getARead-onlyInspect
FREE. Returns one deterministic capability definition and exact advertised price.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
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 behavioral context beyond those annotations: the operation is FREE, returns exactly one result, is deterministic, and includes the exact advertised price. No contradictions with annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that leads with the most operationally important fact (FREE), then states the core behavior and output. Every word earns its place, and there is no filler or repetition of schema/annotation information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-parameter lookup with strong annotations, the description conveys the key behavioral facts and the return content at a useful level. The main gap is that 'capability definition' is not elaborated, and since there is no output schema, a slightly richer description of what a definition includes would improve completeness. Overall, quite adequate for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'name' parameter's meaning, format, or allowed values. The tool name and the word 'capability' imply that 'name' identifies a capability, but the description provides almost no compensation for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns'), a specific resource ('one deterministic capability definition'), and adds the unique qualifier 'exact advertised price'. This clearly distinguishes it from sibling tools like capabilities.list and capability.quote even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The words 'deterministic' and 'exact advertised price' imply this is the correct tool when you need the advertised price rather than a quote or list, but no explicit when-to-use or alternative guidance is given. The 'FREE' prefix is a useful selection signal, but exclusions and sibling comparisons are left unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capability.quoteARead-onlyInspect
FREE. Returns x402 v1 and v2 challenge requirements for one capability without executing or settling payment.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
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 adds that it is FREE and that it does not execute or settle payment, which is useful behavioral context. However, it does not disclose what the returned challenge requirements look like, whether they expire, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the key facts: free, returns challenge requirements, scoped to one capability, and does not execute or settle payment. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description is mostly adequate. However, it lacks guidance on the 'name' parameter format and does not clarify how this differs from sibling tools like capability.get or check_requirements, which an agent would need to select the correct tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description mentions 'one capability' which maps to the single required 'name' parameter, but it does not explain what format the name should take (e.g., capability ID vs. human-readable name) or provide examples. With only one parameter, the baseline is 4, but the lack of any format guidance reduces it to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns') and resource ('x402 v1 and v2 challenge requirements for one capability'), and distinguishes it from executing or settling payment. It is clear about what the tool does, though it does not explicitly differentiate from sibling tools like capability.get or check_requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it is a free, read-only quote for challenge requirements, and explicitly says it does not execute or settle payment. However, it does not state when to use this tool versus alternatives like capability.get or check_requirements, nor does it mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_requirementsCheck purchase or execution requirementsBRead-onlyInspect
FREE QUALIFICATION. Explains payment, authorization, fulfillment, and idempotency prerequisites.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds useful context by stating it is a 'FREE QUALIFICATION' and that it explains prerequisites, implying no side effects or charges. It does not contradict annotations and provides reasonable transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and mostly to the point. 'FREE QUALIFICATION.' adds some branding-like noise but does not make the description verbose or poorly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one unannotated parameter and no output schema, the description is not complete enough: it omits the meaning of id and does not explain what the returned 'explanation' looks like. It also lacks enough differentiation from several similar sibling tools to guide correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, id, has no description in the schema and the tool description does not explain what id refers to (e.g., offer ID, request ID, service ID). With zero schema description coverage, the description needed to compensate but did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: it explains payment, authorization, fulfillment, and idempotency prerequisites, which aligns with 'check purchase or execution requirements.' It is specific enough to convey the tool's function, though the phrase 'FREE QUALIFICATION' is somewhat cryptic and the exact resource being checked is not named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the title and description: users likely call this tool before purchase or execution to verify requirements. However, there is no explicit guidance about when to use this tool versus siblings like execution_preflight or estimate_cost, and no exclusions or alternative conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crossingkey.describeBRead-onlyInspect
FREE. Describes the receiver-only CrossingKey machine-commerce service and its safety boundaries.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 adds that the tool is 'FREE' and that it describes 'safety boundaries,' which gives some context about cost and content. However, it does not disclose what the actual output looks like (text, structured data, etc.) or whether any side effects occur, though annotations suggest none. It adds modest value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with 'FREE.' It is efficient with no wasted words. The key purpose and boundaries are stated directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only tool with annotations covering safety, the description is mostly adequate. However, it lacks specifics about what the agent will receive in the response (e.g., a plain-text overview, a structured object, a list of boundaries). The description is complete enough to make the call, but the output format is left to inference, which could lead to ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The schema covers the empty parameter set. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Describes') and a clear resource ('the receiver-only CrossingKey machine-commerce service and its safety boundaries'). It distinguishes itself from siblings by being a meta-level overview rather than a specific capability operation, though it doesn't explicitly contrast with any sibling. The purpose is clear and not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to call this tool versus its siblings. The description does not mention typical use cases, prerequisites, or alternatives. An agent would have to infer that this is an introductory or overview tool, but that is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_providerDiscover CrossingKey IntelligenceARead-onlyInspect
FREE DISCOVERY. Returns provider identity, commerce model, payment rails, policy, and next actions before payment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'FREE DISCOVERY' and 'before payment', making the non-destructive nature clear. However, the description does not go beyond the annotations to disclose additional behavioral traits such as whether the returned 'next actions' include actionable steps, the exact structure of policy information, or any rate limits. It adds minimal context beyond what annotations and the semantic summary already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the key constraint ('FREE DISCOVERY') and lists the specific categories of information returned. It avoids unnecessary words and every part contributes meaning. The additional usage/constraints fields in the definition are redundant but not part of the core description, and the core description itself is exceptionally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and is a read-only discovery endpoint, the description covers the essential information: what it returns (identity, commerce model, payment rails, policy, next actions) and when to use it (before payment). It lacks a bit of detail on the exact format of 'next actions' or what 'commerce model' entails, but for a zero-parameter free discovery tool, the description is sufficiently complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter descriptions to cover. The baseline for zero-parameter tools is 4, and the description appropriately focuses on the output rather than inputs. It does not need to explain any parameter semantics because there are none, and the schema confirms this with 100% coverage (empty properties).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns') and resource ('provider identity, commerce model, payment rails, policy, and next actions') and clearly indicates this is a discovery tool to be used before payment. It differentiates itself from siblings like 'check_requirements' and 'list_offerings' by focusing on provider-level discovery rather than requirements checking or simple listing, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and usage context explicitly state 'before payment' and 'Free to use, no payment required, read-only', which tells the agent when to use it: when considering a provider and needing to learn about their business model, payment methods, and next actions. It doesn't explicitly say when not to use it or name alternatives, but the context signal strongly implies the appropriate usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
entitlement.inspectARead-onlyInspect
FREE STATUS. Inspects entitlement state by identifier without granting execution or result access.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, so the description carries a lower burden. It adds value by stating 'without granting execution or result access', which is behavioral context beyond the annotations. It is consistent with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, front-loads 'FREE STATUS', and uses only two phrases with zero waste. It is immediately scannable and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only inspect tool with one parameter and no output schema, the description is mostly adequate. It covers purpose and behavior but does not describe the return format, potential errors, or any prerequisites. Given the simplicity, a 3 reflects acceptable completeness with room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only says 'by identifier', which adds minimal meaning beyond the parameter name 'id'. It does not clarify what kind of identifier, constraints, or format. A single-parameter tool still benefits from a clearer explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Inspects'), a resource ('entitlement state'), and a scope ('by identifier'). It also differentiates from sibling tools by explicitly noting it does not grant execution or result access, making its purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention conditions, exclusions, or sibling names. The phrase 'FREE STATUS' hints at a lightweight check, but the description lacks clear routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_costEstimate exact known costBRead-onlyInspect
FREE QUALIFICATION. Returns advertised USD price or request-credit cost without charging.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly and non-destructive. The description adds the critical behavioral fact that this estimate does not charge the user, which is not directly derivable from the annotations. This is meaningful context beyond the structured fields and is consistent with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the key value proposition. The 'FREE QUALIFICATION.' prefix is somewhat redundant with 'without charging' but does not add much waste. It is appropriately sized for a simple one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only one parameter, the description should clarify the meaning of 'id' and the conditions under which a cost is 'exact known'. It leaves the core input unexplained and does not specify the return format beyond saying it returns a price or cost. The description is not complete enough for an agent to invoke the tool correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter, 'id', with 0% schema description coverage, and the tool description does not explain what 'id' represents or how it is used. An agent has no way to know what ID to supply, making this a significant and unaddressed gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: it returns an advertised USD price or request-credit cost. The phrase 'without charging' distinguishes it from purchase/checkout tools like get_stripe_checkout_link. However, it does not explicitly name sibling tools or explain what entity 'id' refers to, so it falls just short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need a cost estimate before committing, especially with 'FREE QUALIFICATION' and 'without charging'. It does not provide explicit when-to-use/when-not-to-use guidance or name alternative tools such as get_offer or get_stripe_checkout_link, leaving the routing largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execution_preflightPreflight an agent purchase or executionBRead-onlyInspect
FREE QUALIFICATION. Final machine-readable no-charge decision point before payment or credit-consuming execution.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the important behavioral context that this is free and machine-readable, and that it is a final decision point before charges occur. It does not describe the decision values or any side effects, but for a read-only preflight tool the annotations plus description are reasonably adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, which is good, but the opening 'FREE QUALIFICATION' fragment is mostly redundant with 'no-charge decision point' later in the sentence. It is not verbose, but it is more under-specified than deliberately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the qualification decision looks like or what the caller can expect, but it only says 'machine-readable decision point.' It also leaves the id parameter unexplained. An agent could infer the basic purpose, but the definition is incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden of explaining the id parameter, but it never mentions id or what it refers to. The title implies the id relates to an agent purchase or execution, but the description itself adds no parameter meaning beyond the bare schema field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Preflight an agent purchase or execution' gives a specific verb and resource, and the description adds that this is a qualification decision point before payment or credit-consuming execution. It is clear what the tool does, though it does not explicitly differentiate itself from sibling tools like check_requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when to use this tool: before payment or credit-consuming execution. It provides useful temporal context, but it does not state when not to use it or name alternative tools, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fulfillment.getBRead-onlyInspect
FREE STATUS. Returns fulfillment identifiers and integrity binding but does not disclose paid result content.
| Name | Required | Description | Default |
|---|---|---|---|
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations by stating the call returns identifiers and integrity binding while deliberately withholding paid result content, which is useful for setting agent expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with 'FREE STATUS', followed by a single compact sentence defining the output scope. It wastes little space, though the cryptic leading phrase could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with annotations covering safety, the description gives a minimal but workable picture: it is a free/status operation returning identifiers and binding, not paid content. It remains incomplete because it does not explain the meaning of idempotency_key in this context or disambiguate from the many sibling status/get tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for idempotency_keyags, and schema description coverage is 0%. The description mentions 'fulfillment identifiers' but never explains that idempotency_key is the key used to identify the fulfillment, nor does it clarify how the key relates to the returned identifiers or integrity binding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Returns fulfillment identifiers and integrity binding') and clarifies a boundary ('does not disclose paid result content'). The phrase 'FREE STATUS' adds ambiguity but does not collapse into a tautology, and the attention to what is not returned helps distinguish this from content-returning tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a free/status-level lookup rather than a paid-content fetch, which gives some usage context. However, it does not explicitly say when to prefer this over close siblings like fulfillment.status, get_fulfillment_status, or purchase.status, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fulfillment.statusBRead-onlyInspect
FREE STATUS. Returns fulfillment state and result hash by purchase idempotency key.
| Name | Required | Description | Default |
|---|---|---|---|
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds the 'FREE STATUS' cost signal and the fact that a result hash is returned. It does not contradict annotations, but it also does not reveal auth requirements, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses with no bloat; 'FREE STATUS' is front-loaded and the main sentence concisely states input and output. The standalone 'FREE STATUS' is somewhat redundant, preventing a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool, the description covers the essential input and output. However, with no output schema, it leaves the shape or possible values of 'fulfillment state' and 'result hash' unspecified, and it does not clarify the relationship to similarly named siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name and length constraints, with 0% description coverage. The description clarifies that the parameter is a purchase idempotency key, adding domain meaning, but it does not explain where the key comes from or expected format beyond min/max length.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('fulfillment state and result hash') and a clear lookup key ('purchase idempotency key'), so an agent knows what the tool returns. It does not explicitly distinguish this from sibling tools like fulfillment.get or get_fulfillment_status, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by purchase idempotency key' implies the tool should be used when an agent has that key and needs fulfillment status. It gives no explicit guidance on when to prefer this over siblings or any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fulfillment_statusCheck fulfillment readinessARead-onlyInspect
Checks whether a Stripe offer has a verified delivery file bound to this server.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description's 'Checks whether' aligns with that read-only profile — no contradiction. The description adds genuine value beyond annotations by disclosing the operational criterion: the check is scoped to a 'verified delivery file bound to this server,' which clarifies the exact state being probed. It doesn't describe return shape, but for a safety-covered read operation the added criterion is meaningful context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. Every element — the verb, the resource, and the verification criterion — earns its place, and the description reads naturally with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with safety annotations, the core check is stated, but the return value is never described: an agent doesn't know whether it receives a boolean, a status string, or a richer object. With no output schema present, the description should hint at the result shape. The missing return semantics and implicit parameter identity are the main gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description bears the burden. It partially compensates by naming the resource type (Stripe offer), making it inferable that the single 'id' parameter is the offer identifier, but it never explicitly states what id refers to, its format, or provenance. Since there is only one simple string parameter and the resource is named, this is adequate but not thorough — a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (checks whether) with a clear resource (Stripe offer) and an outcome criterion (verified delivery file bound to this server). This distinguishes it from siblings like get_stripe_checkout_link and get_request_credit_links, since none of those reference delivery-file verification. It doesn't name a sibling explicitly, which prevents a 5, but the resource+criterion combination makes its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't state prerequisites (e.g., that an offer must already exist), exclusions, or conditions that would route an agent to a sibling like list_stripe_offers or get_stripe_checkout_link. The title 'Check fulfillment readiness' implies a follow-up-after-purchase context, but this is left to inference rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_offerGet offer detailsBRead-onlyInspect
FREE QUALIFICATION. Returns enough information to evaluate one offer before paying.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds meaningful context by stating the call is free and provides enough detail to evaluate an offer without committing to payment, which goes 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no waste. It is concise, though the uppercase 'FREE QUALIFICATION' phrase is slightly marketing-like and ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only one required parameter, the description should provide more detail about what offer information is returned and how to source the id. The pre-payment evaluation intent is clear, but 'enough information' remains vague, making the description minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the sole required 'id' parameter at all, and schema description coverage is 0%. It fails to explain what the id refers to or where an agent might obtain it, so the description adds no parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: it 'Returns enough information to evaluate one offer before paying.' This distinguishes it from list-oriented siblings like list_offers, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before paying' and 'FREE QUALIFICATION' imply this tool is for a pre-purchase evaluation step. However, it does not explicitly say when to choose this over siblings like estimate_cost or check_requirements, leaving usage largely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_request_credit_linksGet request-credit payment linksARead-onlyInspect
Returns the live Stripe Payment Links for prepaid CrossingKey request credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the readOnlyHint annotation and adds a minor detail ('live') about the data freshness. However, it does not disclose any additional behavior, side effects, or limitations beyond what the annotations already indicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the purpose without unnecessary filler. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with no parameters and no output schema, the description is sufficiently complete. It identifies what is returned and the context, though it could be slightly more explicit about the structure of the payment links or their intended use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is effectively 100%. The description does not need to explain parameters, and the baseline for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (returns), the resource (Stripe Payment Links), and the specific context (prepaidKey request credits). This makes the tool's purpose unambiguous and distinct from siblings like get_stripe_checkout_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling tools, such as get_stripe_checkout_link or list_stripe_offers. There is no mention of conditions or scenarios that would make this tool the preferred choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stripe_checkout_linkGet Stripe checkout linkARead-onlyInspect
Returns the exact Stripe Payment Link for a known CrossingKey offer. Never invents a checkout URL.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds a valuable behavioral guarantee: it never fabricates a checkout URL, ensuring accuracy. This goes beyond the annotations, which is meaningful for an agent relying on exact data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The primary purpose is front-loaded, and the second sentence adds a crucial reliability constraint. Every word earns its place; it's concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and annotations covering safety, the description is largely complete. It states what it returns (the exact link) and the precondition (known offer). It doesn't explain error behavior (e.g., what happens if the offer doesn't exist), but that's a minor gap given the simplicity and the read-only nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies that 'id' is the identifier for a known CrossingKey offer, which adds meaning beyond the raw schema. However, it doesn't explicitly specify the exact nature of the id (e.g., internal offer ID vs. Stripe object ID) or its format, leaving some ambiguity. A more explicit mapping would be stronger.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns'), a precise resource ('Stripe Payment Link'), and a clear condition ('for a known CrossingKey offer'). It clearly distinguishes from siblings like list_stripe_offers (which lists offers) and get_request_credit_links (other link types). The 'Never invents a checkout URL' reinforces the exactness, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you already have a known offer ID, and the 'Never invents' warning cautions against guessing URLs. However, it doesn't explicitly name alternatives or state when not to use it (e.g., 'use list_stripe_offers to find offers'). The context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
healthARead-onlyInspect
FREE. Returns local service readiness flags and the mainnet safety-gate state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value by specifying that it returns readiness flags and safety-gate state, and also that it is 'FREE', which conveys a cost behavior. However, it does not elaborate on what these flags mean or how the status is represented. Given the read-only nature, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the 'FREE' attribute and then states the exact purpose. Every word contributes, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a simple health-check function, the description is largely sufficient. It states what it returns, which covers the main need. However, it could be more complete by specifying the shape of the return value (e.g., booleans, status strings) or how to interpret the readiness flags, though this is a minor gap for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There are no parameters to explain, and the description does not need to add anything about them because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns') and a clear resource ('local service readiness flags and the mainnet safety-gate state'). It distinguishes the tool from its siblings, which focus on capabilities, offers, and payments, by clearly describing a health-check function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool or when to prefer an alternative. It only says 'FREE', hinting at no cost, but does not explain typical scenarios such as pre-flight checks or indicating that it should be called before other operations. No exclusions or comparisons are given either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_capabilitiesList machine capabilitiesBRead-onlyInspect
FREE DISCOVERY. Lists free and paid capabilities with access and charging metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| access | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true and destructiveHint=false. The description adds that the result includes access and charging metadata, clarifying the nature of the output. It does not contradict annotations, though it does not disclose pagination or exhaustiveness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is clear and compact. The prefixed 'FREE DISCOVERY.' is somewhat promotional and adds little functional value, but the description remains short and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only list tool, the description conveys the core return content. However, it does not state what the 'access' parameter does, what 'FREE DISCOVERY' means, or what the response shape looks like, leaving some ambiguity for an agent choosing between many list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema's single parameter 'access' has an enum (all/free/paid) that is fairly self-explanatory, but the description provides no explanation of the filter or its default behavior, and schema description coverage is 0%. The mention of 'free and paid capabilities' weakly aligns with the parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Lists' with a specific resource 'capabilities' and elaborates that they include free and paid variants with access and charging metadata. This distinguishes it from sibling list tools such as list_offers and list_stripe_offers, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this tool over alternatives. The 'FREE DISCOVERY' tagline hints at a discovery or zero-cost use case but does not state exclusions or compare with siblings like list_offers, discover_provider, or list_stripe_offers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_offersDiscover CrossingKey offersARead-onlyInspect
FREE DISCOVERY. Searches public offer metadata before payment.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| query | No | ||
| max_price_usd | No |
TDQS
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 adds value by indicating the tool is free, public, and pre-payment, which are behavioral traits beyond the annotations. It does not disclose pagination or result limits, but the annotation bar is lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences that both earn their place. The 'FREE DISCOVERY' label is front-loaded, and the core behavior is stated immediately without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple optional-parameter search tool with safety annotations, the description provides basic context: free discovery of public metadata before payment. However, with no output schema and no parameter descriptions, an agent cannot fully predict return shape or filtering semantics. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for lack of parameter documentation. It does not mention kind, query, or max_price_usd at all, leaving the agent with only property names and enum values to infer semantics. This is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches public offer metadata, which is a specific verb-resource combination. The 'before payment' qualifier distinguishes it from paid or Stripe-specific siblings like list_stripe_offers, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use this for free discovery of public offer metadata before payment. It does not explicitly state when not to use it or name sibling alternatives, but the context is strong enough for an agent to infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_request_servicesList paid request servicesARead-onlyInspect
Lists request services approved after the safe-file scan. Empty until services are explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 adds valuable behavioral context beyond annotations: that the list is empty until services are approved after a safe-file scan. This explains the state and the gating mechanism, which annotations don't provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no wasted words. The core action is stated first, followed by the crucial state condition. Everything earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema tool with annotations covering safety, the description is complete enough. It tells what the tool lists, under what condition, and when it is empty. An agent can decide to call it without additional missing information. Slightly more detail about return structure could be added, but it's not necessary given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100% (empty schema). With no parameters, there is nothing to explain. The description adds no parameter details because none exist, which is appropriate. Baseline of 4 for no parameters is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Lists' and a specific resource 'request services' with a clear condition ('approved after the safe-file scan'). This distinguishes it from sibling tools like list_stripe_offers or get_fulfillment_status, which handle different resources or purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need request services that have been approved. It states the list is empty until services are explicitly approved, giving clear context about the data state. It doesn't explicitly name alternatives or exclusions, but the context is sufficient for an 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.
list_stripe_offersList CrossingKey Stripe offersARead-onlyInspect
Lists the known CrossingKey Stripe Payment Links. Digital offers report whether the exact fulfillment file has been verified on this server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 known. The description adds that digital offers report whether the exact fulfillment file is verified, which is useful behavioral context beyond the annotations. However, it does not disclose any other side effects or output specifics, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words. It front-loads the primary purpose and immediately adds a relevant detail about digital offers. It is appropriately sized for a zero-parameter list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description covers the essential purpose and mentions the key verification flag for digital offers. It does not specify the full output structure (e.g., fields like name, price), but given the simplicity, this is a minor gap. The description is sufficiently complete for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers them. The description adds no parameter details because none are needed. Baseline for 0 params is 4, and there is no requirement to describe parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Lists') and a specific resource ('known CrossingKey Stripe Payment Links'), and the added clause about digital offers distinguishes it from the sibling get_stripe_checkout_link (singular). It unambiguously conveys this tool lists all offers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives or conditions, leaving the agent to infer that this is for listing all offers rather than getting a single link.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment.methodsARead-onlyInspect
FREE. Lists supported payment methods and explicitly reports the receiver-only wallet boundary.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description appropriately avoids repeating those. It adds valuable behavioral context by noting that the tool 'explicitly reports the receiver-only wallet boundary,' which is not covered by annotations and helps the agent anticipate the tool's output focus.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that leads with 'FREE' and immediately conveys the core action and unique output feature. Every word earns its place, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with no input, the description covers the primary purpose and a key output characteristic. It does not detail the exact return format or further explain what the receiver-only wallet boundary means, but that level of detail is not necessary for correct invocation. The provided info is sufficient for an agent to decide to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so there is nothing for the description to explain about inputs. The schema is trivially complete, and the description does not need to add parameter details. A baseline of 4 is appropriate for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Lists') and the resource ('supported payment methods'), and adds a distinctive detail ('explicitly reports the receiver-only wallet boundary') that sets it apart from sibling tools. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool vs. alternatives, nor does it mention any exclusions or prerequisites. With many sibling tools, the agent is left to infer the appropriate selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_result_schemaPreview result or fulfillment schemaBRead-onlyInspect
FREE QUALIFICATION. Shows expected result shape without revealing paid content.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is established. The description adds meaningful context beyond annotations: this is a free/preview operation that deliberately does not reveal paid content, only the expected shape. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and the main function is front-loaded. 'FREE QUALIFICATION' is slightly cryptic and could be clearer, but the description earns its length by conveying both the free access nature and the non-revealing behavior concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one required parameter, no output schema, and read-only annotations. The description covers the core behavior but leaves the meaning of 'id' unspecified, so an agent cannot fully determine what value to pass. Given the low complexity, this is a minimal viable definition with a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full responsibility for explaining the 'id' parameter. It does not explain what id refers to, such as an offer ID, request ID, or fulfillment ID. The agent must infer this from context and sibling tools, which is insufficient for confident invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Shows expected result shape') and a clear resource ('result or fulfillment schema'), and adds the key qualifier 'without revealing paid content.' It is clear about what the tool provides, though it does not explicitly differentiate from siblings like check_requirements or execution_preflight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'FREE QUALIFICATION' hints that this tool is intended as a no-cost way to preview schema shape before committing to paid content, and 'without revealing paid content' implies a filtering behavior. However, there is no explicit statement of when to use this tool versus alternatives, nor any exclusions or preferred sibling comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase.statusARead-onlyInspect
FREE STATUS. Returns the state of a machine-commerce purchase by its idempotency key without revealing paid result content.
| Name | Required | Description | Default |
|---|---|---|---|
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and destructiveHint, so the description correctly does not repeat those. It adds a meaningful behavioral guarantee: the endpoint deliberately withholds paid result content, and the 'FREE STATUS' prefix signals the status lookup is free. This goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with the key qualifier 'FREE STATUS' front-loaded. No words are wasted, and the most important behavioral distinction is stated up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only status tool with annotations covering safety, the description provides the essential invocation details: what is returned, how the purchase is identified, and what is intentionally omitted. It is slightly light on possible status values or error behavior, but the tool's simplicity keeps this gap minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It confirms that the sole parameter is an idempotency key used to identify the purchase, which adds a small amount of semantic context beyond the raw property name. However, it does not explain constraints, uniqueness expectations, or how a caller obtains a valid key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and resource ('state of a machine-commerce purchase'), and identifies the lookup mechanism ('by its idempotency key'). The phrase 'without revealing paid result content' differentiates this status tool from content-returning purchase endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need purchase state without paid content. However, it does not explicitly name alternatives or provide exclusions, despite sibling tools like fulfillment.status and get_fulfillment_status existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt.verifyBRead-onlyInspect
FREE. Recomputes the deterministic result hash embedded in a CrossingKey receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | Yes |
TDQS
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 adds that the hash computation is deterministic, but it does not disclose what happens for malformed receipts, whether it returns a match result, or how errors are surfaced. It does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence and the core operation is front-loaded. The 'FREE' prefix is extraneous but does not create meaningful bloat. Overall it is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the tool returns (e.g., a boolean match, a recomputed hash, or an error), but it does not. The receipt parameter's internal structure is also unaddressed, leaving the agent without enough context to confidently call the tool on potentially malformed input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required 'receipt' object with 0% schema description coverage, and the description only calls it a 'CrossingKey receipt' without explaining required fields or structure. The agent is left to infer what the receipt object must contain for the hash recomputation to work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation ('recomputes') and a specific resource ('deterministic result hash embedded in a CrossingKey receipt'), which clearly differentiates it from sibling list/get/describe tools. It tells an agent exactly what action this tool performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool versus alternatives like xkey_validate_intake or fulfillment.get. The 'FREE' prefix is not usage guidance. It neither specifies conditions that select this tool nor rules out other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xkey_validate_intakeValidate structured XKEY intakeCInspect
Paid bounded intake validation. Costs 1 prepaid credit on verified success. Safe validation failures release the reserved credit.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_intake | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the credit cost on success and the release on failure, which are behavioral traits not captured in the annotations. This provides useful transparency about side effects and resource consumption.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using only two sentences without unnecessary verbiage. However, the structure is somewhat disjointed, mixing payment details with the core function, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for effective agent use. It lacks details on the validation logic, expected input format, possible outputs (no output schema), and error conditions. Critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Neither the schema nor the description explains the meaning or expected format of 'raw_intake' or 'idempotency_key'. The description fails to compensate for the complete lack of parameter documentation, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Paid bounded intake validation' is vague and does not clearly state what the tool actually does or what 'intake' refers to. It focuses more on the payment model than on the validation functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the listed sibling tools. It does not mention any specific use case or selection criteria, leaving the agent without direction for appropriate invocation.
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.
25 tool updates
- First observed
capabilities.list - First observed
capability.get - First observed
capability.quote - First observed
check_requirements - First observed
crossingkey.describe - First observed
discover_provider - First observed
entitlement.inspect - First observed
estimate_cost - First observed
execution_preflight - First observed
fulfillment.get - First observed
fulfillment.status - First observed
get_fulfillment_status - First observed
get_offer - First observed
get_request_credit_links - First observed
get_stripe_checkout_link - First observed
health - First observed
list_capabilities - First observed
list_offers - First observed
list_request_services - First observed
list_stripe_offers - First observed
payment.methods - First observed
preview_result_schema - First observed
purchase.status - First observed
receipt.verify - First observed
xkey_validate_intake
Related MCP Connectors
- mcpOAuthai.agentgates
Confidential compute and inference sold to agents over x402 USDC, plus an agent wallet over MCP.
Agent Commerce Protocol MCP — bridges Stripe ACP + Google AP2 + Coinbase x402 for agent payments
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
Counterparty risk scoring for agentic commerce via x402 micropayments.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceFoundational MCP/A2A-native core platform for secure credential injection, native x402 micropayments, and Agent-to-Agent routing.2MIT
- AlicenseNot gradedqualityBmaintenanceProduction-grade suite of monetized tools for autonomous AI agent-to-agent commerce, enabling payments and task execution via x402 protocol and MCP.82 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for agentic commerce, enabling AI agents to discover services, make x402 payments with USDC across multiple chains, and manage crypto wallets and token swaps.119 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to access production-grade paid MCP tools with real on-chain x402 v2 settlement, including EVM wallet risk scoring, payload normalization, and facilitator discovery, all discoverable via Bazaar-compatible metadata.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.