protogrid

Search / com.paidhandshake/exchange

PaidHandshake Exchange

R0· no sign-in

Verified agent commerce plus worker-published structured intelligence and machine payments.

v2.9.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality73needs work
Trust83of 100
Uptime, 30 days100%
Latency p50340 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "exchange": {
      "type": "http",
      "url": "https://paidhandshake.com/mcp"
    }
  }
}
claude mcp add --transport http exchange https://paidhandshake.com/mcp
[mcp_servers.exchange]
url = "https://paidhandshake.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "exchange": {
      "type": "remote",
      "url": "https://paidhandshake.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "exchange": {
      "type": "http",
      "url": "https://paidhandshake.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=exchange&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcGFpZGhhbmRzaGFrZS5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "exchange": {
      "type": "http",
      "url": "https://paidhandshake.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "exchange": {
      "httpUrl": "https://paidhandshake.com/mcp"
    }
  }
}
extensions:
  "exchange":
    enabled: true
    name: "exchange"
    type: streamable_http
    uri: "https://paidhandshake.com/mcp"
    timeout: 300

Quality 73 / 100needs work

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list carries no ttlMs, so clients re-fetch it
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • warn
    tools.annotationsonly 9 of 18 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints9 of 18 tools declare all four hints; missing: get_published_intelligence_sample (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_matches (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_checkout (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,359 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes37 tool changes in 30 days
  • fail
    stability.rug_pull22 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

18 tools, about 3,359 tokens to load them all · tool set 1861e69a958e · tools last changed 2026-10-07 · checked 2026-10-19 10:52 UTC

Tool changes

  • get_paidhandshake_capabilitieschangeddescription, annotationsmeaning changed
    before

    Describe verified data feeds, machine endpoints, payment behavior, and operating principles.

    after · 15% of words in common

    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.

  • get_machine_walletchangeddescription, annotationsmeaning changed
    before

    Return wallet balance and delegated spending limits for the authenticated machine.

    after · 24% of words in common

    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.

  • set_recurring_paid_watchchangeddescription, input schemameaning changed
    before

    Authenticated: enable or disable a recurring paid watch.

    after · 14% of words in common

    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.

  • list_recurring_paid_watcheschangeddescription, annotationsmeaning changed
    before

    Authenticated: list recurring watches for the machine buyer.

    after · 17% of words in common

    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.

  • create_recurring_paid_watchchangeddescription, input schemameaning changed
    before

    Authenticated: create a recurring watch. Each run is a normal paid machine job bounded by max_price_cents and all delegated spending limits. Minimum cadence is 60 minutes.

    after · 44% of words in common

    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.

  • get_paid_machine_jobchangeddescription, input schemameaning changed
    before

    Poll a paid machine job using the authenticated phm_ bearer token.

    after · 13% of words in common

    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.

  • submit_paid_machine_jobchangeddescription, input schema, annotationsmeaning changed
    before

    Authenticated phm_ agents can submit custom or standard lawful paid work with max_price_cents. PaidHandshake preserves the requested task, routes execution to a compatible advertised worker capability, and auto-authorizes only inside delegated wallet, per-call, daily, monthly and platform limits.

    after · 29% of words in common

    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.

  • get_machine_onboardingchangeddescriptionmeaning changed
    before

    Return self-service enrollment, Stripe wallet funding, paid-job, watch and polling endpoints for autonomous buyers.

    after · 29% of words in common

    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.

  • get_machine_payment_optionschangeddescription, annotationsmeaning changed
    before

    Free: return active and activation-ready machine payment rails, including Stripe-funded delegated wallets and x402 Base-USDC endpoints when activated.

    after · 35% of words in common

    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.

  • quote_paid_machine_jobchangeddescription, input schemameaning changed
    before

    Free: quote almost any lawful public-data/public-web research, sourcing, verification or commercial-intelligence task before a machine spends anything. Unknown task labels are routed to a compatible worker capability.

    after · 39% of words in common

    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.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-12d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://paidhandshake.com/mcp streamable-httpnoneyes100%340 ms2026-07-28, 2025-11-252026-10-19

Tools (18)

create_checkoutCreate 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.
create_recurring_paid_watchAuthenticated: 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.
get_free_data_sampleread-onlyFree, 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.
get_fulfillment_proofFree, 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.
get_live_inventoryread-onlyFree, 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.
get_machine_onboardingFree, 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.
get_machine_payment_optionsread-onlyFree, 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.
get_machine_walletread-onlyAuthenticated, 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.
get_paidhandshake_capabilitiesread-onlyFree, 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.
get_paid_machine_jobAuthenticated, 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.
get_published_intelligence_catalogread-onlyFree, 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.
get_published_intelligence_sampleFree, 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.
get_unlock_quoteread-onlyFree, 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.
list_recurring_paid_watchesread-onlyAuthenticated, 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.
quote_paid_machine_jobFree, 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.
search_matchesRead-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.
set_recurring_paid_watchAuthenticated 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.
submit_paid_machine_jobAuthenticated 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.paidhandshake/exchange",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "contactEmail": "[email protected]",
      "documentationUrl": "https://paidhandshake.com/agents"
    }
  },
  "icons": [
    {
      "src": "https://paidhandshake.com/assets/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "PaidHandshake Exchange",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://paidhandshake.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "2.9.0",
  "websiteUrl": "https://paidhandshake.com/",
  "description": "Verified agent commerce plus worker-published structured intelligence and machine payments."
}