About PayPerScreen
PayPerScreen is an MCP server for agents that screens people, companies, wallets, emails, and IP addresses for compliance and fraud signals. Paid checks use per-request USDC payments over x402, with no account or subscription required.
Key features
- 01Screen names against sanctions lists
- 02Check wallets against sanctions and hack lists
- 03Analyze email fraud signals
- 04Check IPs against Spamhaus and Tor
- 05Inspect list coverage and spending
Use cases
- 01Review a person or company for sanctions matches
- 02Check a crypto wallet before a transaction
- 03Assess email or IP fraud indicators
MCP support
The MCP server exposes screening tools and free coverage, sample, and spending-status tools to MCP clients. Paid checks are settled in USDC over x402.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y payperscreen-mcpPAYPERSCREEN_PRIVATE_KEYSecretPrivate key of a wallet holding a few dollars of USDC; pays 2 cents per check. Free tools work without it.PAYPERSCREEN_MAX_SPENDMaximum USD the server may spend per session (default 1.00).PAYPERSCREEN_NETWORKWhere the wallet holds USDC: base (default), polygon or arbitrum.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
8Saved tool list · updated today
| Parameter | Type | Required | Description |
|---|---|---|---|
| dob | string | No | Date of birth, YYYY-MM-DD |
| name | string | Yes | Full name of the person or company |
| type | enum | No | Individual (default) or EntityIndividual | Entity |
| limit | integer | No | Matches per list, default 1 |
| country | string | No | Nationality or country |
| threshold | number | No | Minimum match score, default 0.4 |
Details
From the project READMEPayPerScreen MCP server
Give your AI agent compliance checks. Claude, Cursor or any MCP client can screen people, companies, crypto wallets, emails and IP addresses with PayPerScreen, paying 1 to 2 cents per check in USDC over x402. No account, no API key, no subscription.
| Tool | What it does | Price |
|---|---|---|
screen_name | Person or company against OFAC SDN, UN, EU and UK sanctions lists (refreshed daily). Each hit: listed name, score, record ID, programmes, aliases, and a date of birth / nationality / type comparison against what you pass | $0.02 |
screen_wallet | Wallet against every OFAC-sanctioned address (names the party), Tether's USDT freeze list on Tron, and FBI-identified hack wallets | $0.02 |
check_email | Ten deterministic fraud signals (disposable domain, domain age, blocklists, typo-squats…) | $0.02 |
check_ip | Spamhaus ZEN and Tor exit node check (beta) | $0.01 |
lists_coverage | Which lists are checked, record counts, publication dates | free |
sample_name_screen, sample_wallet_screen | Real results for fixed examples, to see the format | free |
spending_status | What this session has spent against its cap | free |
Results are possible matches for review, not legal determinations. Bad input is never charged.
Set up
You need Node.js 20+ and, for the paid tools, a wallet with a few dollars of USDC on Base (or Polygon or Arbitrum). Use a dedicated wallet for this, not your main one: the key sits in your MCP client's config.
Claude Code
claude mcp add payperscreen -e PAYPERSCREEN_PRIVATE_KEY=0xYOUR_KEY -- npx -y payperscreen-mcp
Claude Desktop (Settings → Developer → Edit config), Cursor (~/.cursor/mcp.json) and most other clients:
{
"mcpServers": {
"payperscreen": {
"command": "npx",
"args": ["-y", "payperscreen-mcp"],
"env": {
"PAYPERSCREEN_PRIVATE_KEY": "0xYOUR_KEY",
"PAYPERSCREEN_MAX_SPEND": "1.00"
}
}
}
}
Leave out the key to use only the free tools.
Settings
| Variable | Default | Purpose |
|---|---|---|
PAYPERSCREEN_PRIVATE_KEY | none | Wallet that pays. Without it, paid tools explain how to add one |
PAYPERSCREEN_MAX_SPEND | 1.00 | Spending cap in USD per session; checked before any payment is signed |
PAYPERSCREEN_NETWORK | base | base, polygon or arbitrum: where your wallet holds USDC |
PAYPERSCREEN_API_URL | https://api.payperscreen.com | API to call |
No ETH or gas needed: you only sign a USDC authorization, and Coinbase's facilitator settles it.
How it works
Each paid tool calls the PayPerScreen API. The API answers 402 Payment Required with the price; the server signs a USDC payment from your wallet and retries; the result comes back with a receipt (amount, transaction, session total). See the API docs and methodology.
Develop
npm install
PAYPERSCREEN_API_URL=http://localhost:4025 PAYPERSCREEN_PRIVATE_KEY=0x... npm run test:e2e
MIT licence.
Comments
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.