402sentinel Mcp

io.github.kaditangPublished by GitHub account kaditangv0.9.0Updated Oct 26, 2026

DEPRECATED: hosted 402Sentinel retired 2026-10-31. Client for x402 payment-safety checks.

VerifiedSTDIODesktop onlyFinanceSecurity & MonitoringAI & ML

Overview

AI-generated overview

Deprecated MCP client for x402 payment-safety checks: scores counterparties, payments, tokenized assets and compliance before an agent pays.

What you can do
  • Assess sellers: risk score, allow/review/block decision and a ready-to-apply spending policy for a payTo address, with a deeper on-chain scan option.
  • Vet the payment itself: a firewall that flags swapped payTo routing, drain velocity, overcharges and injection-sourced instructions, plus free tools to seed payment history and report outcomes.
  • Screen assets and compliance: RWA risk gate for tokenized assets, OFAC sanctions and due-diligence screening, and an opt-in verified badge audit.
  • Report delivery outcomes after paying to feed the reliability scoring.
When to use it
Only if you run or trust your own 402Sentinel-compatible endpoint and want an agent to check x402 counterparties, individual payments, tokenized assets or sanctions exposure before spending USDC on Base. The hosted service is retired, so it is not useful for new setups against the original endpoint.
Requirements
Runs locally via npm as a stdio process. Requires SENTINEL_URL pointing at a server you run and trust (the old default is refused), and CLIENT_PRIVATE_KEY, a Base wallet holding USDC, for paid calls; free tools need no key. Paid calls cost from $0.002 to $0.02 in USDC via x402, with no gas needed.
Before you install
The package is deprecated and the hosted service was retired, so the default endpoint no longer works. It holds a wallet private key in CLIENT_PRIVATE_KEY and can make automatic USDC payments, so never point it at an untrusted endpoint. Payment details and scraped untrusted text are sent to the configured server. Results are probabilistic risk signals, not advice or an accusation.

Installation

In SourceWeft

  1. Open 402sentinel Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

402sentinel-mcp

[!WARNING] Retirement notice. The 402Sentinel service this package talks to (402sentinel.com) will be retired on 31 October 2026, and the domain will not be renewed (it lapses in May 2027). After 31 October the default endpoint stops answering; after May 2027 the domain may be controlled by someone else. This package can make x402 payments, so do not keep a version that defaults to 402sentinel.com — uninstall it, or point it only at an endpoint you trust. The package is deprecated; the code stays here under its licence.

0.9.0 (final release): there is no default endpoint any more, and 402sentinel.com is refused even if you set it, so this version can never send requests or payments to the retired domain. Set SENTINEL_URL only to a server you run and trust.

MCP tools that let your AI agent check an x402 counterparty's risk before it pays — and turn that risk into an enforceable wallet spending policy. Give it a payTo address, get back a 0–100 risk score + an allow / review / block decision, scored from on-chain settlement behaviour on Base (address age, facilitator-aware payer diversity, settlement maturity) + a delivery-outcome flywheel, with honest confidence/coverage.

Tools — vet the seller:

  • assess_counterparty ($0.002) — risk score + decision + a ready-to-apply recommended_policy
  • assess_counterparty_deep ($0.02) — same, scans more on-chain history
  • recommend_policy ($0.002) — decision + wallet-ready spending policy (caps, denylist, approval)
  • report_outcome (free) — after paying, report delivery to train the reliability flywheel

Tools — vet the payment itself (buyer-side):

  • firewall ($0.002) — should YOUR agent make THIS payment now? Catches fraudulent routing (payTo swapped vs the address you usually pay), drain velocity, overcharge, and injection-sourced instructions. agent_id + a wallet-ownership signature are attached automatically from your configured wallet — trusted routing history with no extra steps.
  • firewall_record (free) — seed your agent's payment history so the firewall has a behavioural baseline.
  • firewall_outcome (free) — after a verdict, report what actually happened (fraud / legit / …) so the firewall learns which signals are predictive and downweights noisy ones (safety signals stay deterministic).

Tools — vet the asset and the flow:

  • assess_rwa ($0.02) — RWA risk gate: score a tokenized asset (treasury/stock/credit) before buying it. Proxy-aware transfer-restriction scan + behavioral transfer simulation — catches permissioned securities an agent can buy but not transfer or redeem (trapped funds), live pause state, issuer identity + issuer sanctions.
  • compliance_check ($0.02) — pre-pay compliance screen: OFAC sanctions (hard block), counterparty due-diligence tier, structuring/smurfing detection, FATF Travel-Rule threshold (informational). Not legal advice.
  • verify_service ($0.02) — opt-in 402Sentinel Verified badge: submit your own payTo for a deep settlement-graph audit; pass → signed time-boxed credential + public allow-list. Failures stay private.

It's a thin client for the hosted service at https://402sentinel.com — the scoring model and facilitator-identification logic live server-side (closed); this package only forwards the request and pays for it, so it's open source.

Quickstart — gate a payment in 5 lines

Before your agent pays any x402 counterparty, ask the firewall; if it doesn't say allow, don't pay. No MCP needed — any standard x402 v2 client works:

ts
import { x402Client, x402HTTPClient } from "@x402/core/client";import { registerExactEvmScheme } from "@x402/evm/exact/client";import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.AGENT_KEY) });const http = new x402HTTPClient(client);
const body = JSON.stringify({  payment: { payto_address: target, amount, resource_url },  context: { source: "web_content", untrusted_text: pageYouActedOn },   // pass what you scraped});const url = "https://402sentinel.com/api/firewall";const init = (h = {}) => ({ method: "POST", headers: { "Content-Type": "application/json", ...h }, body });const r1 = await fetch(url, init());const pr = http.getPaymentRequiredResponse((n) => r1.headers.get(n), await r1.json());const payment = http.encodePaymentSignatureHeader(await http.createPaymentPayload(pr));const data = await (await fetch(url, init(payment))).json();
if (data.decision !== "allow") throw new Error(`402Sentinel ${data.decision}: ${data.recommended_action}`);// …safe to pay `target`.

That one $0.002 call catches fraudulent routing (payTo swapped vs the address you usually pay), prompt-injection payments (a payTo that appeared in untrusted_text), drains, overcharges, and sanctioned/illicit counterparties.

In an MCP framework (Claude, Cursor, …) instead, just add the server — your agent gets all 10 tools by name (see Configure below):

jsonc
{ "mcpServers": { "402sentinel": { "command": "402sentinel-mcp", "env": { "CLIENT_PRIVATE_KEY": "0x…" } } } }

Install

sh
npm i -g @kaditang/402sentinel-mcp

Configure

Add to your MCP client (Claude Desktop, Cursor, etc.):

jsonc
{  "mcpServers": {    "402sentinel": {      "command": "402sentinel-mcp",      "env": {        "CLIENT_PRIVATE_KEY": "0x...  // a Base wallet holding USDC on-chain (no ETH/gas needed)"      }    }  }}

Paid calls cost from $0.002 (shallow) to $0.02 (deep), paid automatically in USDC via standard x402 (exact EIP-3009 on Base — the facilitator submits the transfer, so the buyer needs no gas) from the configured wallet. The free tools need no key.

Use

The agent calls it before authorizing a payment:

assess_counterparty({  target: { payto_address: "0x..." },  payment_context: { amount: 10, asset: "USDC" },  policy: { block_at_score: 70, review_at_score: 40 }})→ { decision: "review", risk_score: 52, confidence: 0.41, coverage: {...},    dimensions: [...], recommendation: "...",    recommended_policy: { action: "limit", max_payment_usdc: 5, daily_cap_usdc: 15,                          add_to_denylist: false, require_human_approval: true } }
  • block / deny → don't pay
  • review / limit → cap exposure / escrow (use recommended_policy for the caps)
  • allow → proceed

recommend_policy(...) returns just the decision + recommended_policy — apply max_payment_usdc / daily_cap_usdc / add_to_denylist directly to your agent wallet's spending limits. After paying, call report_outcome({ assessment_id, outcome }) to improve future scores.

Disclaimer

Algorithmic risk signal, informational only — not advice, not an endorsement, and not an accusation about any party. Scores are probabilistic estimates from limited public on-chain data and heuristics, and may misclassify. Do your own due diligence; don't rely on it as your sole basis to pay or refuse. See https://402sentinel.com/terms.

MIT.

Source: README.md at commit 6355a64

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

4
  1. v0.9.0LatestOct 19, 2026
  2. v0.8.1Oct 17, 2026
  3. v0.8.0Oct 17, 2026
  4. v0.7.1Sep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.