Skip to main content

MCP server for RugGuard — pre-trade rug-check API for AI agents. Wraps the x402 payment flow so Claude Desktop, Cursor, and other MCP-aware agents can call RugGuard without speaking x402 themselves.

Project description

rugguard-mcp

MCP server for RugGuard — pre-trade rug-check API for AI agents. Wraps the x402 payment flow so Claude Desktop, Cursor, and other MCP-aware agents can call RugGuard without speaking x402 themselves.

What it does

Three paid MCP tools:

  • scan_token(chain, address) — runs 14 heuristics on Base + 5 on Solana SPL, returns a weighted risk score 0–100, a verdict (safe | low_risk | medium_risk | high_risk | critical | uncertain), and structured red flags (owner renounced, LP locked, honeypot signatures, top10 concentration, mint authority, bytecode similarity to known rugs via MinHash, deployer rug history, etc.). Pays $0.01 USDC on Base behind the scenes.
  • pretrade_check(chain, address, intended_trade_usd, policy) (new in v0.2.0) — the pre-trade firewall. Wraps the same engine as scan_token and overlays a prescriptive block | caution | allow decision plus a clamped max_suggested_exposure_usd, given the agent's risk policy (conservative | balanced | aggressive). Returns a signed JSON report (Ed25519) when the deployment has signing configured — verifiable offline via the rugguard-verify CLI. Same $0.01 USDC price as scan_token.
  • explain_scan(scan_id) — replays a previously-cached scan's full per-heuristic audit trail. Pays $0.005 USDC.

One free MCP resource:

  • rugguard://metrics — live empirical recall + per-chain sample counts, sourced from /v1/metrics. Free, no payment, no signature. Lets an agent (or a human reviewing the integration) audit per-heuristic recall before pointing a funded wallet at the paid tools. No competitor publishes their own miss rate — this is the differentiator made machine-discoverable.

The server holds a dedicated Base-mainnet wallet and signs each EIP-3009 USDC transferWithAuthorization transparently. The agent never sees the payment friction.

Install

pip install rugguard-mcp

First-time setup

Generate a dedicated wallet (never reuse your main one):

python -m rugguard_mcp init

This creates ~/.rugguard/wallet.json (mode 600 on POSIX) and prints the address to fund. Send 5–20 USDC on Base mainnet to that address — both Coinbase and Binance support "Network: Base" withdrawals.

Check status:

python -m rugguard_mcp status

Configure your MCP client

Claude Desktop

Edit claude_desktop_config.json (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "rugguard": {
      "command": "python",
      "args": ["-m", "rugguard_mcp"]
    }
  }
}

Restart Claude Desktop. The scan_token, pretrade_check, and explain_scan tools appear in the tool drawer.

Cursor / other MCP clients

Same mcpServers shape, point to python -m rugguard_mcp or the rugguard-mcp console script.

Safety

Spending caps (defense in depth against a runaway agent or a compromised remote server):

Cap Default Override
Per-session (resets on restart) $5 RUGGUARD_MCP_SESSION_SPEND_CAP_USD
Rolling 24 h $10 RUGGUARD_MCP_DAILY_SPEND_CAP_USD

The caps are enforced client-side, before the EIP-3009 signature — even a compromised 402 response can't trick the wallet into overspending.

Asset whitelist: the client refuses to sign for anything other than canonical USDC on Base (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) or Base Sepolia. A malicious 402 trying to redirect to a different EIP-3009-compatible token in your wallet is rejected before signing.

Replay window: EIP-3009 authorizations are bound to a 10-second validBefore window — short enough that a captured payment header can't be replayed against the USDC contract after the legitimate settlement.

Wallet at rest: ~/.rugguard/wallet.json is mode 600 on POSIX (best-effort on Windows — set ACLs manually for production-grade isolation). Treat the file like an SSH key: don't commit it, don't share it.

Configuration

Env var Default Purpose
RUGGUARD_API_URL https://rugguard.redfleet.fr Override for staging / self-hosted
RUGGUARD_X402_PRIVATE_KEY unset Legacy fallback for users who don't want init
RUGGUARD_MCP_WALLET_PATH ~/.rugguard/wallet.json Move the wallet file elsewhere
RUGGUARD_MCP_SPEND_LOG_PATH ~/.rugguard/spend_log.json Where the 24 h spend ledger lives
RUGGUARD_MCP_SESSION_SPEND_CAP_USD 5.0 Tighter cap for cautious operators
RUGGUARD_MCP_DAILY_SPEND_CAP_USD 10.0 Tighter cap for cautious operators

Source

This package is the public, slim distribution of the MCP server. The underlying RugGuard API + heuristic engine remain in a private repo. Code in this repo is MIT-licensed and auditable end-to-end — review it before pointing your funded wallet at it.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rugguard_mcp-0.2.3.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rugguard_mcp-0.2.3-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file rugguard_mcp-0.2.3.tar.gz.

File metadata

  • Download URL: rugguard_mcp-0.2.3.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rugguard_mcp-0.2.3.tar.gz
Algorithm Hash digest
SHA256 cdace4e7c646d6aaa1ba4b76f298b802f895faf28ed48fb4599c32cfd13cc51a
MD5 c2650d60d34688038b280265715b890a
BLAKE2b-256 66fedd2ac9ac2cb42890de26cc1f1bbe1e54c0c16ae8fcb05edd54d61c000cc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rugguard_mcp-0.2.3.tar.gz:

Publisher: publish.yml on dbe006/rugguard-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rugguard_mcp-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: rugguard_mcp-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rugguard_mcp-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a5422555afc4d40a150d06ccc8712e604235adc6fd3da1f7db8dfb3f23660d0f
MD5 79864074784df3a77563ce3983882086
BLAKE2b-256 869610c28824f068382a2e5d44d36ba3c6f4d5e3fd1e428f3de3632ee01105ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for rugguard_mcp-0.2.3-py3-none-any.whl:

Publisher: publish.yml on dbe006/rugguard-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page