{
  "markdown": "# DeFi Guard MCP\n\n<!-- mcp-name: io.github.iinniitt/defi-guard-mcp -->\n\n[![npm](https://img.shields.io/npm/v/@iniit/defi-guard-mcp)](https://www.npmjs.com/package/@iniit/defi-guard-mcp)\n[![smithery badge](https://smithery.ai/badge/@iinniitt/defi-guard-mcp)](https://smithery.ai/server/@iinniitt/defi-guard-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nThe **safety layer that checks a DeFi transaction or token before your agent (or you) signs** — on **Base L2**. Sits in front of execution MCPs (it pairs with them, it doesn't compete): honeypot detection, owner-power scans, approval-drain checks, position health, and executable prices — all from live on-chain state.\n\nNo API keys required — works out of the box against public Base RPCs (bring your own RPC for speed via `BASE_RPC_URL`). Read-only: it never holds keys, signs, or submits.\n\n## Guard-before-signing tools\n\n| Tool | What it answers |\n|---|---|\n| `token_safety_screen` | \"Is this token safe to buy/approve *before* I sign?\" — **honeypot detection** (can you actually sell it back?), real round-trip cost (fees + tax both ways), and whether **ownership is renounced** (a live owner can often change taxes / pause / mint). One risk verdict. |\n| `scan_dangerous_capabilities` | \"What can the owner do to me?\" — scans the **deployed bytecode** for owner-only powers: `mint`, `pause`, `blacklist`, adjustable fees/taxes, max-tx limits, trading toggles, proxy `upgradeTo`. Flags the *capability*, no explorer key needed. |\n| `approval_risk` | \"Is this approval dangerous?\" — reads the live allowance an owner granted a spender, flags **unlimited approvals** (the allowance-drain vector) and whether the spender is a contract or an EOA. Current exposure = what could be pulled right now. |\n\n## Data tools\n\n| Tool | What it answers |\n|---|---|\n| `aave_position_health` | \"Is this Aave V3 position safe?\" — live health factor, collateral/debt in USD, LTV, liquidation threshold, and a plain risk level (`healthy` / `elevated` / `critical` / `LIQUIDATABLE`). |\n| `quote_swap` | \"What would this swap *actually* return right now?\" — exact-input quote via Uniswap V3 QuoterV2, best of all 4 fee tiers, with gas estimate. Executable price, not an oracle. |\n| `token_risk_snapshot` | \"Can I get out of this token?\" — ERC-20 metadata + **real market depth** measured by round-trip quotes (WETH → token → WETH) at two sizes. High round-trip loss = thin or trapped liquidity, whatever the chart says. |\n\n## Why round-trip depth instead of \"liquidity\" numbers\n\nTVL and pool-size numbers are easy to fake and easy to misread. A round-trip quote against live state measures the only thing that matters: **what you lose entering and exiting right now** (fees + price impact, both ways). If a token can be bought but not sold, this tool says so (`UNTRADABLE`).\n\n## Install\n\n```bash\nnpx @iniit/defi-guard-mcp        # or from source: npm install && npm run build\n```\n\n### Claude Code\n\n```bash\nclaude mcp add defi-guard -- npx -y @iniit/defi-guard-mcp\n```\n\n### Any MCP client (Cursor, Windsurf, etc.)\n\n```json\n{\n  \"mcpServers\": {\n    \"defi-guard\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@iniit/defi-guard-mcp\"],\n      \"env\": { \"BASE_RPC_URL\": \"https://your-rpc-if-you-have-one\" }\n    }\n  }\n}\n```\n\n`BASE_RPC_URL` is optional; without it the server rotates across public Base endpoints with automatic fallback and retries.\n\n## Example\n\n> \"Before I approve TOKEN X to this router, is any of it risky?\"\n\nThe agent calls `token_safety_screen` (can I sell it back? is ownership renounced?), `scan_dangerous_capabilities` (can the owner mint/blacklist/pause?), and `approval_risk` (is this an unlimited allowance to an EOA?) — and answers with live on-chain facts instead of vibes, before you sign.\n\n## Honesty notes (read this)\n\n- Quotes are **simulations against live state** (`eth_call`). Real execution adds slippage between quote and inclusion.\n- Contract addresses (Aave V3 Pool, QuoterV2) are Base mainnet constants, validated against live chain state.\n- This is a **read-only** tool. It never holds keys, signs, or submits transactions.\n- Not financial advice; it reports on-chain state, decisions are yours.\n\n## Test\n\n```bash\nnpm run build   # tsc — type-checks and emits dist/. Tools are verified against live Base state.\n```\n\n## License\n\nMIT\n",
  "bytes": 4366,
  "sha": "a00df9b63aa106a16dfa6751da52cc5d3ddd1765ad5c10f782ddc766cc1647d2",
  "repo_slug": "iinniitt/defi-guard-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_iinniitt_defi_guard_mcp_33bf1ce0/readme"
}