Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
EVM blockchain intelligence toolkit for AI agents. 20 tools across 5 chains. Zero config.
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.
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": {
"evmscope": {
"command": "npx",
"args": [
"-y",
"evmscope"
]
}
}
}Run this in your terminal
claude mcp add evmscope -- npx -y evmscopePaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"evmscope": {
"command": "npx",
"args": [
"-y",
"evmscope"
]
}
}
}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": {
"evmscope": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"evmscope"
]
}
}
}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.
These 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 7, 2026
The registry name was verified with the GitHub account calintzy, which owns the repo
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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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 (1.5.2) reached the registry 8 months 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, FlyDocs
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.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
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.
한국어 | 中文 | 日本語 | Español | Русский
EVM blockchain intelligence toolkit. 26 tools across 7 chains — use as a CLI or MCP server. Token prices, gas comparison, swap quotes, yield rates, honeypot detection, bridge routes, tx simulation, NFT lookup, governance proposals, portfolio tracking, and more.
AI agents like Claude and GPT cannot access real-time blockchain data. Ask "What's the ETH price?" or "Show me this wallet's balance" and you'll get "I can't access real-time data."
evmscope solves this by giving AI agents direct access to 26 on-chain tools via the MCP protocol — token prices, wallet balances, DeFi yields, whale tracking, honeypot detection, and more. No API keys, no setup, just connect and go.
| User | Use Case |
|---|---|
| AI agent developers | Connect as MCP server to give AI on-chain analysis capabilities |
| Crypto traders & researchers | Query tokens, wallets, and protocols directly from the terminal |
| DeFi users | Safety tools — honeypot detection, approval status checks, whale tracking |
npx evmscope price ETH
npx evmscope gas npx evmscope balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 npx evmscope portfolio 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 npx evmscope compare-gas npx evmscope tvl Aave npx evmscope swap ETH USDC 1.0 npx evmscope block latest npx evmscope transfers 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 npx evmscope honeypot 0x...
Run npx evmscope --help to see all 22 commands. Add --json for raw JSON output.
Start as an MCP server (no arguments):
npx evmscope
claude mcp add evmscope -- npx -y evmscope
Add to claude_desktop_config.json:
{
"mcpServers": { "evmscope": { "command": "npx", "args": ["-y", "evmscope"] } } }
Add to .cursor/mcp.json:
{
"mcpServers": { "evmscope": { "command": "npx", "args": ["-y", "evmscope"] } } }
Get current token price, 24h change, market cap, and volume.
// Input
{ "token": "ETH", "chain": "ethereum" }
// Output { "success": true, "data": { "symbol": "ETH", "name": "Ethereum", "priceUsd": 1929.20, "change24h": -2.34, "marketCap": 232000000000, "volume24h": 12500000000 } }
Get current gas prices in slow/normal/fast tiers with USD estimates.
// Input
{ "chain": "ethereum" }
// Output { "success": true, "data": { "slow": { "maxFeePerGas": "18.5", "maxPriorityFeePerGas": "1.2", "estimatedCostUsd": 0.75 }, "normal": { "maxFeePerGas": "20.0", "maxPriorityFeePerGas": "1.5", "estimatedCostUsd": 0.81 }, "fast": { "maxFeePerGas": "22.5", "maxPriorityFeePerGas": "2.25", "estimatedCostUsd": 0.91 }, "baseFee": "17.3", "lastBlock": 19234567 } }
Get native token + ERC-20 token balances with USD values.
// Input
{ "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "chain": "ethereum" }
// Output { "success": true, "data": { "address": "0xd8dA...", "nativeBalance": { "symbol": "ETH", "balanceFormatted": "1.234", "valueUsd": 2382.50 }, "tokenBalances": [ { "symbol": "USDC", "balanceFormatted": "1.0", "valueUsd": 1.00 } ], "totalValueUsd": 2383.50 } }
Get ERC-20 token metadata (name, symbol, decimals, total supply).
// Input
{ "token": "USDC", "chain": "ethereum" }
// Output { "success": true, "data": { "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "name": "USD Coin", "symbol": "USDC", "decimals": 6, "totalSupply": "26000000000" } }
Resolve ENS names to addresses and vice versa (Ethereum mainnet only).
// Input
{ "nameOrAddress": "vitalik.eth" }
// Output { "success": true, "data": { "name": "vitalik.eth", "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "avatar": "https://...", "resolved": "name_to_address" } }
Get transaction status, receipt, confirmations, and gas usage.
// Input
{ "txHash": "0xabc...def", "chain": "ethereum" }
// Output { "success": true, "data": { "hash": "0xabc...def", "status": "success", "blockNumber": 19234567, "confirmations": 42, "from": "0x1234...", "to": "0x5678...", "value": "1.5", "gasUsed": "21000", "effectiveGasPrice": "20.0", "timestamp": 1741521600 } }
Decode a transaction into structured JSON — function name, parameters, event logs.
// Input
{ "txHash": "0xabc...def", "chain": "ethereum" }
// Output { "success": true, "data": { "hash": "0xabc...def", "from": "0x1234...", "to": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", "value": "1.0", "status": "success", "function": { "name": "swapExactETHForTokens", "signature": "swapExactETHForTokens(uint256,address[],address,uint256)", "args": { "amountOutMin": "1000000", "path": ["0xC02a...", "0xA0b8..."] } }, "events": [ { "name": "Transfer", "address": "0xA0b8...", "args": { "from": "0x...", "to": "0x...", "value": "1000000" } } ], "gasUsed": "150000", "gasPrice": "20.0" } }
Look up a verified contract's ABI (Etherscan → Sourcify fallback).
// Input
{ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "chain": "ethereum" }
// Output { "success": true, "data": { "address": "0xA0b8...", "abi": [...], "source": "etherscan", "contractName": "FiatTokenV2_2", "isContract": true, "functionCount": 42, "eventCount": 8 } }
Identify an address — exchange, DeFi protocol, whale wallet, or EOA.
// Input
{ "address": "0x28C6c06298d514Db089934071355E5743bf21d60", "chain": "ethereum" }
// Output { "success": true, "data": { "address": "0x28C6...", "label": "Binance Hot Wallet", "category": "exchange", "protocol": null, "isContract": false, "tags": ["cex", "binance"] } }
Compare gas fees across all 7 EVM chains at once, sorted by lowest cost.
// Input
{}
// Output { "success": true, "data": { "chains": [ { "chain": "base", "baseFeeGwei": "0.01", "estimatedCostUsd": 0.0001 }, { "chain": "arbitrum", "baseFeeGwei": "0.1", "estimatedCostUsd": 0.004 }, { "chain": "optimism", "baseFeeGwei": "0.05", "estimatedCostUsd": 0.002 }, { "chain": "polygon", "baseFeeGwei": "30.0", "estimatedCostUsd": 0.01 }, { "chain": "ethereum", "baseFeeGwei": "20.0", "estimatedCostUsd": 0.81 } ], "cheapest": "base", "mostExpensive": "ethereum" } }
Check ERC-20 token approval (allowance) status. Auto-checks major DeFi protocols with risk level assessment.
// Input
{ "owner": "0xd8dA...", "token": "USDC", "chain": "ethereum" }
// Output { "success": true, "data": { "owner": "0xd8dA...", "token": "USDC", "tokenAddress": "0xA0b8...", "approvals": [ { "protocol": "Uniswap V3 (router)", "spender": "0xE592...", "allowance": "unlimited", "isUnlimited": true } ], "riskLevel": "moderate" } }
Get DeFi protocol TVL (Total Value Locked) via DefiLlama — chain breakdown, 24h/7d changes.
// Input
{ "protocol": "Aave" }
// Output { "success": true, "data": { "protocol": "Aave", "slug": "aave", "totalTvlUsd": 12000000000, "change24h": 1.5, "change7d": -3.2, "chainBreakdown": [ { "chain": "Ethereum", "tvlUsd": 8000000000, "percentage": 66.67 }, { "chain": "Polygon", "tvlUsd": 2000000000, "percentage": 16.67 } ] } }
Track large token transfers (whale movements). Classifies exchange deposit/withdrawal direction.
// Input
{ "token": "USDC", "chain": "ethereum", "minValueUsd": 100000, "limit": 10 }
// Output { "success": true, "data": { "token": "USDC", "tokenAddress": "0xA0b8...", "movements": [ { "txHash": "0xabc...", "from": "0x1234...", "to": "0x28C6...", "fromLabel": null, "toLabel": "Binance Hot Wallet", "value": "500000.00", "valueUsd": 500000, "direction": "exchange_deposit", "timestamp": 1710000000 } ], "summary": { "totalMovements": 1, "totalValueUsd": 500000, "netExchangeFlow": 500000 } } }
Get DEX swap quotes via ParaSwap — optimal route, gas cost, auto ETH→WETH conversion.
// Input
{ "tokenIn": "ETH", "tokenOut": "USDC", "amountIn": "1.0", "chain": "ethereum" }
// Output { "success": true, "data": { "tokenIn": { "symbol": "ETH", "address": "0xEeee...", "amount": "1.000000" }, "tokenOut": { "symbol": "USDC", "address": "0xA0b8...", "amount": "1929.200000" }, "exchangeRate": 1929.2, "priceImpact": null, "source": "UniswapV3", "estimatedGasUsd": "3.50" } }
Get DeFi yield rates (APY) from DefiLlama. Filter by protocol, chain, minimum TVL.
// Input
{ "protocol": "aave-v3", "chain": "Ethereum", "minTvl": 1000000 }
// Output { "success": true, "data": { "pools": [ { "project": "aave-v3", "symbol": "USDC", "chain": "Ethereum", "apy": 5.2, "tvlUsd": 500000000, "stablecoin": true } ], "count": 10 } }
Get contract event logs with automatic ABI decoding.
// Input
{ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "chain": "ethereum", "limit": 5 }
// Output { "success": true, "data": { "events": [ { "name": "Transfer", "args": { "from": "0x...", "to": "0x...", "value": "1000000" }, "txHash": "0x...", "blockNumber": 19234567 } ], "count": 5, "fromBlock": 19233567, "toBlock": 19234567 } }
Get top token holders. Ethereum uses Ethplorer, other chains aggregate from Etherscan transfers.
// Input
{ "token": "USDC", "chain": "ethereum", "limit": 10 }
// Output { "success": true, "data": { "token": "0xA0b8...", "holders": [ { "address": "0x...", "balance": "1000000", "share": 15.5 } ], "totalHolders": 12345 } }
Simulate a transaction via eth_call + estimateGas. Returns gas estimate in USD and revert reason on failure.
// Input
{ "from": "0x1234...", "to": "0x5678...", "data": "0xa9059cbb...", "chain": "ethereum" }
// Output { "success": true, "data": { "success": true, "gasEstimate": "65000", "gasEstimateUsd": 2.50, "returnData": "0x0000...0001", "error": null } }
Detect honeypot (scam) tokens via Honeypot.is. Returns buy/sell tax, risk level, and flags.
// Input
{ "token": "0x...", "chain": "ethereum" }
// Output { "success": true, "data": { "isHoneypot": false, "riskLevel": "safe", "buyTax": 0, "sellTax": 0, "flags": [], "t
Only the beginning is shown; read the rest in the repo