Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.mlawsonking/payment-guard-mcp

NPM · PAYMENT-GUARD-MCP · SCANNED AUG 3

Pre-send risk check for AI agents that move money — screen an address or payment URL before sending.

Available components

+20 this week 66 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability61
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 1142 tokens (~228/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · payment-guard-mcp

# add to Claude Code
claude mcp add mlawsonking-payment-guard-mcp -- npx -y payment-guard-mcp
# add to Codex CLI
codex mcp add mlawsonking-payment-guard-mcp -- npx -y payment-guard-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mlawsonking-payment-guard-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "payment-guard-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add mlawsonking-payment-guard-mcp --command npx --arg -y --arg payment-guard-mcp
# ~/.hermes/config.yaml
mcp_servers:
  mlawsonking-payment-guard-mcp:
    command: "npx"
    args: ["-y", "payment-guard-mcp"]
// mcp.json
{
  "mcpServers": {
    "mlawsonking-payment-guard-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "payment-guard-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 −2

    No change was recorded against any check on this day. Supply Chain Security went from 97 to 87. Other categories moved too: Stability & Change Management rose 3.

  • 2 Aug 26 +63
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Schema quality: unverified → good functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Stability: unverified → 0.20 functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • Licence: MIT functional
  • 1 Aug 26 −13
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 31 Jul 26 −38
    • Malware scan: pass → unverified security
    • Install scripts: pass → unverified security
    • Provenance: fail → unverified security
    • Maintenance: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • License: pass → unverified functional
    • First check of Schema quality: unverified functional
    • Licence: MIT functional
    • Package version: 1.0.1 → 1.1.0 functional
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +10
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Maintenance: unverified → pass functional
    • License: unverified → pass functional
    • Licence: MIT functional
  • 27 Jul 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 96 packages

96 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 5 exposed · ~1,142 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
check_sanctioned ~225

Fast OFAC sanctions check for a crypto address or ENS name, with no on-chain lookup and no scam lists. Matches against the union of every EVM-format OFAC SDN list (ETH, ARB, BSC, ETC, USDC, USDT), which applies to all EVM chains because OFAC lists addresses by currency rather than by chain. Only EVM (0x) addresses are covered: the Bitcoin, Tron, Solana, Monero and other non-EVM sanctioned addresses are on the SDN list and are not checked here. sanctioned:false means the address is absent from those EVM lists and nothing more. If the lists cannot be loaded, sanctioned is null and the verdict is "unknown"; if only some of them load, the verdict is "unknown" too, because absence from a partial corpus is not a clear result. Read coverage in the response. Network: needs OFAC sanctioned-address lists, public EVM RPC (only when an ENS name is passed).

NameTypeReqDescription
addressstringyesEVM address or ENS name.

No output schema declared.

No examples provided.

resolve_name ~208

Resolve an ENS name to an address and screen that address against the OFAC EVM sanctions lists and the scam/abuse blocklists. Resolution is namehash, then the mainnet ENS registry resolver, then a direct addr() call. There is no ENSIP-10/CCIP-Read, so offchain and L2 names (Basenames, .cb.id, gasless subnames) report resolved:false here even though a wallet resolves them. It does NOT detect lookalike or homoglyph names: no confusable check and no ENSIP-15 normalization, so a spoofed name that resolves to a clean address comes back clean. A failed registry call is reported as a failed lookup, never as an unregistered name. Read ens_coverage in the response. Network: needs public EVM RPC (ENS registry), OFAC sanctioned-address lists, ethereum-lists + ScamSniffer blocklists.

NameTypeReqDescription
namestringyesENS name, e.g. vitalik.eth.

No output schema declared.

No examples provided.

screen_address ~239

The pre-send check for an agent about to send funds to a crypto address. Takes an EVM address or an ENS name and returns safe, caution or block from three inputs: the OFAC EVM sanctions lists, the ethereum-lists and ScamSniffer scam blocklists, and an on-chain read (brand-new and unused address, which is the shape of a scam drop address, or a contract). Sanctions coverage is EVM-format address lists only, so Bitcoin, Tron, Solana and Monero sanctioned addresses are not checked; it applies to every EVM chain, because OFAC lists addresses by currency rather than by chain. If a list fails to load the verdict is downgraded to caution and a flag names the check that did not run, rather than reporting safe. Read sanctions_coverage in the response. Network: needs OFAC sanctioned-address lists, ethereum-lists + ScamSniffer blocklists, public EVM RPC.

NameTypeReqDescription
addressstringyesEVM address (0x + 40 hex) or ENS name (e.g. name.eth).
chainstringEVM chain (default eth).

No output schema declared.

No examples provided.

screen_payment ~215

Check an x402 endpoint or merchant URL before paying it. The structural half is local: punycode host, raw-IP host, credentials in the URL, abuse-prone TLD, known shorteners, excessive subdomains, nonstandard port, and a substring match against 14 brand names flagged when the brand is not the registrable domain, so paypal.com.secure-pay.xyz is caught. There is no edit distance and no homoglyph mapping, so an ASCII typo like paypa1.com is not caught by that rule. Domain age needs RDAP and the destination after redirects needs a fetch; the intermediate hops are not analysed. Offline it still returns the structural verdict and reports those two network checks as skipped. Returns safe, caution or block. Network: needs rdap.org, the URL being screened (redirect follow). The network is only used when the domain age is looked up and redirects are followed. The structural analysis is local and runs offline.

NameTypeReqDescription
urlstringyesThe x402/payment endpoint or merchant URL.

No output schema declared.

No examples provided.

screen_token ~255

Check a token contract before an agent buys, swaps or approves it: is it a HONEYPOT (you can buy but not sell), does it have an extreme sell tax, is it on a scam/abuse blocklist. The buy+sell simulation comes from api.honeypot.is, which supports Ethereum and Base only and answers 400 "Invalid chain" for polygon, arbitrum and optimism, so the honeypot and tax fields cannot be populated there. It also has no result for tokens with no liquidity pool, which is exactly the population most likely to be a rug. When no simulation ran the verdict is never safe: it is caution, or block if the blocklist already hit, with a honeypot-check-unavailable flag, and honeypot_checked plus honeypot_coverage say what happened. Returns token name/symbol, buy/sell/transfer taxes where available, and a verdict of safe, caution or block. Network: needs honeypot.is, ethereum-lists + ScamSniffer blocklists, public EVM RPC.

NameTypeReqDescription
addressstringyesToken contract address (0x + 40 hex).
chainstringEVM chain (default eth).

No output schema declared.

No examples provided.