The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Storefront Guard listing page.
Agent-side merchant verification. A shopping agent calls verify_storefront
with a domain before paying, and gets back a trust score built from
free public data sources.
This is the mirror image of merchant-side agent-verification protocols like Visa's Trusted Agent Protocol: those let a merchant confirm an incoming agent is legitimate. This tool lets the agent confirm the merchant is legitimate before committing payment.
Every deduction from the trust score comes with a plain-English reason in
the reasons array — this is deliberately an explainable heuristic, not a
black-box model.
Requires Node.js 18+.
Copy .env.example to .env and fill in your keys.
As a local MCP server (stdio):
As a remote MCP server (streamable HTTP) with x402 payment:
As a pay-per-call x402 HTTP API:
As a REST API (API key auth):
All three servers at once:
Submit outcome data after a transaction to help build training data for future ML scoring:
Every verification result includes a top-level recommendation string alongside the
numeric trustScore. Agents should branch on it rather than implementing their own
threshold logic against the raw score.
| Value | Suggested agent behavior |
|---|---|
proceed | Complete the transaction silently. Trust score is low-risk with high confidence. |
pause_for_confirmation | Stop before paying and show recommendationReason to the user. |
do_not_proceed | Block the transaction and actively notify the user — do not fail silently. |
recommendationReason is a one-line plain-English explanation safe to show directly to users.
$0.01/call via x402. Set your wallet address in PAY_TO_ADDRESS and network in X402_NETWORK (default: base).
| Variable | Required | Description |
|---|---|---|
PAY_TO_ADDRESS | Yes (x402) | Your wallet address for USDC payments |
X402_NETWORK | No | Blockchain network (default: base) |
PRICE_USD | No | Per-call price (default: 0.01) |
API_KEYS | Yes (REST) | Comma-separated valid API keys |
GOOGLE_SAFE_BROWSING_API_KEY | No | Degrades gracefully if unset |
SAM_GOV_API_KEY | No | Degrades gracefully if unset |
URLHAUS_AUTH_KEY | No | Degrades gracefully if unset |
FEEDBACK_LOG | No | Path for feedback JSONL log (default: feedback.jsonl) |
MCP_PORT | No | MCP server port (default: 3000) |
X402_PORT | No | x402 server port (default: 4021) |
REST_PORT | No | REST API port (default: 4022) |