mcpField
S
storefront-guard

storefront-guard

Local
github.com/maxigirl123Security0Updated 6w ago

About storefront-guard

Fortik helps AI shopping agents check a merchant before payment. It evaluates public signals such as domain and certificate history, scam listings, and entity records, returning an explainable trust score and recommendation without requiring merchant registration.

Key features

  1. 01Check domain and certificate history
  2. 02Check HTTPS and known scam lists
  3. 03Cross-check corporate and legal entities
  4. 04Return a trust score and recommendation
  5. 05Offer MCP, HTTP, and REST interfaces

Use cases

  1. 01Assess a storefront before payment
  2. 02Pause or block a transaction based on results
  3. 03Record transaction outcomes through feedback

MCP support

Provides a local stdio MCP server and a remote streamable HTTP MCP server. MCP clients can call `verify_storefront` to receive merchant verification results.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"maxigirl123-storefront-guard": {
"command": "npx",
"args": [
"-y",
"storefront-guard-mcp-server"
],
"env": {
"GOOGLE_SAFE_BROWSING_API_KEY": "<GOOGLE_SAFE_BROWSING_API_KEY>",
"SAM_GOV_API_KEY": "<SAM_GOV_API_KEY>",
"URLHAUS_AUTH_KEY": "<URLHAUS_AUTH_KEY>"
}
}
}
}
Run commandnpx -y storefront-guard-mcp-server
Environment variables to set
GOOGLE_SAFE_BROWSING_API_KEYSecretGoogle Safe Browsing API key for scam domain checks. Optional — degrades gracefully if not set.
SAM_GOV_API_KEYSecretSAM.gov API key for US federal exclusions check. Optional — skipped if not set.
URLHAUS_AUTH_KEYSecretURLhaus Auth-Key for malware URL lookups. Optional — degrades gracefully if not set.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmstorefront-guard-mcp-server0.3.2

Tools

1

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
domainstringYesThe bare domain of the storefront to verify, e.g. 'example-shop.com'. Strip protocol and path if given a full URL.

Details

From the project README

Fortik

Real-time merchant verification for agentic commerce. A shopping agent calls verify_storefront with a domain before paying, and gets back a trust score with a plain-English verdict the agent can act on — in under two seconds.

Fortik is the trust check AI shopping agents run before checkout. It doesn't ask merchants to register in advance — it gathers evidence directly, in the moment, from independent public sources.

fortik.io

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. Fortik lets the agent confirm the merchant is legitimate before committing payment.

What it checks

  • Domain registration age & recent changes — via free public RDAP lookups. A domain registered days ago, or one whose registration data changed in the last two weeks, is a red flag.
  • SSL certificate issuance history — via free public Certificate Transparency logs (crt.sh). A cert reissued very recently on an otherwise long-established domain can indicate a takeover or hosting change, even when the domain itself looks old and trustworthy.
  • HTTPS validity — does the site currently serve a valid cert at all.
  • Known-scam blocklist — URLhaus and Google Safe Browsing.
  • Corporate registration — US entity lookup via OpenCorporates.
  • Legal name verification — GLEIF entity registry cross-check.
  • Web traffic rank — Tranco top-1M ranking.
  • Federal exclusions — SAM.gov debarment check.
  • FDA enforcement — corroborating signal when other risks are present.

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.

Setup

Requires Node.js 18+.

npm install
npm run build

Copy .env.example to .env and fill in your keys.

Running it

As a local MCP server (stdio):

npm start

As a remote MCP server (streamable HTTP) with x402 payment:

npm run start:http
# POST http://localhost:3000/mcp

As a pay-per-call x402 HTTP API:

npm run start:x402
# POST http://localhost:4021/verify   { "domain": "example-shop.com" }

As a REST API (API key auth):

npm run start:rest
# POST http://localhost:4022/verify   { "domain": "example-shop.com" }
# Header: X-API-KEY: your-key

All three servers at once:

npm run start:all
# MCP:  http://localhost:3000/mcp
# x402: http://localhost:4021/verify
# REST: http://localhost:4022/verify

Feedback endpoint

Submit outcome data after a transaction to help build training data for future ML scoring:

POST http://localhost:4022/feedback
Header: X-API-KEY: your-key
Body: { "domain": "example-shop.com", "outcome": "legit" | "scam" }

How to use the recommendation field

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.

ValueSuggested agent behavior
proceedComplete the transaction silently. Trust score is low-risk with high confidence.
pause_for_confirmationStop before paying and show recommendationReason to the user.
do_not_proceedBlock 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.

Pricing

$0.01/call via x402. Set your wallet address in PAY_TO_ADDRESS and network in X402_NETWORK (default: base).

Environment variables

VariableRequiredDescription
PAY_TO_ADDRESSYes (x402)Your wallet address for USDC payments
X402_NETWORKNoBlockchain network (default: base)
PRICE_USDNoPer-call price (default: 0.01)
API_KEYSYes (REST)Comma-separated valid API keys
GOOGLE_SAFE_BROWSING_API_KEYNoDegrades gracefully if unset
SAM_GOV_API_KEYNoDegrades gracefully if unset
URLHAUS_AUTH_KEYNoDegrades gracefully if unset
FEEDBACK_LOGNoPath for feedback JSONL log (default: feedback.jsonl)
MCP_PORTNoMCP server port (default: 3000)
X402_PORTNox402 server port (default: 4021)
REST_PORTNoREST API port (default: 4022)

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.