Safe or Scam
Crypto scam checks (tokens, sites, wallets), chain reads, web page to Markdown, email checks.
Should I use this
Quality & Safety
Findings (1)
- LOWin check_website
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"safe-or-scam": {
"url": "https://scam-check.safe-or-scam.workers.dev/mcp"
}
}
}Remote endpoints
https://scam-check.safe-or-scam.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢check_token(address, chain)
Is this crypto token a scam? Honeypot buy/sell simulation, hidden taxes, mint/freeze authority, hidden owner, blacklist, whale concentration, liquidity lock. Returns red/yellow/green with reasons. EVM chains + Solana.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Token contract address (0x...) or Solana mint"
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"polygon",
"optimism",
"avalanche",
"solana"
],
"description": "Chain: ethereum, bsc, base, arbitrum, polygon, optimism, avalanche, solana"
}
},
"required": [
"address",
"chain"
]
}🟢check_website(url)
Is this website a crypto scam or phishing page? Phishing databases, domain age, look-alikes of 45+ crypto brands (MetaMask, Phantom, Binance...), seed-phrase requests, wallet-drainer code. Returns red/yellow/green with reasons.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Website address, e.g. example.com or https://example.com/path"
}
},
"required": [
"url"
]
}🟡check_wallet(address, chain)
Is it safe to send crypto to this address, and is this wallet exposed? Checks scam, phishing, theft, sanctions and mixer links; risky or malicious token approvals (who can drain the wallet); contract vs personal wallet; brand-new 'poisoned' look-alike addresses. Returns red/yellow/green with reasons. EVM chains + Solana.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Wallet address (0x...) or Solana address"
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"polygon",
"optimism",
"avalanche",
"solana"
],
"description": "Chain: ethereum, bsc, base, arbitrum, polygon, optimism, avalanche, solana"
}
},
"required": [
"address",
"chain"
]
}🟢get_wallet_balances(address, chain, tokens)
Get a wallet's balances: native coin (ETH, BNB, POL, AVAX, SOL) and tokens. Solana: every SPL token held. EVM: popular tokens on the chain plus any token addresses you pass. Also returns transactions sent and whether the address is a contract.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Wallet address (0x...) or Solana address"
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"polygon",
"optimism",
"avalanche",
"solana"
],
"description": "Chain: ethereum, bsc, base, arbitrum, polygon, optimism, avalanche, solana"
},
"tokens": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional extra EVM token addresses to include (max 20)"
}
},
"required": [
"address",
"chain"
]
}🟢get_transaction(hash, chain)
Look up a transaction by hash: success/failed/pending, confirmations, time, sender, receiver, value, fee, method, decoded token and NFT transfers, and token approvals it granted (flags unlimited approvals). Solana: balance changes per account.
Input Schema
{
"type": "object",
"properties": {
"hash": {
"type": "string",
"description": "Transaction hash (0x...) or Solana signature"
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"polygon",
"optimism",
"avalanche",
"solana"
],
"description": "Chain: ethereum, bsc, base, arbitrum, polygon, optimism, avalanche, solana"
}
},
"required": [
"hash",
"chain"
]
}🟢get_token_info(address, chain)
Read a token's on-chain details: name, symbol, decimals, total supply. Solana: supply, decimals, mint authority and freeze authority.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Token contract address (0x...) or Solana mint"
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"polygon",
"optimism",
"avalanche",
"solana"
],
"description": "Chain: ethereum, bsc, base, arbitrum, polygon, optimism, avalanche, solana"
}
},
"required": [
"address",
"chain"
]
}🟢read_webpage(url, max_chars)
Fetch any public web page and return clean Markdown of its main content (headings, lists, links, code), plus title and description. Strips menus, footers, ads and scripts so it is ready for an LLM. Not charged if the page can't be fetched.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Page address, e.g. https://example.com/article"
},
"max_chars": {
"type": "number",
"description": "Max characters to return (500-100000, default 20000)"
}
},
"required": [
"url"
]
}🟢check_email(email)
Check an email address before sending or signing someone up: valid format, domain exists and accepts mail (MX), throwaway/disposable domain, typo suggestions (gmial.com → gmail.com), role addresses (info@, support@), SPF/DMARC. Returns valid / risky / invalid with reasons.
Input Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to check"
}
},
"required": [
"email"
]
}Community
Evidence