MCPサーバー

nsgoods-workbench-mcp

org.nsgoods/nsgoods-workbench-mcp
暗号資産・Web3 セキュリティ 公開・接続可能 MCP 2025-11-25

このMCPでできること

Searches and evaluates x402-payable resources, prices, host status, catalogue drift, payment readiness, and cryptographic response signatures.

catalogue_stats
Catalogue stats
Size and health of the x402 catalogue as of the latest full scan: resources, hosts, verdict counts, and payable endpoints per network.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'catalogue_statsArguments', 'properties': {}}
drift_status
Drift status
Verdict changes between the two latest full scans (catalogue wide, or for one host), plus the declared model drift watch.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'drift_statusArguments', 'properties': {'host': {'type': 'string', 'title': 'Host', 'default': ''}}}
find_endpoints
Find endpoints
Search the catalogue by host or URL substring. Returns up to `limit` endpoints (max 50) with their latest verdict, plus the total match count. Use this first when you do not know the exact resource URL. Rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed. Optional network filter (for example eip155:8453 or solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and sort=price for the cheapest first. last_checked_at is the last time any scan looked at the resource; verdict_since is when the current verdict was first observed in the unbroken run that leads to it.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'find_endpointsArguments', 'required': ['query'], 'properties': {'sort': {'type': 'string', 'title': 'Sort', 'default': ''}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 25}, 'query': {'type': 'string', 'title': 'Query'}, 'network': {'type': 'string', 'title': 'Network', 'default': ''}}}
host_summary
Host summary
Summary for a host (no time series): first/last seen, current verdict mix, n_resources, total verdict changes, gone_since if absent from the latest full scan, and a small resources_sample. Sample rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed. n_resources counts every resource ever seen for this host; current_verdict_mix and n_payable_last_full count only the latest full scan. last_checked_at is the last time any scan looked at the resource; verdict_since is when the current verdict was first observed in the unbroken run that leads to it.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'host_summaryArguments', 'required': ['host'], 'properties': {'host': {'type': 'string', 'title': 'Host'}}}
payability_verdict
Payability verdict
Latest payability observation for one exact resource URL (path and query included), with the meaning of the verdict, remediation if it cannot be paid, and the per-network options seen. last_checked_at is the last time any scan looked at the resource; verdict_since is when the current verdict was first observed in the unbroken run that leads to it.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'payability_verdictArguments', 'required': ['url'], 'properties': {'url': {'type': 'string', 'title': 'Url'}}}
reports
Weekly reports
Published weekly payability reports (from the signed manifest).
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'reportsArguments', 'properties': {}}
verify_signature
Verify signature
Offline EIP-191 verify of a signed nsgoods response. Identifies the service from the manifest (or the optional `service` arg), strips exactly that service's post-sign fields, canonicalises (JCS, both ASCII modes), recovers the signer and checks it against the published manifest signers. Reproduction-attestation (JCS/byte-length) and envelope (signer/signature, components) shapes are reported as unsupported_shape, not verified here. Refusals carry a distinct status: malformed_signature (signature is not a 65-byte 0x-prefixed hex string), schema_rejected (the body carries a signed_by/signature pair but fails the required field shape for every service the claimed signer covers; recovery was not attempted, checked is false, reasons lists the failed candidates), signature_mismatch (well-formed but recovers a different address than signed_by under every candidate service recipe of this signer), no_flat_recipe (signed_by is a manifest signer but every service it covers uses an envelope shape, so there is no flat recipe to check; recovery was not attempted, checked is false), unknown_signer (signed_by is not a manifest signer; recovery was not attempted, checked is false), unsupported_shape, or the no-signed_by/signature-pair case. checked is true only when EIP-191 recovery actually ran; every other refusal reports checked false.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'verify_signatureArguments', 'required': ['response_json'], 'properties': {'service': {'type': 'string', 'title': 'Service', 'default': ''}, 'response_json': {'type': 'string', 'title': 'Response Json'}}}
x401_status
x401 status
Current x401 emitter adoption across the scanned catalogue (from the daily watcher).
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'x401_statusArguments', 'properties': {}}
変更
host_summary
2026年10月1日2:51
変更
find_endpoints
2026年10月1日2:51
変更
payability_verdict
2026年10月1日2:51
変更
host_summary
2026年9月29日2:59
変更
find_endpoints
2026年9月29日2:59
変更
reports
2026年9月27日2:50
変更
verify_signature
2026年9月27日2:50
変更
catalogue_stats
2026年9月27日2:50
変更
verify_signature
2026年9月25日2:59
変更
verify_signature
2026年9月23日2:50
変更
verify_signature
2026年9月21日2:57
変更
reports
2026年9月19日2:48
変更
verify_signature
2026年9月19日2:48
変更
drift_status
2026年9月19日2:48
変更
x401_status
2026年9月19日2:48
変更
host_summary
2026年9月19日2:48
変更
catalogue_stats
2026年9月19日2:48
変更
find_endpoints
2026年9月19日2:48
変更
payability_verdict
2026年9月19日2:48
追加
reports
2026年9月17日12:54
追加
verify_signature
2026年9月17日12:54
追加
drift_status
2026年9月17日12:54
追加
x401_status
2026年9月17日12:54
追加
host_summary
2026年9月17日12:54
追加
catalogue_stats
2026年9月17日12:54
追加
find_endpoints
2026年9月17日12:54
追加
payability_verdict
2026年9月17日12:54