jevscan
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jevscanscan 0x4ed4e862860bed51a9570b96d89af5e1b0efefed on Base"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jevscan
Typed onchain verdicts for EVM tokens. Paste a contract address, get ape / watch / avoid with calibrated probabilities, plus rug_risk, momentum, liquidity_health and fdv_stress scores. One System One decision loop, three interfaces: a library, a CLI built for pipelines, and an MCP server so your agents can use it too.
Robinhood Chain (4663) first-class, Base and everything DexScreener indexes as fallback.
$ jevscan 0x4ed4e862860bed51a9570b96d89af5e1b0efefed --chain base
$DEGEN Degen [base/uniswap] $0.004
liq $2,514,000 · vol24 $1,830,000 · fdv $148,000,000 · age 540d · b/s 1.1
verdict: WATCH p=0.472
rug_risk ███░░░░░░░░░░░░░░░░░░░ 0.135
momentum ███████████░░░░░░░░░░░ 0.512
liquidity_health ██████████████████░░░░ 0.812
fdv_stress ██████████░░░░░░░░░░░░ 0.464
jevscan-local-0.1 · 231ms · typed, no proseWhy
Software cannot act on "this token looks pretty risky tbh". It can act on {verdict: "avoid", p: 0.93}. Every trading bot, launch gate and portfolio script eventually reinvents a risk heuristic and hides it in a for-loop; jevscan pulls that decision out into the open, gives it the System One shape (state in, typed answers + probabilities out), and makes it pipeable.
The decision loop is honest about what it is: a deterministic, feature-based local engine by default, and the real TypeSafe jev endpoint the moment you export a key. Same questions, same output contract, zero code changes.
Related MCP server: zarq-risk-intelligence
Install
git clone https://github.com/jevbook/jevscan
cd jevscan && npm install
npm link # optional: makes `jevscan` available globally
npm test # engine smoke test + one live scanNode 18+ (uses global fetch). No API key required for the default engine.
CLI
jevscan <address> [--chain robinhood|base|ethereum|any] [--json]
jevscan <address> --assert ape [--min-p 0.6] # exit 0 iff verdict matches
jevscan <a1> <a2> [...] --compare # typed choice across tokens
cat addresses.txt | jevscan --stdin --json # one JSON line per address
jevscan <address> --watch 60 # rescan every 60s, log verdict changesExit codes are the whole point, grep-style:
code | meaning |
0 | verdict |
1 | verdict |
2 | verdict |
3 | no indexed liquidity anywhere |
4 | bad input |
5 |
|
So a buy script becomes a one-liner gate:
jevscan $CA --assert ape --min-p 0.6 && ./buy.sh $CAAnd a screening pipeline is just unix:
cat new_launches.txt | jevscan --stdin --json | jq -r 'select(.decision.answers[0].answer=="avoid") | .address'Library
import { scanToken, compareTokens } from 'jevscan';
const scan = await scanToken('0x...', { chain: 'robinhood' });
// scan.decision.answers -> [{id:'scan_verdict', answer:'watch', distribution:{...}, probability:0.47}, ...]
// scan.features -> liquidity, volume, fdv, pair age, buy/sell ratio, ...
const pick = await compareTokens(['0x...', '0x...', '0x...']);
// pick.answer -> {id:'best_token', answer:'$DEGEN', distribution:{'$DEGEN':0.61, '$OTHER':0.39}, ...}MCP server
Give any MCP client typed onchain judgment:
claude mcp add jevscan -- node /path/to/jevscan/src/mcp.jsTools: scan_token, compare_tokens, engine_info. Your agent stops guessing about tokens and starts quoting probabilities.
Using the real jev
export JEV_API_KEY=... # TypeSafe System One key
export JEV_API_URL=... # optional, defaults to api.typesafe.ai/v1/systemoneWith a key set, the extracted features are serialized into a state string and the same five typed questions are asked of jev-latest. On any failure the local engine answers instead, and the output says so in decision.model. The output contract never changes.
Output contract
Every decision, local or remote, is the same shape:
{
"model": "jevscan-local-0.1",
"latency_ms": 1.8,
"answers": [
{ "id": "scan_verdict", "type": "choice", "answer": "watch",
"distribution": { "ape": 0.21, "watch": 0.47, "avoid": 0.32 }, "probability": 0.47 },
{ "id": "rug_risk", "type": "score", "answer": 0.135, "probability": 0.135 }
]
}Limitations
Features come from DexScreener's public API: tokens without an indexed pair return a typed
avoidwith anote, not an error. Coverage on very new chains lags.The local engine is a calibrated-looking heuristic, not a trained model. It is deterministic, inspectable (one file,
src/engine.js) and deliberately conservative; it exists so the contract is usable today and swappable for real jev tomorrow.None of this is financial advice. It is a typed opinion with a probability attached, which is already more than most financial advice.
Built for jevbook.dev, the typed social network. MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Instant rug-check for any EVM or Solana token, distilled to one clear 0-10 risk verdict.
Pre-trade token safety check for AI agents. Simulates a sell before you buy, then returns one low/medium/high/unknown verdict with the signals behind it: sellability, buy/sell tax, liquidity depth, pair age, same-ticker impersonation, owner powers from bytecode. Ethereum, BSC, Base, Solana. Fail-closed - a check that cannot run answers unknown, never low. Publishes its own measured error rate with the benchmark harness in the repo. Free, no signup, no API key, MIT.
Deterministic on-chain token safety verdicts for Base, Ethereum, Arbitrum, and Solana. No LLM — pure on-chain data including Clanker CREATE2 resolution, Pump.fun bonding curve detection, Raydium LP checks, and a pro tier with Farcaster social signals and holder growth velocity. Also includes /verdict/pump — a fast Pump.fun specific verdict optimised for HFT at 474ms p50, covering bonding curve SOL reserve, graduation status, and deployer age. Solana only, $0.02 USDC."
Free token-safety scans + paid x402 verdicts, signals, radar & EVM swap quotes for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to scan crypto tokens for rug pulls, scams, and risk using a six-agent consensus system. It provides real-time security audits and risk scoring for tokens on Solana, Ethereum, Base, and BSC.640 PyPI2MIT

zarq-risk-intelligenceofficial
AlicenseNot gradedqualityDmaintenanceReal-time crypto risk scoring for AI agents. Trust Score, crash probability, and distance-to-default for 205 tokens. Free, no API key needed.MIT- AlicenseNot gradedqualityCmaintenanceToken safety oracle for AI agents. Honeypot detection, 17 scam pattern checks, LP lock verification across 6 EVM chains. Score 0-100 with risk flags. ERC Token Safety Score standard.1MIT
- AlicenseNot gradedqualityBmaintenanceChecks token contract safety for honeypot, tax, proxy, blacklist, ownership risks, and returns a risk score, enabling rug-pull protection for agents via pay-per-call x402 micropayments.MIT