{"name":"org.nsgoods/nsgoods-workbench-mcp","slug":"nsgoods-workbench-mcp","title":null,"description":"Read only x402 catalogue: payability verdicts, prices, drift, host status, signatures. No wallet.","url":"https://mcp.market/server/nsgoods-workbench-mcp","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":28,"stars":2,"forks":0,"downloads_week":null,"last_push_at":"2026-09-30T13:52:56.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T10:55:36.661Z","last_ok_at":"2026-11-04T10:55:36.661Z","latency_ms":213},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Nikoble1926/nsgoods-workbench-mcp","website":"https://x402.nsgoods.org/#mcp","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.nsgoods.org/mcp"}],"packages":[],"tools":[{"name":"catalogue_stats","description":"Size and health of the x402 catalogue as of the latest full scan: resources, hosts, verdict\n    counts, and payable endpoints per network.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"catalogue_statsArguments"}},{"name":"drift_status","description":"Verdict changes between the two latest full scans (catalogue wide, or for one host), plus the\n    declared model drift watch.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"default":"","title":"Host","type":"string"}},"title":"drift_statusArguments"}},{"name":"find_endpoints","description":"Search the catalogue by host or URL substring. Returns up to `limit` endpoints (max 50) with their\n    latest verdict, plus the total match count. Use this first when you do not know the exact resource URL.\n    Rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed.\n    Optional network filter (for example eip155:8453 or solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and\n    sort=price for the cheapest first.\n    last_checked_at is the last time any scan looked at the resource; verdict_since is when the current\n    verdict was first observed in the unbroken run that leads to it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"Query","type":"string"},"limit":{"default":25,"title":"Limit","type":"integer"},"sort":{"default":"","title":"Sort","type":"string"},"network":{"default":"","title":"Network","type":"string"}},"required":["query"],"title":"find_endpointsArguments"}},{"name":"host_summary","description":"Summary for a host (no time series): first/last seen, current verdict mix, n_resources, total\n    verdict changes, gone_since if absent from the latest full scan, and a small resources_sample.\n    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    n_resources counts every resource ever seen for this host; current_verdict_mix and n_payable_last_full count only the latest full scan.\n    last_checked_at is the last time any scan looked at the resource; verdict_since is when the current\n    verdict was first observed in the unbroken run that leads to it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"title":"Host","type":"string"}},"required":["host"],"title":"host_summaryArguments"}},{"name":"payability_verdict","description":"Latest payability observation for one exact resource URL (path and query included), with the\n    meaning of the verdict, remediation if it cannot be paid, and the per-network options seen.\n    last_checked_at is the last time any scan looked at the resource; verdict_since is when the current\n    verdict was first observed in the unbroken run that leads to it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"title":"Url","type":"string"}},"required":["url"],"title":"payability_verdictArguments"}},{"name":"reports","description":"Published weekly payability reports (from the signed manifest).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"reportsArguments"}},{"name":"verify_signature","description":"Offline EIP-191 verify of a signed nsgoods response. Identifies the service from the\n    manifest (or the optional `service` arg), strips exactly that service's post-sign fields,\n    canonicalises (JCS, both ASCII modes), recovers the signer and checks it against the\n    published manifest signers. Reproduction-attestation (JCS/byte-length) and envelope\n    (signer/signature, components) shapes are reported as unsupported_shape, not verified here.\n    Refusals carry a distinct status: malformed_signature (signature is not a 65-byte 0x-prefixed\n    hex string), schema_rejected (the body carries a signed_by/signature pair but fails the required\n    field shape for every service the claimed signer covers; recovery was not attempted, checked is\n    false, reasons lists the failed candidates), signature_mismatch (well-formed but recovers a\n    different address than signed_by under every candidate service recipe of this signer),\n    no_flat_recipe (signed_by is a manifest signer but every service it covers uses an envelope shape,\n    so there is no flat recipe to check; recovery was not attempted, checked is false),\n    unknown_signer (signed_by is not a manifest signer; recovery was not attempted, checked is false),\n    unsupported_shape, or the no-signed_by/signature-pair case.\n    checked is true only when EIP-191 recovery actually ran; every other refusal reports checked false.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"response_json":{"title":"Response Json","type":"string"},"service":{"default":"","title":"Service","type":"string"}},"required":["response_json"],"title":"verify_signatureArguments"}},{"name":"x401_status","description":"Current x401 emitter adoption across the scanned catalogue (from the daily watcher).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"x401_statusArguments"}}],"scan":{"score":91,"grade":"A","scanned_at":"2026-10-03T05:50:16.468Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-03T05:50:16.388Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1053ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.nsgoods.org/mcp","reachable":true,"authRequired":false,"latencyMs":1053,"serverInfo":{"name":"nsgoods-workbench","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"Nikoble1926","repo":"nsgoods-workbench-mcp","archived":false,"pushedAt":"2026-09-30T13:52:56Z","stars":2,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/287437453?v=4","ownerCreatedAt":"2026-05-24T12:20:52Z","license":"MIT"},"icon":{"url":"https://mcp.nsgoods.org/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":2,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-30T13:52:56.000Z","score":28}}}},"grade_history":[],"reviews":[]}