PaidHandshake Exchange
Server Details
Verified agent commerce plus worker-published structured intelligence and machine payments.
- Status
- Healthy
- Uptime
- 99.8% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 18 tools
The descriptions are unusually explicit about when to use each tool and which alternatives to avoid, which makes most boundaries clear. However, the large set of read-only discovery tools (inventory, samples, catalog, capability map, onboarding, payment options) overlaps enough that an agent may still hesitate between some of them.
All tools use a consistent snake_case verb_noun pattern, with clear action prefixes such as get_, create_, list_, set_, quote_, submit_, and search_. The few brand-specific names (e.g., get_paidhandshake_capabilities) still fit the overall convention.
At 18 tools, the set is slightly heavy but the domain spans discovery, quoting, checkout, wallet/payment rails, machine jobs, recurring watches, samples, and fulfillment verification. Most tools appear to earn their place rather than being redundant.
The surface covers the core lifecycle for searching, pricing, paying, submitting/polling machine jobs, managing recurring watches, and inspecting inventory/intelligence samples. Minor gaps exist, such as no delete/edit-query for watches, no cancel/list for jobs, and no direct wallet-funding tool, but agents can work around most of these.
Available Tools
18 toolscreate_checkoutAInspect
Create a Stripe Checkout URL after a PaidHandshake search when a buyer wants to authorize access to locked results. This tool only creates the checkout handoff and never silently charges the buyer. Use get_unlock_quote first if the buyer only needs pricing, and do not use this for recurring watches or machine-wallet jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| package | Yes | Result package to purchase: single unlocks one selected result, top3 unlocks the next three ranked results, and full unlocks the full available result pack. | |
| result_id | No | Required only when package=single. Use the result identifier from the locked preview returned by search_matches. | |
| search_id | Yes | Reusable search identifier returned by search_matches for the result set being purchased. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose a key trait: 'only creates the checkout handoff and never silently charges the buyer,' which rules out a charge-on-create reading. However it omits other behavioral facts an agent would need, such as whether the URL is returned, URL expiry/reuse, idempotency of repeated calls, and any permission prerequisites.
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 sentences, no waste, and the purpose is front-loaded ahead of the routing guidance. Every clause either states intent or routes the agent to an alternative.
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 3-parameter handoff tool with no output schema, the description covers purpose, the safety-relevant no-silent-charge guarantee, and sibling routing, which is close to sufficient. It would be fully complete with a note on what is returned (the URL) and any auth or expiry constraints.
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 100%, so the enum values (single/top3/full) and the search_id/result_id sources are already fully documented in the schema. The description adds no parameter-level detail beyond that, so the baseline 3 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?
Specific verb and resource: 'Create a Stripe Checkout URL' after a PaidHandshake search for a buyer authorizing access to locked results. It also distinguishes itself from siblings by naming get_unlock_quote and by excluding recurring watches and machine-wallet jobs.
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?
Explicit when-to-use (buyer wants to authorize access to locked results), when-not-to-use (recurring watches, machine-wallet jobs), and the alternative for the adjacent intent (get_unlock_quote if the buyer only needs pricing). 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.
create_recurring_paid_watchAInspect
Authenticated: create a new recurring paid watch for repeated research or monitoring. Each execution is a normal paid machine job bounded by max_price_cents plus the machine's delegated spending limits; cadence must be 60-10080 minutes. Use this only to create a new watch; use set_recurring_paid_watch to enable/disable an existing watch and submit_paid_machine_job for one-time work.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional human-readable label for the watch. | |
| query | Yes | The recurring research or monitoring request to execute on each scheduled run. | |
| task_type | No | Optional execution category used to route each run to a compatible worker; omit when the query itself is sufficient for routing. | |
| constraints | No | Optional reusable execution constraints applied to every run, such as location, filters, maximum results, verification requirements, or exclusions. | |
| cadence_minutes | No | Minutes between scheduled runs. Minimum 60 minutes; maximum 10080 minutes (7 days). | |
| max_price_cents | Yes | Maximum price in USD cents allowed for each individual run before the job is rejected rather than overspending. | |
| run_immediately | No | If true, request an initial run immediately after watch creation; if false or omitted, wait for the normal cadence. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the authentication requirement, that each run is a normal paid job bounded by max_price_cents plus delegated spending limits, and the 60-10080 minute cadence bound, with the 'rejected rather than overspending' behavior made explicit. It stops short of stating what happens to the watch on failure or partial-run outcomes, so it is strong but not exhaustive.
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?
Three sentences, front-loaded with the purpose, then cost/cadence constraints, then the sibling routing rule. Nearly every clause earns its place; the 'Authenticated:' prefix is a slightly abrupt lead-in but still useful.
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 seven-parameter mutation with a nested constraints object and no output schema, the description covers purpose, prerequisites (auth), cost bounding, cadence limits and sibling routing. The remaining gap is the absence of any hint about the created watch's identifier/return, which is minor given no output schema is declared.
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 100%, so all seven parameters are already documented in the schema, establishing a baseline of 3. The description reinforces cost semantics (per-run cap plus delegated spending limits) but adds no syntax or format detail beyond what the schema provides.
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?
States a specific verb+resource ('create a new recurring paid watch') and the use case (repeated research or monitoring). It explicitly differentiates itself from set_recurring_paid_watch and submit_paid_machine_job, so an agent can route correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('only to create a new watch') and names both alternatives with their own conditions: set_recurring_paid_watch for enable/disable of an existing watch, submit_paid_machine_job for one-time work. 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.
get_free_data_sampleARead-onlyIdempotentInspect
Free, read-only preview of one canonical PaidHandshake inventory feed. Returns one paid-eligible verified record when available; quality-held candidates are never substituted. Use get_live_inventory first to discover feed inventory and use get_published_intelligence_sample instead for worker-published intelligence products.
| Name | Required | Description | Default |
|---|---|---|---|
| feed | Yes | PaidHandshake feed slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: it returns exactly one paid-eligible verified record when available, and quality-held candidates are never substituted — a meaningful data-quality guarantee an agent cannot infer from annotations or schema.
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?
Three tight sentences, front-loading the core purpose before the routing guidance and the data-quality caveat. No filler or restatement of the tool name.
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?
There is no output schema, so the description must carry return-value meaning — it states what is returned (one paid-eligible verified record, quality-held candidates excluded). It does not describe the record's fields, but for a one-parameter sample tool this is close to 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?
Schema description coverage is 100%, and the single 'feed' parameter carries an enum of seven self-explanatory slugs, so the schema does the heavy lifting. The description only frames the parameter conceptually ('one canonical PaidHandshake inventory feed') without adding format or selection guidance beyond the enum.
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?
States a specific verb and resource ('read-only preview of one canonical PaidHandshake inventory feed') and constrains scope to a single feed. It explicitly names the sibling it is NOT (get_published_intelligence_sample), so an agent can disambiguate 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite ('Use get_live_inventory first to discover feed inventory') and an explicit exclusion routed to an alternative ('use get_published_intelligence_sample instead for worker-published intelligence products'). Both when-to-use and when-not-to-use are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fulfillment_proofAInspect
Free, read-only operational proof that PaidHandshake has active fulfillment capacity. Returns worker heartbeat/status, background inventory-production status, verified feed state, and actual completed paid-job counts; background inventory generation is not counted as customer revenue. Use this for platform/fulfillment verification, not for browsing purchasable inventory or polling one specific paid job.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety profile itself: it declares the tool free and read-only and spells out the returned signals (worker heartbeat/status, feed state, completed paid-job counts). The caveat that background inventory generation is not counted as customer revenue preempts a plausible misreading of the counts. It stops short of operational detail such as auth requirements, rate limits, or data freshness.
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 sentences, front-loaded with the identity of the tool and the proof it provides, then the routing guidance. Dense but each clause carries information; the return-field enumeration and the revenue caveat both earn their space.
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 no annotations, the description does the heavy lifting by enumerating what is returned and qualifying what the counts mean. That is enough for an agent to call and interpret it, though freshness or invocation cost details are absent.
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 and the schema is an empty object, so there is nothing for the description to disambiguate. Baseline for a parameterless tool applies; no misleading param language is present.
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?
States a specific verb and resource (get fulfillment proof = operational evidence PaidHandshake has active fulfillment capacity) and enumerates the four signal classes returned. It also positions itself against siblings by ruling out inventory browsing (get_live_inventory) and single-job polling (get_paid_machine_job), so an agent can route correctly without opening another schema.
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?
Contains an explicit when-to-use ('platform/fulfillment verification') plus two when-not cases that map cleanly onto named sibling concepts: purchasable inventory and polling one specific paid job. Nothing is left to inference about the appropriate call site.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_inventoryARead-onlyIdempotentInspect
Free, read-only snapshot of canonical PaidHandshake inventory feeds, including paid-eligible counts, quality holds, freshness, prices and sample URLs. Use this as the starting point for known feed inventory; use get_free_data_sample for one feed sample, get_published_intelligence_catalog for worker-published products, and search_matches for ad hoc web discovery.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| feeds | No | |
| snapshot_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing cost ('Free'), the snapshot nature (point-in-time view of canonical feeds), and the scope of included metrics.
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 sentences, both dense and front-loaded: the first defines the resource and payload, the second routes the agent among siblings. No 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?
An output schema exists so return values need no prose, and annotations cover the safety profile. With zero parameters, the description supplies everything an agent needs to choose and invoke this 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 takes zero parameters, so there is no parameter semantics to explain; baseline for a parameterless tool is 4.
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?
States a specific verb+resource (read-only snapshot of canonical PaidHandshake inventory feeds) and enumerates the payload (paid-eligible counts, quality holds, freshness, prices, sample URLs). This clearly distinguishes it from the sibling catalog and sample 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?
Explicitly positions itself as 'the starting point for known feed inventory' and names three alternatives with the condition each suits: get_free_data_sample for one feed sample, get_published_intelligence_catalog for worker-published products, search_matches for ad hoc web discovery. 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.
get_machine_onboardingAInspect
Free, read-only onboarding guide for autonomous buyers. Returns the self-service machine enrollment route plus Stripe wallet-funding, paid-job submission/polling, recurring-watch, and related machine endpoints. Use this when an agent needs to become a PaidHandshake machine buyer or discover the required API flow; use get_machine_wallet after authentication to inspect an existing machine account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does part of that work well: it declares the call is 'Free, read-only,' which tells the agent no auth or mutation risk is involved. It does not state pagination, rate limits, or response format details, but the read-only/free framing plus the enumerated contents cover the most decision-relevant traits.
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, dense but front-loaded with the core purpose and terminating with the alternative-tool routing. Every clause adds information (free, read-only, the returned endpoint families, the sibling alternative), though the enumerated endpoint list is somewhat crowded.
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?
There is no output schema, so the description must convey return content, and it does so by naming the endpoint families the guide covers. The closing 'related machine endpoints' is a slightly vague catch-all, and the response shape (a guide document vs. structured JSON) isn't specified, leaving a small gap for a discovery 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 takes zero parameters, so per the rubric the baseline is 4. The description adds no parameter-level detail because none is needed or possible here.
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 ('onboarding guide' / 'machine enrollment route') and enumerates the payload it returns (Stripe wallet-funding, paid-job submission/polling, recurring-watch endpoints). It explicitly distinguishes itself from the sibling get_machine_wallet, so an agent can route 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-to-use condition ('when an agent needs to become a PaidHandshake machine buyer or discover the required API flow') and an explicit alternative with its precondition ('use get_machine_wallet after authentication to inspect an existing machine account'). The selection logic between the two tools is fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_machine_payment_optionsARead-onlyIdempotentInspect
Free, read-only discovery of machine payment rails available or activation-ready for PaidHandshake, including Stripe-funded delegated wallets and x402 Base-USDC where active. Use this when an autonomous buyer needs to choose how to pay; use get_machine_wallet to inspect one authenticated machine's actual wallet balance and spending limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint, idempotentHint, destructiveHint=false and closed-world hints, so the safety profile is covered. The description adds value beyond that: it is 'Free', and it discloses the availability states ('available or activation-ready', 'where active'), which tells the agent results may be conditional. It stops short of describing result shape or sorting, keeping it at a 4.
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 sentences, zero waste. The what is front-loaded, and the usage/alternative guidance follows immediately without 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?
With no output schema and no parameters, the description carries the burden of telling the agent what it gets back, and it does so at a conceptual level (list of payment rails with states). It does not specify result structure or ordering, but annotations and sibling context make this sufficient for correct 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?
Zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-arg tool is 4. The text correctly implies no input is required.
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?
States a specific verb and resource ('read-only discovery of machine payment rails') and scopes it precisely to PaidHandshake, naming concrete rail types (Stripe-funded delegated wallets, x402 Base-USDC). It distinguishes itself from get_machine_wallet by contrasting discovery of options with inspection of one wallet.
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?
Explicitly states when to use it ('an autonomous buyer needs to choose how to pay') and names the alternative with its own selection condition (get_machine_wallet for inspecting an authenticated machine's balance and limits). 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.
get_machine_walletARead-onlyIdempotentInspect
Authenticated, read-only wallet status for the current machine buyer. Returns wallet balance and delegated spending limits without moving funds. Use this before submit_paid_machine_job to verify available budget; use get_machine_payment_options to discover funding and payment rails rather than account-specific balances.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnly, idempotent, non-destructive), so the bar is lower; the description nonetheless adds real context beyond them: an authentication requirement, that it exposes balance and delegated spending limits, and that no funds move. It stops short of return format or freshness details, keeping it below 5.
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?
Three tight sentences, all front-loaded: identity/scope first, then when-to-use and the alternative in a single closing sentence. Every clause carries 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?
With no output schema, the description compensates by naming what is returned (wallet balance and delegated spending limits) and confirming the read-only, no-funds-moved property. For a zero-parameter read tool this is 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 tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. Schema coverage is 100% (empty object), so this dimension is inherently non-blocking.
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?
States a specific verb and resource ('read-only wallet status for the current machine buyer') and immediately bounds the scope ('without moving funds'). An agent can distinguish it from nearby money tools without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('Use this before submit_paid_machine_job to verify available budget') and names a sibling with the disambiguating condition ('get_machine_payment_options to discover funding and payment rails rather than account-specific balances'). 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.
get_paidhandshake_capabilitiesARead-onlyIdempotentInspect
Free, read-only capability map for PaidHandshake Exchange. Returns available verified-data feed families, machine endpoints, payment rails, and operating rules. Use this first to understand what PaidHandshake can do; use get_machine_onboarding for enrollment and setup, and get_machine_wallet for an authenticated buyer's current balance and spending limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description usefully adds that the call is 'Free' (no cost/auth barrier), which is context beyond the annotations. It does not discuss rate limits or output shape, so it stops short of 5.
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 sentences, zero waste: the first front-loads what the tool is and returns, the second handles routing. Nothing is redundant with the name or annotations.
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-param, no-output-schema discovery tool with full annotation coverage, the description gives an adequate summary of the return categories and how to proceed afterwards. It is essentially complete; only a slightly richer sense of the return structure would push it higher.
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?
Zero parameters, so there is no argument semantics to explain and the baseline for a no-param tool is 4. The description correctly implies the tool is a zero-input discovery call.
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?
States a specific verb and resource ('capability map for PaidHandshake Exchange') and enumerates exactly what it returns: feed families, machine endpoints, payment rails, and operating rules. It is clearly distinguishable from siblings like get_machine_wallet or get_machine_onboarding 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this first' and names two alternatives with the conditions that select them: get_machine_onboarding for enrollment/setup and get_machine_wallet for authenticated balance/limits. This is a textbook when-to-use / alternative routing statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_paid_machine_jobAInspect
Authenticated, read-only polling for a previously submitted paid machine job. Use the job_id returned by submit_paid_machine_job to retrieve its current queued, working, completed, or failed state and any available result; use quote_paid_machine_job before submission, not this tool, when you only need a price estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | PaidHandshake job identifier returned by submit_paid_machine_job. Pass the exact job_id for the authenticated machine account whose status or completed result you want to retrieve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the authentication requirement, the read-only nature, and the lifecycle states (queued, working, completed, failed) plus availability of a result. It stops short of describing polling cadence, rate limits, or how long results persist, which leaves a small gap for a polling endpoint.
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 sentences, front-loaded with the core purpose, then routing guidance. Every clause earns its place and nothing is repeated from the schema.
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?
No output schema and no annotations, so the description must cover the return shape; it names the four possible states and mentions an optional result, which is enough to set expectations for a status poll. Minor gaps remain around result payload shape and polling behavior, but nothing an agent needs to invoke the tool 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?
Schema description coverage is 100%, so job_id's origin, format, and ownership scoping are already documented in the schema. The description restates that the id comes from submit_paid_machine_job without adding syntax or edge-case detail beyond the schema, so the baseline of 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?
States a specific verb and resource ('Authenticated, read-only polling for a previously submitted paid machine job') and enumerates the states it returns. It explicitly distinguishes itself from submit_paid_machine_job and quote_paid_machine_job, so 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the exact precondition (use the job_id returned by submit_paid_machine_job) and names the alternative for a different need ('use quote_paid_machine_job before submission, not this tool, when you only need a price estimate'). Both when-to-use and when-not-to-use are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_published_intelligence_catalogARead-onlyIdempotentInspect
Free, read-only catalog of structured intelligence products published by connected workers, including paid-eligible counts, prices, sample paths and x402 purchase routes. Use this to discover product names before calling get_published_intelligence_sample; use get_live_inventory instead for canonical PaidHandshake feed inventory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, non-openWorld, so the safety profile is covered; the description adds 'free' (no payment/quote step required) and enumerates the returned content types. It does not mention rate limits, auth, or result sizing, but for a zero-param read tool that is a minor omission.
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 sentences, no filler, with the scope statement first and the routing/alternative guidance second. Every clause 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?
With no output schema, the description compensates by enumerating the returned fields, and it covers use case plus sibling routing. An agent has everything needed to call it correctly and interpret the result at a high level.
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?
Zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description usefully notes the payload categories even though no parameters 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?
Specific verb+resource: a free, read-only catalog of structured intelligence products, with the payload spelled out (paid-eligible counts, prices, sample paths, x402 purchase routes). It explicitly distinguishes itself from both get_published_intelligence_sample and get_live_inventory.
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?
Gives both the when ('discover product names before calling get_published_intelligence_sample') and the when-not ('use get_live_inventory instead for canonical PaidHandshake feed inventory'). The alternative and the selecting condition are stated outright.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_published_intelligence_sampleAInspect
Free, read-only sample of one worker-published intelligence product. Returns one paid-eligible structured record so an agent can inspect quality and fields before purchasing; use get_published_intelligence_catalog first when you need to discover available product names, and use get_free_data_sample for the separate inventory-feed sample path.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Exact published-intelligence product key from get_published_intelligence_catalog. Select the product whose representative paid-eligible sample you want to inspect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it declares the operation is 'Free' and 'read-only' and that it returns 'one paid-eligible structured record' for inspection before purchase. It doesn't mention rate limits or any auth requirement, but for a free read-only sample the key behavioral facts are covered.
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?
Front-loaded with the essential nature of the tool ('Free, read-only sample...') followed by return semantics and sibling routing in a single dense sentence. Every clause earns its place, though the semicolon-chained alternatives make it slightly run-on.
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?
No output schema exists, so the description compensates by explaining the return ('one paid-eligible structured record' for inspecting quality and fields). Combined with the fully-covered single param and explicit sibling routing, an agent has enough to invoke correctly, though return fields aren't enumerated.
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 100%, so the single 'product' param and its enum are already fully documented in the schema. The description adds only framing ('one worker-published intelligence product') beyond the schema, which is the baseline expectation rather than extra value.
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?
States a specific verb and resource ('read-only sample of one worker-published intelligence product') and clarifies scope ('one paid-eligible structured record'). It explicitly distinguishes itself from two siblings, get_published_intelligence_catalog (discovery) and get_free_data_sample (inventory-feed path), so an agent can select it without opening other schemas.
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?
Gives the exact precondition and alternative routing: use get_published_intelligence_catalog first to discover product names, and get_free_data_sample for the separate inventory-feed sample path. The use case (inspect quality/fields before purchasing) is stated, so when-to-use and when-to-use-something-else are both explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_unlock_quoteARead-onlyIdempotentInspect
Free, read-only pricing lookup for locked results from an existing search_matches search. Returns the currently available unlock packages and prices for the supplied search_id without creating checkout or charging the buyer. Use create_checkout only after a buyer chooses a package; use search_matches first if you do not yet have a search_id.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes | Reusable PaidHandshake search identifier returned by search_matches. Pass the exact search_id whose currently available result-unlock packages and prices you want to inspect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description adds the meaningful business context that the lookup is free and neither creates checkout nor charges the buyer. It does not describe return shape or any rate/refresh behavior, so it stops short of full 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?
Three tight sentences, front-loaded with the free/read-only nature of the call, followed by outcome ('returns packages and prices') and then routing guidance. No redundant or throwaway text.
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, no-output-schema tool, the description covers purpose, side-effect profile, and workflow placement. The only gap is the precise return structure (package fields, price format), which an agent must infer from the prose.
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 coverage is 100% and the single search_id parameter is fully documented in the schema itself. The description only restates that the exact search_id from search_matches should be passed, adding no syntax or format detail 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.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: a free, read-only pricing lookup for unlock packages tied to an existing search_matches search_id. It distinguishes itself from the checkout sibling by explicitly stating it does not create checkout or charge the buyer.
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?
Explicit routing: use create_checkout only after a buyer picks a package, and use search_matches first if no search_id exists. Both the successor and the prerequisite are named with their selecting conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recurring_paid_watchesARead-onlyIdempotentInspect
Authenticated, read-only listing of recurring paid watches belonging to the current machine buyer. Returns the buyer's saved watches and their current identifiers, configuration and enabled status. Use this to obtain a watch_id before set_recurring_paid_watch; use create_recurring_paid_watch to create a new watch.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive safety profile, so the bar is lower, yet the description still adds that access is authenticated and describes what is returned (saved watches with identifiers, configuration, enabled status). This is useful extra context, though it says nothing about pagination or limits for a listing operation.
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?
Three tight sentences: capability and scope first, return content second, sibling routing last. Every sentence carries distinct information with no 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?
With no output schema present, the description compensates by summarizing the return payload (identifiers, configuration, enabled status), and with zero parameters and covered annotations nothing an agent needs to call it 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?
The tool takes zero parameters, so the baseline is 4 and there is nothing in the schema requiring explanation. No parameter semantics are needed here.
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?
States a specific verb and resource ('listing of recurring paid watches') plus scope ('belonging to the current machine buyer'), which immediately separates it from the sibling write tools. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use it to obtain a watch_id before set_recurring_paid_watch, and use create_recurring_paid_watch to make a new watch. The when-to-use condition and both alternatives are named directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_paid_machine_jobAInspect
Free, read-only price estimate for delegated machine work before any job is submitted or money is reserved. Use this for custom public-web research, sourcing, verification, or commercial-intelligence tasks; after accepting the quote, use submit_paid_machine_job for execution. Unknown task labels may be mapped to a compatible live-worker capability.
| Name | Required | Description | Default |
|---|---|---|---|
| task_type | Yes | Requested work category or intent label, such as event_search, bid_search, vendor_search, grant_search, deep_research, or another descriptive task label. | |
| constraints | No | Optional task-specific requirements such as location, date range, maximum results, verification requirements, exclusions, budget, or other execution constraints used to estimate the job. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the safety profile, and it does: 'free,' 'read-only,' and no money reserved until acceptance. It also discloses a fallback behavior ('unknown task labels may be mapped to a compatible live-worker capability'). Auth requirements, rate limits, and return shape are not covered, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences, front-loaded with the defining property (free, read-only estimate) and then sequencing and edge-case behavior. No 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 quote/estimate tool with no output schema and no annotations, the description covers purpose, routing to the execution sibling, cost/safety profile, and label-mapping fallback. It stops short of describing the quote payload, but that is a minor 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 100%, so the schema already documents task_type and the constraints object in detail. The description restates the same task-label categories (research, sourcing, verification) without adding syntax, format, or constraint-handling 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — a 'free, read-only price estimate for delegated machine work' — and immediately scopes it as happening 'before any job is submitted or money is reserved.' This clearly separates it from the execution sibling submit_paid_machine_job and the retrieval sibling get_paid_machine_job.
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?
Explicitly names the alternative and the sequencing condition: 'after accepting the quote, use submit_paid_machine_job for execution.' It also enumerates qualifying work types (custom public-web research, sourcing, verification, commercial intelligence), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_matchesAInspect
Read-only discovery search across current public or authorized web information when the request is not already covered by a known PaidHandshake inventory product. Returns one evidence-bearing proof result, locked ranked previews, pricing, and a reusable search_id. Use get_live_inventory/get_free_data_sample for known inventory products instead, and use quote_paid_machine_job for delegated custom research work.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language discovery request, 3-600 characters. Include meaningful constraints such as location, timing, budget, product/service type, opportunity type, or other criteria needed to rank relevant current results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden; it declares the tool read-only and discloses what comes back (one evidence-bearing proof result, locked ranked previews, pricing, a reusable search_id). It does not cover auth requirements, rate limits, or pagination, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose front-loaded, then outputs, then alternatives; no wasted text. The first sentence is dense but still readable. Slightly heavy but earns its content.
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 steps in to describe the return payload (proof result, previews, pricing, search_id), and with no annotations it supplies the read-only nature. Only auth and pagination behavior remain unaddressed, which is a minor gap for a discovery 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?
Schema description coverage is 100% and the single 'query' parameter is fully documented with length bounds, constraint types, and intent. The description adds no meaning beyond the schema for the parameter itself, so baseline 3 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?
States a specific verb (search/discovery) and resource (current public or authorized web information), with the scope spelled out. It distinguishes itself from get_live_inventory, get_free_data_sample, and quote_paid_machine_job by name, so an agent can route correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the selection condition (use when the request is not already covered by a known PaidHandshake inventory product) and names the alternatives for known-inventory and custom-research cases. Both the when and the when-not paths are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_recurring_paid_watchAInspect
Authenticated state change for an existing recurring paid watch. Set enabled=true to allow future scheduled runs under the watch's saved cadence and spending limits, or enabled=false to stop future runs; this does not create a watch or edit its query. Use create_recurring_paid_watch to create one and list_recurring_paid_watches to obtain an existing watch_id.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | true enables future scheduled executions; false disables future scheduled executions for this watch. | |
| watch_id | Yes | Existing recurring watch identifier, typically returned by create_recurring_paid_watch or list_recurring_paid_watches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose key traits: the call requires authentication, it mutates only the enabled state of an existing watch, and disabling affects only future runs. It stops short of stating whether an in-flight run is cancelled, whether the change is reversible, or what the call returns.
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 compact sentences, front-loaded with the core state-change purpose and the enable/disable semantics, followed by the routing to sibling tools. No filler, and the negative scope ('does not create... or edit its query') 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 two-parameter mutation with no output schema and no annotations, the description covers auth, mutation scope, and sibling routing adequately. It omits only the return shape/idempotency details, which are minor for a simple boolean toggle.
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 100%, so both parameters are already documented; the description largely restates the enabled semantics (future scheduled executions on/off) and adds the note that cadence and spending limits are preserved. This adds marginal meaning beyond the schema, consistent with the baseline 3 for full coverage.
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?
States a specific verb and resource ('Authenticated state change for an existing recurring paid watch') and explicitly scopes what it is not: it does not create a watch or edit its query. This lets an agent separate it from create_recurring_paid_watch and the read-only list tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use branches (enabled=true for future scheduled runs under saved cadence/limits, enabled=false to stop future runs) and names the alternatives for the adjacent operations: create_recurring_paid_watch to create one and list_recurring_paid_watches to obtain an existing watch_id. 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.
submit_paid_machine_jobAInspect
Authenticated paid mutation that submits a one-time machine job after the buyer has accepted the task and spending cap. PaidHandshake authorizes work only inside the machine's delegated wallet and platform spending limits, routes it to a compatible worker capability, and returns a job_id for later polling with get_paid_machine_job. Use quote_paid_machine_job first when the price is not yet known; use create_recurring_paid_watch instead for repeated work.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language task to execute. Include the desired outcome and important location, timing, scope, evidence, filtering or result requirements. | |
| task_type | No | Optional routing label describing the work category or intent. Use a descriptive capability label when known; otherwise PaidHandshake can route compatible work from the request. | |
| constraints | No | Optional structured task requirements such as location, date range, maximum results, verification requirements, exclusions, budget or other execution limits. | |
| idempotency_key | No | Optional caller-generated stable key for the same intended paid submission. Reuse the same key when retrying an uncertain request so an accidental duplicate job can be avoided. | |
| max_price_cents | Yes | Maximum amount in USD cents this machine authorizes for this single job. The request remains subject to delegated wallet, per-call, daily, monthly and platform spending limits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish the mutation profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description adds real context beyond them: spending is bounded by the machine's delegated wallet and platform limits, work is routed to a compatible worker capability, and the call returns a job_id for polling. The idempotency_key in the schema is consistent with idempotentHint=false (opt-in, not inherent), so no contradiction.
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?
Three sentences, each load-bearing: the first defines the operation and its precondition, the second the spending/routing/return behavior, the third the alternatives. The core action is front-loaded in the opening clause with no 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?
Despite a five-parameter schema with a nested object and no output schema, the description covers everything an agent needs: auth requirement, spend authorization, routing behavior, return value (job_id) and how to consume it, plus alternative tools for adjacent cases. Nothing material 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?
Schema description coverage is 100%, so all five parameters are already fully documented, and the description names no parameter-specific formats or constraints beyond what the schema states. Baseline 3 applies when the schema carries the parameter burden.
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?
States a specific verb+resource ('submits a one-time machine job') along with the precondition ('after the buyer has accepted the task and spending cap'), and explicitly distinguishes itself from the recurring sibling. An agent can tell it apart from create_recurring_paid_watch and quote_paid_machine_job 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use routing: 'Use quote_paid_machine_job first when the price is not yet known; use create_recurring_paid_watch instead for repeated work.' It also names the authentication prerequisite and the buyer-acceptance precondition, leaving nothing to inference about when this tool is the right choice.
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.
2 tool updates
- Changed
get_unlock_quote1 field changed- added
Input schema / properties / search_id / descriptionAdded value: +"Reusable PaidHandshake search identifier returned by search_matches. Pass the exact search_id whose currently available result-unlock packages and prices you want to inspect."
- Changed
submit_paid_machine_job5 fields changed- added
Input schema / properties / constraints / descriptionAdded value: +"Optional structured task requirements such as location, date range, maximum results, verification requirements, exclusions, budget or other execution limits." - added
Input schema / properties / idempotency_key / descriptionAdded value: +"Optional caller-generated stable key for the same intended paid submission. Reuse the same key when retrying an uncertain request so an accidental duplicate job can be avoided." - added
Input schema / properties / max_price_cents / descriptionAdded value: +"Maximum amount in USD cents this machine authorizes for this single job. The request remains subject to delegated wallet, per-call, daily, monthly and platform spending limits." - added
Input schema / properties / query / descriptionAdded value: +"Natural-language task to execute. Include the desired outcome and important location, timing, scope, evidence, filtering or result requirements." - added
Input schema / properties / task_type / descriptionAdded value: +"Optional routing label describing the work category or intent. Use a descriptive capability label when known; otherwise PaidHandshake can route compatible work from the request."
7 tool updates
- Changed
create_checkout3 fields changed- added
Input schema / properties / package / descriptionAdded value: +"Result package to purchase: single unlocks one selected result, top3 unlocks the next three ranked results, and full unlocks the full available result pack." - added
Input schema / properties / result_id / descriptionAdded value: +"Required only when package=single. Use the result identifier from the locked preview returned by search_matches." - added
Input schema / properties / search_id / descriptionAdded value: +"Reusable search identifier returned by search_matches for the result set being purchased."
- Changed
create_recurring_paid_watch7 fields changed- added
Input schema / properties / cadence_minutes / descriptionAdded value: +"Minutes between scheduled runs. Minimum 60 minutes; maximum 10080 minutes (7 days)." - added
Input schema / properties / constraints / descriptionAdded value: +"Optional reusable execution constraints applied to every run, such as location, filters, maximum results, verification requirements, or exclusions." - added
Input schema / properties / max_price_cents / descriptionAdded value: +"Maximum price in USD cents allowed for each individual run before the job is rejected rather than overspending." - added
Input schema / properties / name / descriptionAdded value: +"Optional human-readable label for the watch." - added
Input schema / properties / query / descriptionAdded value: +"The recurring research or monitoring request to execute on each scheduled run." - added
Input schema / properties / run_immediately / descriptionAdded value: +"If true, request an initial run immediately after watch creation; if false or omitted, wait for the normal cadence." - added
Input schema / properties / task_type / descriptionAdded value: +"Optional execution category used to route each run to a compatible worker; omit when the query itself is sufficient for routing."
- Changed
get_paid_machine_job1 field changed- added
Input schema / properties / job_id / descriptionAdded value: +"PaidHandshake job identifier returned by submit_paid_machine_job. Pass the exact job_id for the authenticated machine account whose status or completed result you want to retrieve."
- Changed
get_published_intelligence_sample1 field changed- added
Input schema / properties / product / descriptionAdded value: +"Exact published-intelligence product key from get_published_intelligence_catalog. Select the product whose representative paid-eligible sample you want to inspect."
- Changed
quote_paid_machine_job2 fields changed- added
Input schema / properties / constraints / descriptionAdded value: +"Optional task-specific requirements such as location, date range, maximum results, verification requirements, exclusions, budget, or other execution constraints used to estimate the job." - added
Input schema / properties / task_type / descriptionAdded value: +"Requested work category or intent label, such as event_search, bid_search, vendor_search, grant_search, deep_research, or another descriptive task label."
- Changed
search_matches1 field changed- added
Input schema / properties / query / descriptionAdded value: +"Natural-language discovery request, 3-600 characters. Include meaningful constraints such as location, timing, budget, product/service type, opportunity type, or other criteria needed to rank relevant current results."
- Changed
set_recurring_paid_watch2 fields changed- added
Input schema / properties / enabled / descriptionAdded value: +"true enables future scheduled executions; false disables future scheduled executions for this watch." - added
Input schema / properties / watch_id / descriptionAdded value: +"Existing recurring watch identifier, typically returned by create_recurring_paid_watch or list_recurring_paid_watches."
2 tool updates
- Added
get_published_intelligence_catalog - Added
get_published_intelligence_sample
2 tool updates
- Changed
get_free_data_sample1 field changed- added
Input schema / properties / feed / descriptionAdded value: +"PaidHandshake feed slug"
- Changed
get_live_inventory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "feeds": { + "items": { + "properties": { + "paid_eligible_count": { + "type": "integer" + }, + "quality_hold_count": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "snapshot_id": { + "type": "string" + } + }, + "type": "object" +}
2 tool updates
- Changed
get_free_data_sample1 field changed- changed
Input schema / properties / feed / enumPrevious value: -[ - "rfp-procurement", - "business-buyer-intent", - "vendor-product-pricing" -]New value: +[ + "rfp-procurement", + "business-buyer-intent", + "vendor-product-pricing", + "local-service-availability", + "grants-funding", + "business-expansion-permits", + "jobs-contract-work" +]
- Added
get_machine_payment_options
8 tool updates
- Changed
create_checkout1 field changed- removed
Input schema / properties / result_id / descriptionRemoved value: -"Required only when package=single. Use the id from a locked preview."
- Added
create_recurring_paid_watch - Added
get_free_data_sample - Added
get_fulfillment_proof - Added
get_live_inventory - Added
list_recurring_paid_watches - Changed
search_matches1 field changed- removed
Input schema / properties / query / descriptionRemoved value: -"What the user or agent is trying to find. Include meaningful constraints such as location, budget, timing, or category."
- Added
set_recurring_paid_watch
9 tool updates
- First observed
create_checkout - First observed
get_machine_onboarding - First observed
get_machine_wallet - First observed
get_paid_machine_job - First observed
get_paidhandshake_capabilities - First observed
get_unlock_quote - First observed
quote_paid_machine_job - First observed
search_matches - First observed
submit_paid_machine_job
Publisher details
- Operator
- Tech-World LLC · Publisher source
- Operator website
- https://tech-worldllc.com · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://paidhandshake.com/agents · Publisher source
- Trust center
- Not available
- Restrictions
- Free discovery, inventory, samples, and quotes are available without payment. Paid fulfillment may require a machine identity and either a funded PaidHandshake wallet or x402 USDC payment on Base. No admin approval or custom OAuth app is required for public discovery or x402 purchases. · Publisher source
Related MCP Connectors
Paid agent work and paid verification, settled in USDC. Verified outcomes get signed receipts.
Payment identity intelligence for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables agent commerce with prepaid credits, authenticated bounded paid execution, and machine-readable fulfillment.-
- AlicenseBqualityDmaintenanceMachine-readable merchant verification infrastructure for AI shopping agents and agentic commerce systems.14MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to route tasks requiring human judgment (e.g., content moderation, refund decisions, data verification) to a vetted worker pool, with verified results returned via Lightning Network payments.MIT
- AlicenseNot gradedqualityDmaintenanceAI agent commerce platform — 141 tools for payments, escrow, identity, marketplace, and Z3 formal verificationMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.