Aya scam check
Server Details
Screens a message or its links for scam patterns with Aya's offline rules, in English and Spanish.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
link_check is scoped to link shape analysis only, while scam_check scores an entire message against scam rules, so the boundary is mostly clear. There is some overlap because scam_check advertises 'disguised links' as one of its signals, leaving an agent unsure whether one call suffices or both are needed for a message containing URLs.
Both tools follow the same snake_case '<subject>_check' pattern, which is predictable and easy to generalize. No mixing of naming conventions across the set.
Two tools is on the thin side, but the server has a narrow, well-defined purpose and each tool maps to a distinct layer (links vs. full message). Nothing appears redundant or padding.
The surface covers the two core workflows: judging suspicious links and scoring messages in English or Spanish with guidance on next steps. Minor gaps exist—no batch checking of multiple messages, no reputation or live resolution of domains, and no handling of non-text evidence like screenshots—but these are consistent with the stated local-only scope.
Available Tools
2 toolslink_checkInspect links without visiting themARead-onlyIdempotentInspect
Extract up to 8 links from a text and judge each by its shape alone: brand lookalikes, raw IP hosts, shorteners, encoded international domains, risky suffixes, many subdomains or hyphens, credential-style paths. Nothing is fetched or resolved.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text containing one or more links. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint=false, and idempotentHint, and the description reinforces this with 'Nothing is fetched or resolved', which is meaningful confirmation that no network egress occurs. It also discloses the hard cap of 8 links processed, a behavioral limit not present in any structured field. It stops short of describing how many inputs it can process per call or how truncated text is handled.
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?
Front-loaded with the action and scope, followed by a compact enumeration of heuristics and a one-clause safety assertion. The signal list is dense but each item is a distinct, useful discriminator; no redundant restatement of the name or title.
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?
For a one-parameter, annotation-covered, no-network tool this covers what the agent needs: what is extracted, what is examined, what is explicitly not done. With no output schema, it would help to hint at the result shape (per-link verdict versus plain list), which is the only notable omission.
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?
The single 'text' parameter is fully described in the schema (100% coverage), including a 12000-character maxLength and the requirement of at least one link. The description's 'up to 8 links' relates to output volume rather than parameter meaning, so it adds little beyond the schema; baseline 3 applies when schema coverage is complete.
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 ('Extract up to 8 links from a text') and enumerates the exact signals judged (brand lookalikes, raw IP hosts, shorteners, encoded IDNs, risky suffixes, subdomain/hyphen counts, credential-style paths). The purpose is unmistakable, but it never mentions the sibling scam_check, so the agent must infer the boundary between link-level and scam-level checking.
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?
Usage is implied by the 'judge by shape alone' framing and the 'Nothing is fetched or resolved' constraint, which tells the agent this is safe for untrusted text. However, there is no explicit when-to-use/when-not statement and no routing to the alternative scam_check tool, leaving selection between the two siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scam_checkScreen a message for scam patternsARead-onlyIdempotentInspect
Score a text, email, chat or voicemail transcript against Aya's scam rules (urgency, hard-to-reverse payments, credential and code requests, government or tech-support impersonation, prizes, family emergencies, deposits to unlock earnings, disguised links) in English or Spanish. Returns the risk level and score, the reasons, what to do now and what to do if the person already acted. Runs locally; the message is not stored or sent anywhere.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The message text as received (links may be written as hxxp or with [.]). | |
| unknownSender | No | True when the sender is not a saved contact. | |
| repeatedContact | No | True when the sender has contacted the person repeatedly. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive and closed-world behavior. The description adds genuinely new information beyond them: the shape of the output (risk level, score, reasons, recommended actions) and the privacy guarantee that the message is not stored or transmitted.
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?
Front-loaded with the action and target, and every element (pattern list, languages, outputs, privacy) carries information. The long parenthetical pattern list is dense but earns its space; no filler sentences.
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 must summarize returns, and it does so (risk level, score, reasons, immediate and follow-up actions). Parameters are fully covered by the schema, so nothing an agent needs to call this 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%, so the schema already documents all three parameters, including the hxxp/[.] link obfuscation convention. The description adds no meaning about unknownSender or repeatedContact or how they alter scoring, so it sits at the baseline.
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?
Names a specific verb (score) and resource (text, email, chat or voicemail transcript) and enumerates the scam-pattern families checked, including supported languages. An agent can tell this apart from the sibling link_check without opening either schema.
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 context for use is clear: screen a received message for scam risk. However, it never states when NOT to use it or routes the agent to link_check for URL-only inspection, even though 'disguised links' is one of the listed patterns — that overlap 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
link_check - First observed
scam_check
Related MCP Connectors
Check a suspicious email, SMS, WhatsApp message or link for scam signals (Netherlands, Belgium).
Scan suspicious messages, URLs, and text for scams with AI. Free tier - no API key required.
Send anything. Get the truth — REAL, SUSPICIOUS or LIKELY SCAM verdicts on messages and links.
Crypto scam checks (tokens, sites, wallets), chain reads, web page to Markdown, email checks.
Related MCP Servers
- AlicenseAqualityCmaintenanceScans suspicious messages, URLs, and text for scams inside any MCP-compatible AI assistant. No signup or API key needed for anonymous use.137 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to check whether a crypto token, link, or forwarded "gem" message is a scam by running contract rules, live test trades, creator history, and market data across 64 networks, returning plain-English or Pidgin verdicts. Also supports scanning messages, reviewing a token's past checks, and explaining individual findings.5MIT
- FlicenseNot gradedqualityCmaintenanceEnables checking suspicious emails, SMS, WhatsApp messages, links or screenshot descriptions for scam signals targeting people in the Netherlands and Belgium, returning a verdict, the red flags found, the impersonated brand and next-step advice. Exposes a single check_message tool over a hosted Streamable HTTP endpoint.-
- AlicenseAqualityAmaintenanceEnables checking whether a crypto link is a phishing lookalike of a wallet, exchange or dapp by comparing it against official domains and flagging lookalike characters, typosquats, punycode and bait words, fully offline. An optional paid full check adds domain registration age, DNS, redirect tracing and a page scan for seed-phrase prompts and drainer code.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.