Skip to main content
Glama

scan

Read-only

Check a token on BNB Smart Chain, Ethereum, Base or Arc for traps before buying it. ChainK9 forks the chain and really buys and sells the token in a sandbox (its V2 or V3 pool: PancakeSwap on BSC, where a V2 pair against USDT or USDC is traded through BNB, Uniswap on Ethereum and Base; or its Uniswap V4 pool, hook included, against the native coin or, traded through it, USDT or USDC; on Arc, its V4 pool against USDC), then runs 70+ checks: honeypot, hidden and changing buy and sell taxes, owner pause, blacklist, mint and confiscation powers, transfer and sell limits, cooldowns, liquidity, upgrade authority. Returns a verdict (danger, caution, ok) and every check's result. Results are reused for 10 minutes. Not charged when the address isn't a token or has no liquidity yet (422). Costs $0.02 per successful call in USDC on Base, Polygon, Arbitrum, Avalanche, BNB Smart Chain (USDT) or Solana, paid with x402 in the call's _meta; failed calls are free.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "token": "<token>"
    },
    "name": "scan"
  }
}

Input Schema

NameRequiredDescriptionDefault
chainNobsc (BNB Smart Chain, the default), eth (Ethereum) or base (Base)
freshNoSet true to request a new scan for a later risk comparison; default false reuses the cache
tokenYesToken address on the chosen chain

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnly and openWorld; the description adds substantial context beyond them: the fork-and-really-trade sandbox method, the 70+ specific check classes, the 10-minute result reuse, the free-on-422 error semantics, and the $0.02 x402 price with payment supplied in _meta. The sandbox buy/sell phrasing sits under readOnlyHint=true, but since it executes on a fork rather than live state this is consistent, not contradictory.

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

Conciseness4/5

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

Purpose and verdict output are front-loaded, and each sentence carries useful information (checks, caching, pricing, error codes). The long parenthetical detailing pool/quote-asset routing is dense and partly incidental to the calling decision, which keeps it from being maximally efficient.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so: verdict enum plus every check result. It also covers cost, payment mechanism, free-failure conditions, and caching, so an agent has everything needed to decide, call, and interpret without guessing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by explaining that the chain choice determines pool venue and quote asset (PancakeSwap V2 on BSC, Uniswap on ETH/Base, V4 with hooks on Arc) and by tying `fresh` to the 10-minute cache for later risk comparisons. It does not spell out the enum value for Arc in the schema's own chain list, which is a minor inconsistency, but the semantics are otherwise well explained.

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

Purpose4/5

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

The description names a specific verb (check/scan) and resource (a token), enumerates the supported chains (BSC, Ethereum, Base, Arc) and states the concrete output (a danger/caution/ok verdict plus every check result). It clearly conveys this is a pre-buy trap check backed by a forked-chain buy/sell simulation. It stops short of distinguishing itself from the obvious siblings scan-lite, scan-ultra and simulate-trade, so an agent must infer which tier to pick.

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

Usage Guidelines3/5

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

"before buying it" gives a usable context cue, and the 10-minute cache plus the 422 no-liquidity/no-token case implicitly tell the agent when a call is pointless or free. However, with three sibling scan tiers and a simulate-trade tool available, the definition never says when to prefer this one over scan-lite (cheaper?) or scan-ultra (deeper?), which is the main routing decision an agent faces.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources