Storefront Guard

io.github.maxigirl123由 GitHub 帳號 maxigirl123 發布v0.3.2更新於 Oct 25, 2026

Verifies a merchant storefront is legitimate before an AI agent commits payment.

概覽

AI 產生的概覽

一個本機 MCP 伺服器,在 AI 購物代理付款前查核網路商店網域是否可信,回傳信任評分與白話的繼續或阻止建議。

可以做什麼
驗證商店網域,回傳信任評分、建議(繼續、暫停確認或不要繼續)以及每項扣分的白話原因。查核網域註冊時間與近期變更、SSL 憑證簽發歷史和目前 HTTPS 有效性。交叉比對已知詐騙黑名單、公司登記、法定名稱登錄、網站流量排名、聯邦排除名單與 FDA 執法紀錄。可選擇將交易結果回饋寫入本機日誌。
適用情境
當助理即將在不熟悉的商家網站完成購買,並希望先取得可解釋的信任訊號時使用。它針對代理購物與結帳流程,而非一般網頁瀏覽。
執行需求
以 Node.js 18+ 的 npm 套件形式透過 stdio 在本機執行。選用的 API 金鑰 GOOGLE_SAFE_BROWSING_API_KEY、SAM_GOV_API_KEY 與 URLHAUS_AUTH_KEY 可提升涵蓋範圍但非必要。公開查詢需要網路存取。README 另記錄選用的 HTTP、x402 與 REST 模式,需要 PAY_TO_ADDRESS、API_KEYS 等額外變數。
安裝前請注意
結論是根據公開來源的啟發式判斷,並不保證商家合法,應只視為一項參考訊號。選用的 x402 模式按次以 USDC 收費,需要在 PAY_TO_ADDRESS 填入錢包位址。回饋端點會把網域與結果資料寫入本機檔案。選用金鑰屬於機密,應避免放入共用設定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Storefront Guard,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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+.

bash
npm installnpm run build

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

Running it

As a local MCP server (stdio):

bash
npm start

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

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

As a pay-per-call x402 HTTP API:

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

As a REST API (API key auth):

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

All three servers at once:

bash
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:

bash
POST http://localhost:4022/feedbackHeader: X-API-KEY: your-keyBody: { "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)

來源:README.md,提交 7989b5f

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.2最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。