RelayShield Scam Checks
Server Details
Free scam checks for links, wallets, emails, and breach exposure. No signup.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a clearly distinct artifact: an email address (check_breach), a suspicious email's parsed content (check_email), a URL (check_link), and a crypto wallet address (check_wallet). The only slight overlap is that check_email also checks embedded links, but its primary purpose (scoring email phishing signals) is clearly separate from check_link's per-URL lookups.
All four tools follow the identical check_<noun> verb_noun pattern (check_breach, check_email, check_link, check_wallet). No mixing of conventions or vague verbs.
Four tools is well-scoped for a scam/fraud checking service, with each tool covering one core artifact type. Nothing feels padded or missing at the count level.
The set covers the main scam vectors—breach exposure, phishing email content, malicious links, and risky wallets—with read-only lookups that fit the stated purpose. Minor gaps remain (e.g. domain or phone-number checks, bulk email-address breach lookups), but core workflows are covered.
Available Tools
4 toolscheck_breachCheck an email against known data breachesARead-onlyInspect
Checks whether an email address appears in known data breaches. Provide email. Returns the number of breaches found with the named sources behind each; a count of zero means no breaches were found in the corpus, not that the address is safe. Read-only: it only looks up breach records. Requires the RELAYSHIELD_API_KEY environment variable; without it, the tool returns setup instructions instead of calling the API.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to check. Case-insensitive. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/destructiveHint=false, so the safety profile is covered; the description goes well beyond that. It discloses the zero-count interpretation caveat, the return shape (breach count plus named sources), and an important failure mode (missing RELAYSHIELD_API_KEY returns setup instructions instead of calling the API).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it does, how to call it, and what comes back. The key caveat (zero ≠ safe) is placed early and every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return value (count plus named sources) and the setup-instructions fallback when the API key is absent. For a one-parameter read-only lookup, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single email parameter, including case-insensitivity, so the description's 'Provide email' adds nothing over the schema. Baseline 3 is appropriate when the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: checks an email address against known data breaches. The resource is distinct from the sibling tools (check_link, check_wallet), but the description never names those alternatives, so the differentiation is left to inference rather than made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies a genuinely useful interpretive rule ('a count of zero means no breaches were found in the corpus, not that the address is safe') and the API-key prerequisite, but gives no explicit when-to-use-this-vs-check_email guidance or any exclusion criteria. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_emailScore an email for phishing signalsARead-onlyInspect
Scores a suspicious email for phishing signals from its parsed fields. Provide any of: from_address, from_name, reply_to, return_path, subject, body_text, and links (up to 25). Returns a risk level and score with the specific flags behind them; links in the email are also checked against RelayShield's threat-intelligence corpus. A verdict of unknown means nothing conclusive was found; this tool never reports an email as safe.
| Name | Required | Description | Default |
|---|---|---|---|
| links | No | Links found in the body, up to 25. | |
| subject | No | Message subject. | |
| reply_to | No | Reply-To address, if present and different from from_address. | |
| body_text | No | Plain-text body, used for urgency/deadline/threat phrasing. | |
| from_name | No | The claimed sender's display name. | |
| return_path | No | Envelope sender, if available. Informational only. | |
| from_address | No | The claimed sender's address, e.g. alerts@phrase.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive), so the bar is lower; the description still adds useful behavior: the return shape (risk level, score, specific flags), the 'unknown means nothing conclusive' semantic, and the explicit guarantee that it never reports an email as safe. This 'never says safe' caveat is exactly the kind of nuance an agent needs and cannot get from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose, then inputs, then return semantics. Tight overall, though the mid-sentence param enumeration partially duplicates the schema and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 itself and does so: it explains the risk level, score, flags, the 'unknown' verdict, and the no-safe-verdict guarantee. All seven optional parameters are schema-documented, so nothing needed to call the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented, and the baseline is 3. The description only re-enumerates the field names plus the 'up to 25' link cap that the schema already states via maxItems, adding no new syntax or format meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('scores') and resource ('a suspicious email for phishing signals') and names the input surface. It is clearly distinguishable from siblings check_breach, check_link, and check_wallet, which operate on different artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Provide any of' communicates that inputs are flexible and nothing is required, which is implied usage guidance. However, it never says when to reach for check_email versus check_link, even though link analysis is a documented sub-behavior here, so routing between siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_linkCheck links for phishing and malwareARead-onlyInspect
Checks one URL, or up to 25 URLs in a single call, against RelayShield's threat-intelligence corpus for known phishing, malware, and scam abuse. Provide either url (a single http:// or https:// link) or urls (an array of up to 25 links). Returns a per-link verdict of FLAGGED or unknown with the reasons behind each verdict, plus counts of checked, flagged, and incomplete links. A verdict of unknown means nothing is known against the link; this tool never reports a link as safe.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A single link starting with http:// or https://. Omit when sending urls. | |
| urls | No | Up to 25 links to check in one call. Omit when sending url. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/non-destructive annotations, it discloses the batch ceiling, the verdict vocabulary (FLAGGED or unknown), the returned counts, and critically the semantics that 'unknown' means nothing is known and the tool 'never reports a link as safe' — preventing an agent from misreading a non-flag as a clean bill of health.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the purpose, and every sentence carries useful content. The 'Provide either url or urls' instruction slightly repeats the earlier 'one URL, or up to 25 URLs' framing, a small redundancy that costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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: per-link verdicts with reasons plus checked/flagged/incomplete counts. For a two-parameter read-only checker, nothing an agent needs to call or interpret it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both parameters including 'Omit when sending url/urls' and maxItems 25, so the baseline is 3. The description largely restates those same constraints rather than adding new parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (checks URLs against RelayShield's threat-intelligence corpus for phishing, malware, and scam abuse) and scopes the input shape (one URL or up to 25). The URL-centric scope cleanly distinguishes it from the siblings check_breach, check_email, and check_wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent how to invoke it ('Provide either `url` ... or `urls`'), making the mutual exclusivity of the two parameters clear. It gives no explicit when-not-to-use guidance or routing advice relative to the sibling checkers, but the resource boundary is unambiguous enough that the gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_walletCheck a crypto wallet for riskARead-onlyInspect
Returns a read-only risk assessment of a cryptocurrency wallet address. It never moves funds or initiates transactions. Provide address; the chain (EVM, Solana, TON, or Bitcoin) is detected from the address format automatically. Returns a risk level of CRITICAL, HIGH, MEDIUM, LOW, or unknown, with the specific sanctions, scam, drainer, and phishing flags behind it. A verdict of unknown means nothing is known against the address; it does not mean the address is safe.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address to screen. Chain is auto-detected. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description goes beyond them with the non-obvious caveat that an 'unknown' verdict means nothing is known against the address and is NOT a safety assertion — a genuinely useful interpretive rule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the operation and its read-only nature, then input handling, then return vocabulary, then the critical 'unknown' caveat. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry return-value semantics — and it does, enumerating the risk levels (CRITICAL/HIGH/MEDIUM/LOW/unknown) and the underlying sanction, scam, drainer, and phishing flags. Nothing an agent needs to call or interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the schema already documents `address` and auto-detection. The description restates the auto-detection behavior but adds no format or validation detail beyond the schema, matching the baseline-3 case for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — a read-only risk assessment of a cryptocurrency wallet address — and immediately scopes what it does not do (never moves funds). The wallet-screening resource is clearly distinct from the sibling check_email, check_link, and check_breach tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells the agent how to invoke it (provide `address`, chain is auto-detected) and clarifies the read-only nature, which sets expectations for use. It does not name when to prefer a sibling or state exclusion conditions, but the siblings target entirely different resources so the distinction is self-evident.
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.
4 tool updates
- First observed
check_breach - First observed
check_email - First observed
check_link - First observed
check_wallet
Related MCP Connectors
Free crypto scam checks: token and contract risk, scam or sanctioned addresses, phishing links.
Scan suspicious messages, URLs, and text for scams with AI. Free tier - no API key required.
Crypto transaction safety tool — screens addresses and transactions for scam risk.
AI-powered scam and threat verification for phone numbers, URLs, texts, and emails.
Related MCP Servers
- AlicenseBqualityBmaintenanceProvides on-chain forensic checks for evaluating transaction risks, including token verification, rug-pull detection, and fund tracing, using public blockchain endpoints.1210 npmMIT

WalletTriage MCPofficial
AlicenseAqualityDmaintenanceReal-time exploit-exposure check for EVM wallets with x402 USDC payments, no signup needed.237 npmMIT- AlicenseAqualityCmaintenanceScans suspicious messages, URLs, and text for scams inside any MCP-compatible AI assistant. No signup or API key needed for anonymous use.1228 npmMIT
- AlicenseAqualityFmaintenanceAI-powered threat verification across 6 channels: phone numbers, URLs, text messages, emails, documents, and QR codes. Analyzes threats against 10M+ intelligence records from FTC, FCC, URLhaus, ThreatFox, and community reports, returning risk scores, verdicts, and detailed signals.101MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.