Verified agentic-commerce protocol status + merchant agent-readiness reports. Free on testnet.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free on testnet. Automated scan, not human-verified. Scan-only quick read of whether AI agents can discover and buy from a website. Returns the engine's report as-is: scanner_version and scan_id ("v4"), report.score (scan-only), report.band (can be 'Partly assessed'), report.coverage, report.summary, report.confidence, report.can_agents_buy, report.who_eats_the_loss (display label "Who carries the risk?"; needs the 5 answers, so not assessed here), report.archetype ('unclassified' if not classified), report.rows (with unknown_reason), report.gaps, report.actions (always exactly 3: 2 business then 1 technical, each with kind "business" | "technical"), report.ledger (related Ledger entries), checks, evidence, findings, and scan_interrupted.reason (timeout|blocked|dns_tls|robots_disallowed|refused|http_error) when the scan could not finish. Input: a bare domain (e.g. "yourstore.com"). It reads public pages only; it is NOT a certification, audit or legal advice. Open questions only the business can answer come back with a link to https://thepaymentsnotes.com/readiness. Limits: 3 scans per caller per day and 50 per day overall, shared with the website; results are cached for 24h. Weekly newsletter: https://thepaymentstack.substack.com
Bare domain only, e.g. 'yourstore.com' (no https://, path or port)
Free on testnet. Automated scan, not human-verified. Scan-only quick read of whether AI agents can discover and buy from a website. Returns the engine's report as-is: scanner_version and scan_id ("v4"), report.score (scan-only), report.band (can be 'Partly assessed'), report.coverage, report.summary, report.confidence, report.can_agents_buy, report.who_eats_the_loss (display label "Who carries the risk?"; needs the 5 answers, so not assessed here), report.archetype ('unclassified' if not classified), report.rows (with unknown_reason), report.gaps, report.actions (always exactly 3: 2 business then 1 technical, each with kind "business" | "technical"), report.ledger (related Ledger entries), checks, evidence, findings, and scan_interrupted.reason (timeout|blocked|dns_tls|robots_disallowed|refused|http_error) when the scan could not finish. Input: a bare domain (e.g. "yourstore.com"). It reads public pages only; it is NOT a certification, audit or legal advice. Open questions only the business can answer come back with a link to https://thepaymentsnotes.com/readiness. Limits: 3 scans per caller per day and 50 per day overall, shared with the website; results are cached for 24h. Weekly newsletter: https://thepaymentstack.substack.com
| Argument | Type | Description |
|---|---|---|
| domain* | string | Bare domain only, e.g. 'yourstore.com' (no https://, path or port) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"pattern": "^[A-Za-z0-9.-]+$",
"maxLength": 253,
"minLength": 4,
"description": "Bare domain only, e.g. 'yourstore.com' (no https://, path or port)"
}
}
}Free on testnet. Status of one Ledger row (protocol, platform, wallet or stablecoin) from the human-verified Ledger: headline, status, last verified date and ONE source URL. If the name is not in the Ledger: result="unknown" plus up to 3 did_you_mean names (never a guessed answer). Call list_protocols to see every name.
| Argument | Type | Description |
|---|---|---|
| protocol* | string | Ledger name or short name, e.g. 'x402', 'MPP', 'Stripe Link', 'Agent Pay'. Covers protocols, platforms, wallets and stablecoins. Call list_protocols for every name. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"protocol"
],
"properties": {
"protocol": {
"type": "string",
"pattern": "^[A-Za-z0-9 .,()\\-/&+]+$",
"maxLength": 64,
"minLength": 1,
"description": "Ledger name or short name, e.g. 'x402', 'MPP', 'Stripe Link', 'Agent Pay'. Covers protocols, platforms, wallets and stablecoins. Call list_protocols for every name."
}
}
}Free on testnet (no payment, no wallet needed). Fuller answer for ONE Ledger row (protocol, platform, wallet or stablecoin): headline, status (authoritative), maturity (a plain-English stage derived from status, never contradicts it), steward, what_this_means (the detail after the headline, omitted if there is none), latest update date, verified date and up to 3 sources. Unknown names return result="unknown" with up to 3 did_you_mean names. Call list_protocols to see every name.
| Argument | Type | Description |
|---|---|---|
| protocol* | string | Ledger name or short name, e.g. 'x402', 'MPP', 'Stripe Link', 'Agent Pay'. Covers protocols, platforms, wallets and stablecoins. Call list_protocols for every name. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"protocol"
],
"properties": {
"protocol": {
"type": "string",
"pattern": "^[A-Za-z0-9 .,()\\-/&+]+$",
"maxLength": 64,
"minLength": 1,
"description": "Ledger name or short name, e.g. 'x402', 'MPP', 'Stripe Link', 'Agent Pay'. Covers protocols, platforms, wallets and stablecoins. Call list_protocols for every name."
}
}
}Free on testnet. Every row in the human-verified Ledger (protocols, platforms, wallets, stablecoins): name, short names/aliases and status only. Use a name from here with get_status or get_status_detail.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Free on testnet. Recent verified Ledger changes since a date (last 30 days, max 5 items): headline, status, date, one source.
| Argument | Type | Description |
|---|---|---|
| since_date* | string | YYYY-MM-DD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"since_date"
],
"properties": {
"since_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "YYYY-MM-DD"
}
}
}