Unfret

net.unfretPublished by unfret.netv0.1.0Updated Nov 13, 2026

Check a store or product page for scam, dropshipping and dark-pattern signals, paid per check

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

Lets a shopping agent pay per call to check a store or product page for scam, dropshipping, fake-review and dark-pattern signals before buying.

What you can do
  • Check a store or product URL at a quick or deep tier with a strict, balanced or lenient policy, returning an allow, warn or block action, risk score, confidence and factual flags, plus the payment transaction
  • Explain a given flag type in a paragraph written for the end user
  • Read current pricing for free, with tiers in dollars and live USDC and SOL amounts
  • Report a status for every result (verdict, refunded, not paid, unavailable, pending or unknown) with a next step when action is needed
When to use it
Useful when an assistant helps someone shop online and should screen an unfamiliar store or listing for scam, dropshipping or dark-pattern signs before a purchase. Also handy for explaining a specific risk flag to the user in plain language.
Requirements
Runs locally via uvx with uv and Python 3.12 or newer. Needs a Solana wallet keypair, given as a path in UNFRET_MCP_KEYPAIR or as a base58 secret in UNFRET_MCP_SECRET_KEY, holding a little USDC or SOL. Optional settings include UNFRET_MCP_NETWORK (solana-devnet with UNFRET_API_URL for test money), UNFRET_MCP_RPC_URL, UNFRET_MCP_PAY_WITH, UNFRET_MCP_MAX_PRICE_USD, UNFRET_MCP_SESSION_CAP_USD and UNFRET_MCP_PRICE_RPC_URL. Network access to Unfret and Solana RPC endpoints is required.
Before you install
Every check spends real money from the configured wallet: quick checks cost about one cent and deep checks about twenty cents, paid in USDC or wSOL. The keypair or secret key is a spending credential, so use a dedicated agent wallet with only what it may spend, never a main wallet. Default caps are 0.25 dollars per check and 2.50 dollars per session; lower them if needed. A pending or unknown status means payment may already have been taken, so do not pay again for the same page. The store URL…

Installation

In SourceWeft

  1. Open Unfret 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

unfret-mcp

An MCP server that lets AI shopping agents ask Unfret whether a store or product listing shows signs of scams, dropshipping of generic goods, fake reviews or dark patterns, before they buy. MIT licensed.

Each check is paid per call over x402 from the agent's own Solana wallet, in USDC or wSOL. Prices are in US dollars (quick $0.01, deep $0.20; get_pricing has the live prices): USDC pays them exactly, wSOL at Unfret's SOL/USD quote. By default the server pays in USDC when Unfret offers it and the wallet holds enough, otherwise in wSOL (UNFRET_MCP_PAY_WITH=SOL to always use SOL); if the wallet holds plain SOL, it wraps what it needs first. The spend caps are in dollars whatever the currency: the server values a wSOL charge with its own Pyth SOL/USD reading (mainnet, fully verified, ≤2 min old, confidence ≤2%) rather than Unfret's word, and refuses SOL when it has no such price. Unfret pays the network fee, so the agent pays only the price. The server never holds anyone else's funds.

ToolInputOutput
check_storeurl, tier (quick $0.01 | deep $0.20), policy (strict | balanced | lenient), page_content (optional HTML){action, risk_score, confidence, flags, …} plus the payment transaction
explain_flagflag_typeA one-paragraph explanation for the end user
get_pricing—The current prices (free): tiers in dollars, live USDC and SOL amounts

Every result has status and ok: ok (a verdict), refunded (paid, but Unfret's analysis failed: the price is credited back to the paying wallet as Unfret credits), not_paid (refused before any money moved), unavailable (Unfret is paused or rate-limiting; retry later), pending or unknown (the payment may have been taken: don't pay again for that page; if it landed without a verdict Unfret credits its price to the paying wallet). A next_step says what to do whenever there is something to do.

action is allow, warn (ask your human first) or block, at thresholds set by the chosen policy. Flags are factual evidence, never a "scam" label. Send page_content for marketplaces such as Amazon, which block server-side fetches.

Configuration

VariableDefault
UNFRET_MCP_KEYPAIR—Path to the agent's Solana CLI keypair JSON (or UNFRET_MCP_SECRET_KEY, base58)
UNFRET_MCP_NETWORKsolana-mainnetsolana-devnet to try it with test money against https://dev.unfret.net
UNFRET_MCP_RPC_URLthe network's public RPCThe public RPCs are rate-limited; use your own for anything busy
UNFRET_MCP_PAY_WITHUSDC when offered and held, else SOLSOL to always pay in wSOL
UNFRET_MCP_MAX_PRICE_USD0.25Refuse any single check worth more than this many dollars
UNFRET_MCP_SESSION_CAP_USD2.50Refuse once the session has spent this many dollars
UNFRET_MCP_PRICE_RPC_URLmainnet's public RPCWhere the agent reads Pyth SOL/USD to value wSOL payments
UNFRET_API_URLhttps://unfret.net

Install

Needs uv (Python 3.12 or newer) and a Solana wallet holding a little USDC or SOL. Give the agent a wallet of its own with only what it may spend, never your main wallet: the caps above are the server's, the wallet balance is the real limit.

json
{"mcpServers": {"unfret": {"command": "uvx", "args": ["unfret-mcp"],  "env": {"UNFRET_MCP_KEYPAIR": "~/.config/solana/agent.json"}}}}

To try it without real money, use devnet (free test SOL from solana airdrop, test USDC from faucet.circle.com):

json
{"mcpServers": {"unfret": {"command": "uvx", "args": ["unfret-mcp"],  "env": {"UNFRET_MCP_KEYPAIR": "~/.config/solana/devnet-agent.json", "UNFRET_MCP_NETWORK": "solana-devnet",          "UNFRET_API_URL": "https://dev.unfret.net"}}}}

Deep checks are synchronous today, so there is no polling tool yet.

Source: git.kroshtan.com/kroshtan/unfret_backend (mirror on GitHub). MIT licensed.

Source: mcp/README.md at commit caac565

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package did not install.

Version history

1
  1. v0.1.0LatestNov 13, 2026

Score

50% 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