PaidHandshake Exchange
REMOTE · PAIDHANDSHAKE.COM
Verified agent commerce plus worker-published structured intelligence and machine payments.
Available components
Last scanned (6 hours ago)
Scores higher than 61% of remote servers
Reachable. Last reached 18 Oct 2026.
Category Search and Retrieval
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 9 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability81
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2193 tokens (~121/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (6% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 17. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Oct 26 +2
- Stability: unverified → 0.10 ▲ functional
- 7 Oct 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Probed https://paidhandshake.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=paidhandshake.com | CN=SSL.com TLS Issuing RSA CA R1,O=SSL Corporation,C=US | 5 Oct 2026 | 21 Apr 2027 | RSA 2048 | SHA256-RSA | 33732e023b6ac0327e3203c4be6198a8 |
| SANs: paidhandshake.com, www.paidhandshake.com | ||||||
| CN=SSL.com TLS Issuing RSA CA R1,O=SSL Corporation,C=US (CA) | CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US | 21 Oct 2022 | 18 Oct 2032 | RSA 3072 | SHA256-RSA | 26b9ffe4596fa61e1af21c63d672748a |
| CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US (CA) | CN=SecureTrust CA,O=SecureTrust Corporation,C=US | 17 Dec 2025 | 30 Dec 2029 | RSA 4096 | SHA256-RSA | 7eb4274fc1d305be94c9883277f8467e2144f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of paidhandshake.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| paidhandshake.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| content-security-policy | default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self' https://checkout.stripe.com |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://paidhandshake.com/mcp | Verified | 200 | |
| http (plaintext) | http://paidhandshake.com/mcp | HTTPS enforced | 301 | https://paidhandshake.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
create_checkout ~156
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 | Type | Req | Description |
|---|---|---|---|
| package | string | 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 | integer | – | Required only when package=single. Use the result identifier from the locked preview returned by search_matches. |
| search_id | string | yes | Reusable search identifier returned by search_matches for the result set being purchased. |
No output schema declared.
No examples provided.
create_recurring_paid_watch ~269
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 | Type | Req | Description |
|---|---|---|---|
| cadence_minutes | integer | – | Minutes between scheduled runs. Minimum 60 minutes; maximum 10080 minutes (7 days). |
| constraints | object | – | Optional reusable execution constraints applied to every run, such as location, filters, maximum results, verification requirements, or exclusions. |
| max_price_cents | integer | yes | Maximum price in USD cents allowed for each individual run before the job is rejected rather than overspending. |
| name | string | – | Optional human-readable label for the watch. |
| query | string | yes | The recurring research or monitoring request to execute on each scheduled run. |
| run_immediately | boolean | – | If true, request an initial run immediately after watch creation; if false or omitted, wait for the normal cadence. |
| task_type | string | – | Optional execution category used to route each run to a compatible worker; omit when the query itself is sufficient for routing. |
No output schema declared.
No examples provided.
get_free_data_sample ~76
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 | Type | Req | Description |
|---|---|---|---|
| feed | string | yes | PaidHandshake feed slug |
No output schema declared.
No examples provided.
get_fulfillment_proof ~80
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_live_inventory ~79
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| feeds | array | – | – |
| snapshot_id | string | – | – |
No examples provided.
get_machine_onboarding ~81
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_machine_payment_options ~71
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_machine_wallet ~62
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_paid_machine_job ~110
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 | Type | Req | Description |
|---|---|---|---|
| job_id | string | 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. |
No output schema declared.
No examples provided.
get_paidhandshake_capabilities ~76
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_published_intelligence_catalog ~69
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_published_intelligence_sample ~108
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 | Type | Req | Description |
|---|---|---|---|
| product | string | yes | Exact published-intelligence product key from get_published_intelligence_catalog. Select the product whose representative paid-eligible sample you want to inspect. |
No output schema declared.
No examples provided.
get_unlock_quote ~108
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 | Type | Req | Description |
|---|---|---|---|
| search_id | string | 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. |
No output schema declared.
No examples provided.
list_recurring_paid_watches ~71
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
quote_paid_machine_job ~149
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 | Type | Req | Description |
|---|---|---|---|
| constraints | object | – | Optional task-specific requirements such as location, date range, maximum results, verification requirements, exclusions, budget, or other execution constraints used to estimate the job. |
| task_type | string | yes | Requested work category or intent label, such as event_search, bid_search, vendor_search, grant_search, deep_research, or another descriptive task label. |
No output schema declared.
No examples provided.
search_matches ~124
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 | Type | Req | Description |
|---|---|---|---|
| query | string | 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 relevan… |
No output schema declared.
No examples provided.
set_recurring_paid_watch ~131
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 | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | true enables future scheduled executions; false disables future scheduled executions for this watch. |
| watch_id | string | yes | Existing recurring watch identifier, typically returned by create_recurring_paid_watch or list_recurring_paid_watches. |
No output schema declared.
No examples provided.
submit_paid_machine_job ~277
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 | Type | Req | Description |
|---|---|---|---|
| constraints | object | – | Optional structured task requirements such as location, date range, maximum results, verification requirements, exclusions, budget or other execution limits. |
| idempotency_key | string | – | 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 | integer | 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. |
| query | string | yes | Natural-language task to execute. Include the desired outcome and important location, timing, scope, evidence, filtering or result requirements. |
| task_type | string | – | 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. |
No output schema declared.
No examples provided.
How do I install the PaidHandshake Exchange MCP server?
PaidHandshake Exchange is a hosted endpoint at https://paidhandshake.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · paidhandshake.com
claude mcp add --transport http com-paidhandshake-exchange 'https://paidhandshake.com/mcp'
What is the PaidHandshake Exchange MCP server?
PaidHandshake Exchange is an MCP server listed in the public MCP registry as com.paidhandshake/exchange. Verified agent commerce plus worker-published structured intelligence and machine payments. This page covers its hosted endpoint (https://paidhandshake.com/mcp).
Is the PaidHandshake Exchange MCP server safe to use?
PaidHandshake Exchange scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the PaidHandshake Exchange MCP server expose?
PaidHandshake Exchange exposes 18 tools: get_fulfillment_proof, get_live_inventory, get_published_intelligence_catalog, get_published_intelligence_sample, get_free_data_sample, and 13 more. Their descriptions and schemas cost roughly 2,097 tokens of context every time the server is loaded.
Does the PaidHandshake Exchange MCP server require authentication?
No. We connected to PaidHandshake Exchange without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the PaidHandshake Exchange MCP server still maintained?
PaidHandshake Exchange is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.