{"serverId":"mcp-registry/io.github.epistemedeus/x402-data-gateway","tools":[{"name":"careers_board","fixed":{"name":"careers_board","description":"Read one configured public careers board and return title, location or null, posting URL, source, fetchedAt, and explicit coverage. Use `careers_board_cold` for the acquired free recipe. Partial, missing, duplicate, listed, empty, and changed stay explicit. A source failure is unavailable and is not an empty board. Price is $0.005 USDC. Payment challenge and credentials are bound to GET https://agents.samedaydesk.com/data/careers-board, not mcp://. Retry the identical authorized arguments and cr","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["board"],"properties":{"board":{"type":"string","description":"Named board id or alias. Initial reference ids are acxiom and liveramp."},"company":{"type":"string","description":"Optional alias. When board is also set, both must resolve to the same id."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read Named Public Careers Board"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":257,"tokensAfter":257},{"name":"contract_qualified_search","fixed":{"name":"contract_qualified_search","description":"Search Agent402 and the official MPP catalog for paid machine services that both match a capability intent and guarantee buyer-required JSON response paths. Use `agent_discoverability_audit` when you are measuring one known seller's catalog reach or rank, `seller_integrity_audit` when you already know the exact seller route to inspect, or `payment_offer_preflight` when you already have one exact callable GET URL. This search excludes SameDayDesk-owned supply and unresolved routes before audit, u","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query","requiredPaths"],"properties":{"limit":{"type":"integer","default":5,"maximum":8,"minimum":1,"description":"Maximum candidates audited and returned across Agent402 and MPP."},"query":{"type":"string","maxLength":300,"minLength":10,"description":"Capability intent sent to Agent402 and used locally to rank MPP catalog metadata. Do not include credentials or private values."},"requiredPaths":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+){0,7}$"},"maxItems":16,"minItems":1,"description":"Buyer-required dotted success-response paths that every returned seller schema must guarantee recursively."},"maxPriceDisplayUnits":{"type":"number","default":0.1,"maximum":10,"description":"Maximum advertised per-call price in each source's display currency.","exclusiveMinimum":0}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Search Contract-Qualified Services"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":417,"tokensAfter":417},{"name":"deep_audit","fixed":{"name":"deep_audit","description":"Run one read-only AI-search-readiness audit for a public business domain: company, technology, contact, and DNS/email evidence from `enrich`, plus the live structured-data gap analysis and paste-ready JSON-LD template from `schemaforge`. Use `enrich` for company facts only or `schemaforge` for structured-data remediation only. The template contains placeholders for real data; the score is diagnostic, no site changes are made, and it does not guarantee AI citations. Payment challenge and credenti","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["domain"],"properties":{"city":{"type":"string","description":"Optional city the business serves; used only to contextualize the generated structured-data template."},"domain":{"type":"string","description":"Public business domain or URL. The hostname is normalized and the audit starts at its HTTPS homepage; any supplied path or query is ignored."},"vertical":{"type":"string","description":"Optional structured-data template profile. med-spas is currently specialized; unsupported values fall back to it."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Audit Complete AI Search Readiness"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":327,"tokensAfter":327},{"name":"page_change","fixed":{"name":"page_change","description":"Compare two already-held extract-batch JSON artifacts. charged is false. Not a paid SKU. Does not fetch, pay, or schedule a second observation. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta. SYNTHETIC offline construction example only. No URL fetch, payment, receipt, observation or freshness is evidenced. Complete request example (title cha","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["before","after","fields"],"properties":{"after":{"$ref":"#/properties/before"},"clock":{"type":["string","null"],"description":"Optional caller UTC ISO-8601 timestamp with trailing Z, accepted for compatibility only; cannot attest freshness."},"before":{"anyOf":[{"type":"object","required":["ok","product","schemaVersion","quote","jobId","jobStatus","stopReason","partial","sources","accounting","costInputs","charged","boundary"],"properties":{"ok":{"type":"boolean"},"error":{"$ref":"#/properties/before/anyOf/0/properties/quote/properties/meaning"},"jobId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"quote":{"type":"object","required":["amountAtomic","displayUsdc","meaning"],"properties":{"meaning":{"type":"string"},"displayUsdc":{"type":"string","const":"0.01"},"amountAtomic":{"type":"string","const":"10000"}},"additionalProperties":true},"charged":{"$ref":"#/properties/before/anyOf/0/properties/ok"},"partial":{"$ref":"#/properties/before/anyOf/0/properties/ok"},"product":{"type":"string","const":"samedaydesk-extract-batch"},"sources":{"type":"array","items":{"type":"object","required":["id","source","status","data","notes","error","provenance"],"properties":{"id":{"type":"string","description":"Row identifier; does not replace source identity."},"data":{"anyOf":[{"type":"object","properties":{"lang":{"description":"Selected extraction value: lang."},"text":{"description":"Selected extraction value: text."},"links":{"description":"Selected extraction value: links."},"title":{"description":"Selected extraction value: title."},"jsonLd":{"description":"Selected extraction value: jsonLd."},"twitter":{"description":"Selected extraction value: twitter."},"headings":{"description":"Selected extraction value: headings."},"canonical":{"description":"Selected extraction value: canonical."},"openGraph":{"description":"Selected extraction value: openGraph."},"aiReadiness":{"description":"Selected extraction value: aiReadiness."},"description":{"description":"Selected extraction value: description."}},"description":"Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.","additionalProperties":true},{"type":"null","description":"Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."}],"description":"Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."},"error":{"anyOf":[{"type":"object","properties":{},"additionalProperties":true},{"type":"null"}]},"notes":{"type":"array"},"source":{"type":"string","pattern":"\\S","minLength":1,"description":"Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform."},"status":{"enum":["pending","success","partial","failure","unknown","skipped_duplicate"],"type":"string"},"finalUrl":{"$ref":"#/properties/before/anyOf/0/properties/stopReason"},"httpStatus":{"anyOf":[{"type":"integer"},{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/1"}]},"provenance":{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error"}},"additionalProperties":true},"maxItems":5,"minItems":1},"boundary":{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"},"jobStatus":{"enum":["running","completed","completed_with_unknown","stopped","interrupted"],"type":"string"},"accounting":{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"},"costInputs":{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"},"stopReason":{"type":["string","null"]},"schemaVersion":{"type":"string","const":"samedaydesk.extract-batch.v0"}},"description":"Representative merchant structure for useful comparisons; not a new paid request or proof of payment. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.","additionalProperties":false},{"type":"object","required":["jobId","status","costParameters","accounting","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/properties/before/anyOf/0/properties/sources/items"},"maxItems":32,"minItems":1},"jobId":{"$ref":"#/properties/before/anyOf/0/properties/quote/properties/meaning"},"status":{"$ref":"#/properties/before/anyOf/0/properties/quote/properties/meaning"},"accounting":{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"},"costParameters":{"$ref":"#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"}},"description":"Existing C1 result compatibility. No merchant product/schemaVersion is required. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.","additionalProperties":true},{"type":"object","required":["body"],"properties":{"body":{"anyOf":[{"$ref":"#/properties/before/anyOf/0"},{"$ref":"#/properties/before/anyOf/1"}]},"status":{"$ref":"#/properties/before/anyOf/0/properties/quote/properties/meaning"},"mediaType":{"type":"string","const":"application/json"},"observedAt":{"type":["string","null"],"description":"Caller observation metadata only; does not attest freshness."}},"additionalProperties":false},{"type":"object","properties":{},"description":"Intentionally permissive diagnostic alternative, not a template for a useful comparison. Missing/wrong schemas, keys, source identities or fields do not become valid comparison evidence. A missing snapshot can be supplied as {missing:true}. Safety admission still rejects paths, URL dereference, limit raises and invalid envelopes.","additionalProperties":true}],"description":"Already held JSON artifact or JSON envelope, never a path or URL to dereference. Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform. The structured branches describe representative comparable inputs. Incomplete objects remain admitted for diagnostic reports, subject to unchanged HTTP safety checks; HTTP 200 does not establish completeness or usefulness."},"fields":{"type":"array","items":{"enum":["title","description","canonical","lang","openGraph","twitter","jsonLd","headings","links","text","aiReadiness"],"type":"string"},"maxItems":11,"minItems":1,"description":"Explicit non-empty unique subset of supported fields. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."},"maxStaleMs":{"anyOf":[{"type":"integer","minimum":0,"description":"Optional freshness horizon, not a compute ceiling or freshness authority."},{"type":"null","description":"Optional freshness horizon, not a compute ceiling or freshness authority."}],"description":"Optional freshness horizon, not a compute ceiling or freshness authority."},"allowFreshClaim":{"type":"boolean","const":false,"description":"Supplied inputs cannot attest freshness. True is rejected."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Compare Held Page Extracts"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":2379,"tokensAfter":2379},{"name":"payment_offer_preflight","fixed":{"name":"payment_offer_preflight","description":"Compare x402 and MPP payment challenges, terms, and seller-declared JSON success-response readiness for one exact public HTTPS GET route before buyer authorization, including URL and realm binding, expiry, cross-protocol economic parity, and exact-route OpenAPI evidence. Use `agent_discoverability_audit` instead when you need to know whether catalogs rank or expose a service. This tool uses no target credential, signature, or target payment, follows no redirect, never reads the paid target body,","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["url"],"properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Exact public HTTPS GET route whose unpaid x402 and MPP challenge headers and same-origin OpenAPI success-response declaration should be inspected before buyer authorization. Credential-like query keys, fragments, unresolved parameters, local hosts, redirects, and non-public IPs are rejected."},"catalog":{"type":"object","required":["source","method","url"],"properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Exact catalog candidate URL, including all non-secret query values."},"asset":{"type":"string","maxLength":200,"minLength":1,"description":"Optional advertised currency or asset identifier."},"method":{"type":"string","const":"GET","description":"Catalog request method. The current product inspects exact GET routes."},"source":{"type":"string","maxLength":128,"minLength":1,"description":"Public catalog or registry name."},"network":{"type":"string","maxLength":200,"minLength":1,"description":"Optional advertised network identifier."},"protocol":{"enum":["x402","mpp"],"type":"string","description":"Optional advertised payment protocol."},"expiresAt":{"type":"string","format":"date-time","description":"Optional advertised offer expiry."},"recipient":{"type":"string","maxLength":200,"minLength":1,"description":"Optional advertised payment recipient."},"amountAtomic":{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,77})$","description":"Optional advertised price in atomic currency units."}},"description":"Optional caller-supplied catalog candidate. When present, the tool compares it with every live unsigned offer across request, protocol, amount, network, asset, recipient, and expiry.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Preflight x402 and MPP Offer"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":678,"tokensAfter":678},{"name":"read","fixed":{"name":"read","description":"Fetch a public HTTP(S) page and return its readable body as cleaned Markdown for LLM context, preserving headings, links, and lists while dropping navigation, ads, scripts, headers, footers, asides, and forms. Use `extract` instead when you need metadata, JSON-LD, Open Graph/Twitter tags, or a link inventory. Markdown is capped at 40,000 characters and no JavaScript is executed. Payment challenge and credentials are bound to GET https://agents.samedaydesk.com/read, not mcp://. Retry the identica","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["url"],"properties":{"url":{"type":"string","description":"Public HTTP(S) URL whose readable body is needed as Markdown. Content is fetched without JavaScript rendering and may be truncated at 40,000 characters. Check status/sourceOk/error/truncated/capture; missing discussion text is not proof of absence."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read Web Page as Markdown"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":269,"tokensAfter":269},{"name":"seller_integrity_audit","fixed":{"name":"seller_integrity_audit","description":"Use this after a buyer integration fails, a seller changes a paid route, or before the next paid retry or release. Audit one exact paid GET or POST seller route against buyer-required JSON success paths. GET verifies constructible non-secret input, exact request binding, live x402 and MPP economics, and optional Bazaar eligibility; POST performs static-safe OpenAPI contract analysis and sends no target request. Use `payment_offer_preflight` instead when you already have one exact callable GET UR","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["origin","route"],"properties":{"route":{"type":"string","pattern":"^\\/[^/?#{}][^?#{}]*$","description":"Exact paid GET or POST path declared by the seller, without query or template parameters."},"method":{"enum":["GET","POST"],"type":"string","default":"GET","description":"POST receives static OpenAPI response-contract analysis without sending a target request."},"origin":{"type":"string","format":"uri","description":"Credential-free public HTTPS seller origin on port 443."},"referral":{"type":"string","pattern":"^r1_[0-9a-f]{64}$","description":"Optional x402 receipt-derived acquisition label. It cannot change payment or delivery."},"requireBazaar":{"type":"boolean","default":false,"description":"When true, missing Bazaar discovery metadata becomes a repair finding for live-probed GET routes."},"requiredPaths":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+){0,7}$"},"default":[],"maxItems":16,"description":"Buyer-required dotted success-response paths that the seller schema must guarantee recursively."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Audit Seller Machine Buyability"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":484,"tokensAfter":484},{"name":"settlement_proof","fixed":{"name":"settlement_proof","description":"Verify one claimed canonical Base USDC settlement after execution by matching a successful transaction receipt to the exact recipient, atomic amount, and optional payer. Use `payment_offer_preflight` before authorization when you need to inspect an unpaid x402 or MPP offer instead. This tool reads only public Base receipt and log data; it reads no merchant ledger and performs no wallet, signing, broadcast, custody, or execution action. Payment challenge and credentials are bound to GET https://a","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["transactionHash","recipient","amountAtomic"],"properties":{"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Optional expected canonical Base USDC payer."},"recipient":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Expected canonical Base USDC recipient."},"amountAtomic":{"type":"string","pattern":"^[1-9][0-9]{0,20}$","description":"Expected positive USDC amount in six-decimal atomic units."},"transactionHash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Base mainnet transaction hash containing the claimed canonical USDC transfer."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Verify Base USDC Settlement"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":353,"tokensAfter":353}],"toolsChanged":8,"tokensSaved":0,"todo":[{"tool":"page_change","params":["after"]},{"tool":"recover_paid_result","params":["name","arguments"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}