Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Check an EVM address on Base before sending funds: safe/caution/danger. Pays per call via x402.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
VERDIX_PRIVATE_KEY, VERDIX_MAX_PRICE_USDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"verdix": {
"command": "npx",
"args": [
"-y",
"verdix-mcp"
],
"env": {
"VERDIX_PRIVATE_KEY": "your-value",
"VERDIX_MAX_PRICE_USD": "your-value"
}
}
}
}Run this in your terminal
claude mcp add verdix --env VERDIX_PRIVATE_KEY=your-value --env VERDIX_MAX_PRICE_USD=your-value -- npx -y verdix-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"verdix": {
"command": "npx",
"args": [
"-y",
"verdix-mcp"
],
"env": {
"VERDIX_PRIVATE_KEY": "your-value",
"VERDIX_MAX_PRICE_USD": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"verdix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"verdix-mcp"
],
"env": {
"VERDIX_PRIVATE_KEY": "your-value",
"VERDIX_MAX_PRICE_USD": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
VERDIX_MAX_PRICE_USD envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain verdixapi.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: VERDIX_PRIVATE_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.4.0) reached the registry 4 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, BankBridge
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Works in any MCP agent, including local models. Read-only bank accounts, spending, investments.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server that lets your AI agent check an EVM address on Base before sending it funds or approving a contract. It calls Verdix, which answers safe, caution or danger with the reasons. It checks:
Each check is paid per call in USDC on Base via x402, from your own wallet. There is no account, no API key and no subscription. Your key never leaves your machine, and a price cap is enforced before anything is signed.
*"Send 50 USDC to 0x4c3f…9e21"*: the agent calls
check_address_riskfirst,
gets
"verdict": "danger", "reasons": ["address_poisoning"], and stops to ask you.
| Tool | What it does | Cost |
|---|---|---|
check_address_risk(address, tier) | Verdix's verdict JSON, returned unchanged | quick $0.02 · standard $0.10 (default) · deep $0.50 |
check_address_risk_quick(address) | Same, pinned to the quick tier | $0.02 |
check_address_risk_standard(address) | Same, pinned to the standard tier | $0.10 |
check_address_risk_deep(address) | Same, pinned to the deep tier | $0.50 |
check_address_risk_lite(address, chain) | Cheapest check; never answers safe (see Lite). chain: base (default) or ethereum (daily data, see Ethereum) | $0.01 |
check_address_poisoning(address, chain) | Has Verdix's poisoning watcher flagged this address? Base (live) or Ethereum (daily). Not a safety verdict | free |
get_pricing() | Current prices (lite in its own lite field), your price cap, and your wallet's public address | free |
check_address_risk takes a tier argument, but an agent framework whose x402 client always pays the first price it's offered will end up paying quick regardless of what tier it asked for. The three check_address_risk_ tools avoid that: each calls Verdix's single-tier endpoint (/risk/address/ ), which offers exactly one price, so any x402 client pays the tier the tool name says. Use whichever is simpler for your client; both reach the same risk checks.
check_address_risk_lite is the cheapest check, meant for a quick screen before sending USDC to an address you don't know. It calls /risk/address/lite, which checks OFAC sanctions, scam and phishing lists, address-poisoning lookalikes, burn addresses, phishing tokens and flagged contract deployers. It skips address age and the caution-only contract checks.
Its verdict is no_known_risk, caution or danger, never `safe`. no_known_risk only means the address is on none of those lists. It is not a safety verdict. If you need safe (say, before a large transfer), use check_address_risk_quick ($0.02). The answer also carries limited_checks: true, checks_performed, not_checked and full_check. get_pricing lists quick/standard/deep in tiers, as before, and lite's price in a separate lite field.
Since 0.4.0, check_address_risk_lite and check_address_poisoning take an optional chain: base (the default, unchanged) or ethereum (Ethereum mainnet). Every other tool stays Base only.
data_through (the last complete UTC day) and coverage: "daily, not live". A lookalike planted after data_through isn't seen yet. If the data is out of date, Verdix answers 503 and you aren't charged.check_address_poisoning is free (no wallet, nothing signed) and calls GET /check/api. It answers only flagged, first_seen and kind (plus data_through/coverage on Ethereum). flagged: false is not a safety verdict: it covers address poisoning only. It's rate-limited per IP (30 per minute, 500 per day).{"flagged": false, "first_seen": null, "kind": null, "data_through": "2026-10-30", "coverage": "daily, not live"}
npx, so there's nothing to install).VERDIX_MAX_PRICE_USD (default 0.10, enough for lite, quick and standard) is the most one call may cost. A call above it is refused before anything is signed. To allow the deep tier, set it to 0.50.Replace 0xYOUR_PRIVATE_KEY with the key of your dedicated Base wallet.
verdix-mcp- .mcpb from the latest release.The key is stored in your OS keychain. Node.js doesn't need to be installed, because Claude Desktop runs the extension with its own Node.js.
Open *Settings → Developer → Edit Config*, which opens claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd:
{
"mcpServers": { "verdix": { "command": "npx", "args": ["-y", "verdix-mcp"], "env": { "VERDIX_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY", "VERDIX_MAX_PRICE_USD": "0.10" } } } }
Then restart Claude Desktop.
Put the same block in ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "verdix": { "command": "npx", "args": ["-y", "verdix-mcp"], "env": { "VERDIX_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY", "VERDIX_MAX_PRICE_USD": "0.10" } } } }
Don't commit a project-level .cursor/mcp.json that contains your key.
claude mcp add verdix -e VERDIX_PRIVATE_KEY=0xYOUR_PRIVATE_KEY -e VERDIX_MAX_PRICE_USD=0.10 -- npx -y verdix-mcp
Any MCP client that can launch a stdio server works. The command is npx -y verdix-mcp, with the environment variables below. Python example with the official MCP SDK:
from mcp import StdioServerParameters
verdix = StdioServerParameters( command="npx", args=["-y", "verdix-mcp"], env={"VERDIX_PRIVATE_KEY": os.environ["AGENT_WALLET_KEY"], "VERDIX_MAX_PRICE_USD": "0.10"}, )
| Variable | Required | Default | Meaning |
|---|---|---|---|
VERDIX_PRIVATE_KEY | for the paid check tools (not get_pricing or check_address_poisoning) | none | Your Base wallet's private key (hex). EVM_PRIVATE_KEY is accepted too |
VERDIX_MAX_PRICE_USD | no | 0.10 | Most one call may cost, in USD |
VERDIX_API_URL | no | https://api.verdixapi.com | Only for testing against another deployment |
check_address_risk returns Verdix's JSON exactly as the API sent it:
{
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "chain": "base", "tier": "quick", "price_usd": 0.02, "risk_score": 5, "verdict": "safe", "reasons": [], "checked": ["ofac", "scam_lists", "poisoning_watch", "onchain_age", "contract_code", "burn_list", "provenance"], "as_of": "2026-09-26T13:15:10.524501+00:00" }
safe): none of lite's lists know the address. Not a safety verdict; use quick if you need one.The payment receipt (payer, on-chain transaction) is in the tool result's _meta under com.verdixapi/payment.
VERDIX_PRIVATE_KEY isn't set in this server's env block.VERDIX_MAX_PRICE_USD, or use a cheaper tier (lite is $0.01).get_pricing to see the wallet address to fund.MIT