Skip to main content
Glama

rug-check 🚨

On-chain rug-pull & honeypot risk screen for ERC-20 tokens β€” for AI agents and traders.

Give it a token address and get a SAFE / CAUTION / HIGH-RISK verdict (0–100 score) in one call, built entirely from live public-RPC reads β€” no API key, no node, no signup.

MCP x402 license

rug-check is an automated on-chain risk screen, not financial advice or a safety guarantee. It pattern-matches deployed bytecode and reads chain state; it cannot catch every scam (off-chain admin keys, novel honeypots) and may flag benign contracts. Always do your own research.

Why it exists (the moat)

An AI coding/trading agent that "just reads the chain" does not know:

  • Which dangerous functions the token's deployed bytecode exposes β€” mint, blacklist, pause, setFees, setMaxTx β€” the levers used to trap or dilute holders.

  • Whether ownership is renounced, or an active owner can still call those powers after you buy.

  • How concentrated supply is in the owner/deployer wallet (dump risk).

  • Whether a DEX liquidity pair exists, how deep it is, and whether the LP tokens are locked or burned β€” the single thing that decides if the deployer can pull all liquidity (the literal "rug pull").

rug-check ABI-encodes and batches all of that, decodes the bytecode, scores it, and returns one verdict.

Related MCP server: safeagent-token-safety

What it checks

Check

What it tells you

Owner powers

scans runtime bytecode for mint / blacklist / pause / setFees / setMaxTx

Ownership

renounced vs active owner (owner() / getOwner() β†’ zero/dead = renounced)

Concentration

% of total supply held by the owner wallet

Liquidity

UniswapV2/Pancake pair reserves vs wrapped-native, depth, thin-liquidity flag

LP lock/burn

% of LP supply in burn address or known lockers (Pinksale, Unicrypt, Team.Finance…)

Proxy

EIP-1967 upgradeable-proxy detection (behaviour can change post-launch)

Chains: Ethereum, Base, BSC, Polygon, Arbitrum.

Use as an MCP server (free)

{
  "mcpServers": {
    "rug-check": { "command": "npx", "args": ["-y", "rugshield-mcp"] }
  }
}

Tools:

  • rug_check_token β€” { chain, address } β†’ full risk report.

  • rug_check_many β€” up to 10 { chain, address } β†’ batch verdicts.

Or connect over HTTP at POST /mcp.

Free HTTP API

GET /check?chain=base&address=0x4ed4e862860bed51a9570b96d89af5e1b0efefed
GET /check?chain=ethereum&address=0x6b175474e89094c44da98b954eedeac495271d0f

Rate-limited 30/h/IP.

Pay-per-call (x402)

The /pro/* routes are gated by x402. Your agent pays $0.25 USDC per call automatically β€” no sign-up, no API key. Settles on-chain (Base) to the operator wallet.

GET /pro/check?chain=base&address=0x...
GET /pro/check_many?tokens=base:0x..,bsc:0x..

Discovery: GET /openapi.json (with x-payment-info) and GET /.well-known/x402.

Develop

npm install
npm run build
npm run test:engine     # offline unit tests + live on-chain sanity checks
npm run dev:http        # local HTTP server on :8080 (payments OFF unless configured)
npm run dev:mcp         # stdio MCP server

MIT Β© rug-check

Available Tools

2 tools
rug_check_manyA

Run rug_check on up to 10 tokens at once. Pass an array of {chain,address}. Returns the verdict and score for each so an agent can screen a watchlist or a batch of candidate tokens in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensYesUp to 10 {chain,address} pairs.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses return behavior ('Returns the verdict and score for each'), but lacks details on error handling, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. Front-loaded with action and key constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and no output schema, description adequately explains input structure and output type. Could add more on output format or potential errors, but sufficient for a batch tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds little beyond schema. It repeats structure ('Pass an array of {chain,address}') and notes max 10 items, already in schema. Does not explain field semantics further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Run rug_check on up to 10 tokens at once' - specific verb and resource. Differentiates from sibling 'rug_check_token' by indicating batch capability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides examples of when to use: 'screen a watchlist or a batch of candidate tokens in one call'. Implicitly suggests using rug_check_token for a single token, but does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rug_check_tokenA

Assess whether an ERC-20 token is a likely SCAM / rug pull BEFORE buying or interacting with it. Returns a risk score (0-100) and verdict (SAFE / CAUTION / HIGH RISK) built from LIVE on-chain reads: dangerous owner powers found in the token's deployed bytecode (mint, blacklist, pause, set-fee, set-max-tx), whether ownership is renounced, what % of supply the owner holds, whether a DEX liquidity pair exists and how deep it is, and whether the LP tokens are locked/burned (so the deployer can't pull liquidity). Use this whenever a user or agent is about to trade, approve, or add liquidity for an unfamiliar token. Chains: ethereum, base, bsc, polygon, arbitrum.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesChain: ethereum, base, bsc, polygon or arbitrum.
addressYesThe token contract address (0x...).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It details the on-chain checks performed (dangerous owner powers, ownership renounced, owner supply, DEX liquidity, LP lock/burn), offering transparency about data sources. However, it does not disclose potential limitations such as API rate limits, error handling, or behavior for non-ERC-20 tokens.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the tool's main purpose and outputs, followed by methodology and usage context. Every sentence adds value; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description adequately specifies the return values (risk score 0-100, verdict) and explains the logic. It is sufficient for a tool with two simple parameters, though it could benefit from noting the exact response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (chain and address). The description reiterates the chain options and address format without adding new semantic meaning beyond what the schema provides. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool assesses whether an ERC-20 token is a likely scam/rug pull, with specific outputs (risk score 0-100 and verdict). It also names the sibling tool 'rug_check_many', which implies this tool checks a single token, distinguishing its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends using this tool 'whenever a user or agent is about to trade, approve, or add liquidity for an unfamiliar token,' providing clear context. It does not explicitly mention when not to use it or contrast with alternatives beyond naming the sibling, but the usage guidance is still strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.1
    • First observedrug_check_many
    • First observedrug_check_token

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one for batch checking up to 10 tokens, the other for individual token assessment. No overlap.

Naming Consistency5/5

Both tools follow a consistent 'rug_check_' prefix with descriptive verbs ('many' vs 'token'), all in snake_case.

Tool Count5/5

With only 2 tools, the count is minimal but perfectly scoped for the domain of rug checking, covering both individual and batch needs.

Completeness5/5

The tool set covers the primary use case (assessing token risk) with both single and batch modes, leaving no obvious gaps for the intended purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Per-transaction crypto trade validator for AI agents, validates trades with PROCEED/CAUTION/BLOCK verdicts, scans tokens for anomalies, detects rug pulls, and searches across DEXes. Powered by WaveGuard physics engine with deterministic PDE-based analysis.
    5
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Token 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.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    On-chain Solana token safety MCP β€” screens SPL / Token-2022 tokens for rug-pull and honeypot patterns (mint/freeze authority, liquidity, holders, sellability), then executes MEV-protected swaps.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    On-chain Solana token safety for trading agents β€” traces coordinated wallet funding, same-block Jito bundles, serial-rug deployers and live coordinated dumps into one Exit-Liquidity Risk verdict before a swap. Free tier, then $0.02 USDC/query via x402.
    1
    17 npm
    1
    MIT