Flags memecoins impersonating real brands, official tokens and tokenized stocks. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional API key from https://deepcounterfeit.com/signup for real-time data. Omit for the free tier (5 calls/min, 24 h delayed).
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Run the impersonation detector on a token name and/or ticker symbol without needing an address. Tells you whether a coin called e.g. "SpaceX Official" ($SPACEX) or "TSLAx" would be flagged as impersonating a brand, which brand, and why. Use for pre-launch name checks, or when a user mentions a coin by name and you have no address (with an address, use check_token). Does not assess creator behaviour.
Token name, e.g. "Coinbase Official Token".
Ticker symbol without $, e.g. "COIN".
Optional token description text.
Tool list last changed Oct 23, 2026.
Run the impersonation detector on a token name and/or ticker symbol without needing an address. Tells you whether a coin called e.g. "SpaceX Official" ($SPACEX) or "TSLAx" would be flagged as impersonating a brand, which brand, and why. Use for pre-launch name checks, or when a user mentions a coin by name and you have no address (with an address, use check_token). Does not assess creator behaviour.
| Argument | Type | Description |
|---|---|---|
| name | string | Token name, e.g. "Coinbase Official Token". |
| symbol | string | Ticker symbol without $, e.g. "COIN". |
| description | string | Optional token description text. |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Token name, e.g. \"Coinbase Official Token\"."
},
"symbol": {
"type": "string",
"description": "Ticker symbol without $, e.g. \"COIN\"."
},
"description": {
"type": "string",
"description": "Optional token description text."
}
}
}Look up a deployed token by contract/mint address and report whether it impersonates a real company, its "official" token or its tokenized stock (e.g. a fake SpaceX, Coinbase or NVDAx coin). Returns verdict (likely_impersonation | brand_mention_watch | not_in_index), matched brands, risk score 0-100 with reasons (creator bought supply at launch, same-block bundles, creator cash-out, serial launcher), creator wallet and explorer links. Use before buying, listing or promoting a token. "not_in_index" only means no brand match was recorded, not that the token is safe. Without an API key: brand match and coin only (flagged as likely impersonation), no risk score, creator wallet or forensics.
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional chain filter. |
| address* | string | Token mint (Solana) or contract address (0x... on BNB Chain, Base, Robinhood Chain). |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"solana",
"bsc",
"base",
"robinhood"
],
"type": "string",
"description": "Optional chain filter."
},
"address": {
"type": "string",
"description": "Token mint (Solana) or contract address (0x... on BNB Chain, Base, Robinhood Chain)."
}
}
}Fetch the full check_token result for a result id returned by search (format "<chain>:<address>"): verdict, matched brands, match type and explorer links; with an API key also risk score, reasons and creator facts. Use after search; for a known address call check_token directly.
| Argument | Type | Description |
|---|---|---|
| id* | string | Result id from search, e.g. "solana:<mint>" or "bsc:0x...". |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Result id from search, e.g. \"solana:<mint>\" or \"bsc:0x...\"."
}
}
}Evidence pack for a flagged pump.fun token, creator wallet group or caller: detectors fired (bundled launch, creator sell-off, wash-like trading, sells after a call, caller sold into own call, recurring launch-and-exit) each with confidence, plain-English on-chain reason and false-positive note; supporting tx signatures with Solscan links, UTC block times and amounts; timeline with price impact; per-wallet P&L; funding/exchange cash-out graph with label sources; SHA-256 integrity hash. Look up by case id (TK-/CL-/KOL-), token mint or wallet; empty = index of cases. On-chain facts only, no claims about intent or identity. Without a trial/paid key: preview (summary, detectors, hash, first transactions).
| Argument | Type | Description |
|---|---|---|
| id | string | Case id, e.g. TK-xxxxxxxxxx, CL-..., KOL-... |
| mint | string | pump.fun token mint. |
| wallet | string | Creator or caller wallet. |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Case id, e.g. TK-xxxxxxxxxx, CL-..., KOL-..."
},
"mint": {
"type": "string",
"description": "pump.fun token mint."
},
"wallet": {
"type": "string",
"description": "Creator or caller wallet."
}
}
}Summarise impersonation activity against one brand over a window: number of fake coins, traded volume, breakdown by chain/match type/severity, repeat creator wallets, how many creators bought 50%+ of supply, and the top cases with evidence. Pro/Wholesale keys also get the takedown-ready PDF link.
| Argument | Type | Description |
|---|---|---|
| days | number | Look-back window in days. |
| brand* | string | Brand id, name or ticker, e.g. "anthropic", "Coinbase", "NVDA". |
{
"type": "object",
"required": [
"brand"
],
"properties": {
"days": {
"type": "number",
"default": 30,
"maximum": 365,
"minimum": 1,
"description": "Look-back window in days."
},
"brand": {
"type": "string",
"description": "Brand id, name or ticker, e.g. \"anthropic\", \"Coinbase\", \"NVDA\"."
}
}
}Aggregate numbers for a window: alerts, high-severity count, brands hit, by chain, by match type, top brands, data-source health and coverage. Use for overviews, trend questions and to check data freshness.
| Argument | Type | Description |
|---|---|---|
| days | number | Window in days (1 = last 24 h). |
{
"type": "object",
"properties": {
"days": {
"type": "number",
"default": 1,
"maximum": 90,
"minimum": 0.04,
"description": "Window in days (1 = last 24 h)."
}
}
}Create a free 14-day trial API key for your user instantly (no card): real-time data, full evidence and no daily cap instead of the keyless Free tier (24 h delayed, limited free calls per day). ONLY call this with your user's explicit consent, using their own email address. The key is returned once: give it to your user and add it to this MCP connection as the X-API-Key header (or ?key= in the server URL). This tool never counts against the free daily limit.
| Argument | Type | Description |
|---|---|---|
| email* | string | Your user's own email address (work or personal; disposable domains are rejected). |
| company | string | Optional company or project name. |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "Your user's own email address (work or personal; disposable domains are rejected)."
},
"company": {
"type": "string",
"description": "Optional company or project name."
}
}
}For a public pump.fun caller (wallet or public handle), how often its wallet bought before posting a call, median lead time, how often it sold within 1 h of the call, how often the token fell 50%+ within 1 h, calls on serial-launcher tokens, and creator-to-caller transfers found in traced creator wallets. Public handles and wallets only. Without a trial/paid key: headline numbers only.
| Argument | Type | Description |
|---|---|---|
| wallet_or_handle* | string | Caller wallet address, pump.fun username or X handle. |
{
"type": "object",
"required": [
"wallet_or_handle"
],
"properties": {
"wallet_or_handle": {
"type": "string",
"description": "Caller wallet address, pump.fun username or X handle."
}
}
}List the brands on the watchlist (companies, tokenized stocks, crypto projects, private companies) with ids, tickers and all-time alert counts, most-targeted first. Use to find a brand id or check whether a brand is covered.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max brands to return, most-targeted first. |
| query | string | Optional substring of name, id, alias or ticker. |
| category | string | Optional: sp500, xstock, crypto, private, foreign, consumer, media, finance, sports, stock. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 400,
"minimum": 1,
"description": "Max brands to return, most-targeted first."
},
"query": {
"type": "string",
"description": "Optional substring of name, id, alias or ticker."
},
"category": {
"type": "string",
"description": "Optional: sp500, xstock, crypto, private, foreign, consumer, media, finance, sports, stock."
}
}
}Search the impersonation index by brand name, ticker or coin name. Returns result ids for fetch. Prefer search_alerts / check_name when available.
| Argument | Type | Description |
|---|---|---|
| query* | string | Brand name/ticker (e.g. "SpaceX", "TSLA") or part of a coin name. Brand matches return that brand's latest alerts; otherwise coin names are substring-matched. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Brand name/ticker (e.g. \"SpaceX\", \"TSLA\") or part of a coin name. Brand matches return that brand's latest alerts; otherwise coin names are substring-matched."
}
}
}List recent impersonation coins, newest first, filtered by brand, chain, time and severity. Use to answer "are there fake <brand> tokens?", to monitor a brand, or to collect cases for a takedown. Free tier returns alerts older than 24 h only (max 20).
| Argument | Type | Description |
|---|---|---|
| brand | string | Brand id, name, or ticker, e.g. "spacex", "SpaceX", "TSLA". See list_brands. |
| chain | string | Optional chain filter (bsc = BNB Chain, robinhood = Robinhood Chain). Omit for all chains. |
| limit | integer | Max alerts to return (Free tier capped at 20). Narrow with since/brand instead of paging. |
| since | string | Start time: relative ("24h", "7d", "30m"), ISO 8601 ("2026-10-01") or unix seconds. |
| min_risk | integer | Only alerts with risk score >= this (needs an API key; ignored on the keyless Free tier). |
| severity | string | high = risk 70+, medium = 50-69. |
| include_watch | boolean | Also include watch-tier brand mentions (memes), not just impersonation alerts. |
Score 0-100 of on-chain patterns consistent with market manipulation for a pump.fun token (last 72 h): bundled launch, creator sell-off, coordinated early-wallet dump, wash-like round-trip volume, serial-launcher group, collapse with early wallets in profit; plus the creator's exchange cash-out trail when traced. Without a trial/paid key: score and patterns only.
| Argument | Type | Description |
|---|---|---|
| mint* | string | pump.fun token mint address. |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "pump.fun token mint address."
}
}
}For a Solana wallet (typically a token creator), return where its SOL/USDC went: transfers followed up to 3 hops to exchange hot wallets (Binance, OKX, Coinbase, Bybit, ... from a public label set), likely exchange deposit addresses, its funding source, and its wallet group (linked creator wallets, serial-launch statistics). Covers wallets in the current forensics snapshot (creators of flagged impersonation coins, serial launchers, creators of KOL-called tokens). Patterns only, not findings about any person. Without a trial/paid key: summary preview.
| Argument | Type | Description |
|---|---|---|
| wallet* | string | Solana wallet address (base58). |
{
"type": "object",
"required": [
"wallet"
],
"properties": {
"wallet": {
"type": "string",
"description": "Solana wallet address (base58)."
}
}
}{
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "Brand id, name, or ticker, e.g. \"spacex\", \"SpaceX\", \"TSLA\". See list_brands."
},
"chain": {
"enum": [
"solana",
"bsc",
"base",
"robinhood"
],
"type": "string",
"description": "Optional chain filter (bsc = BNB Chain, robinhood = Robinhood Chain). Omit for all chains."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Max alerts to return (Free tier capped at 20). Narrow with since/brand instead of paging."
},
"since": {
"type": "string",
"description": "Start time: relative (\"24h\", \"7d\", \"30m\"), ISO 8601 (\"2026-10-01\") or unix seconds."
},
"min_risk": {
"type": "integer",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Only alerts with risk score >= this (needs an API key; ignored on the keyless Free tier)."
},
"severity": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"description": "high = risk 70+, medium = 50-69."
},
"include_watch": {
"type": "boolean",
"default": false,
"description": "Also include watch-tier brand mentions (memes), not just impersonation alerts."
}
}
}