Skip to main content
Glama

Scam Check

scam_check
Read-onlyIdempotent

Check plain text or a wallet, contract, domain, or URL for scam and phishing indicators. URLs and wallet addresses in supplied text are checked with SCAMRA threat intelligence; EVM wallets may also receive an optional Criptic cross-reference. Returns clean, caution, scam, or unknown with confidence, reasons and sources. A clean lookup is not proof of safety. AER-1 receipt, verifiable offline.

Input Schema

NameRequiredDescriptionDefault
_refNoOptional handover referral ID from your install link.
textNoMessage, email, or other text to check. Embedded URLs and wallet addresses are checked without opening the links.
chainNoOptional chain hint, such as base or monad.
targetNoAlias for a single wallet address, domain, or full URL.
_zambo_keyNoOptional opaque Zambo access capability. Never place it in a URL or public log.
_session_idNoOptional stable bot-job ID. Reuse it across calls to bind a Day Pass and keep the job ledger together.
_caller_labelNoOptional caller label recorded as a caller-reported claim in the receipt.zambo-starter
_caller_handleNoOpaque anonymous continuity handle returned during initialize. Reuse it across MCP sessions; it is not payment authorization.
_continuity_ai_labelNoOptional self-reported AI client label for the private continuity timeline. Zambo does not independently verify the client.

Output Schema

NameRequiredDescriptionDefault
okYes
idsYes
nextYes
tierNo
urlsYes
errorNo
graphNo
activeNo
resultYesThe tool's observed JSON value or plain-text result.
intentsNo
next_upNo
paymentNo
day_passNo
today_urlNo
expires_atNo
human_lineYes
next_stepsNo
daily_recapNo
renew_nudgeNo
unlock_linkNo
seconds_leftNo
resume_statusNo
resumed_resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedOutput schema / properties / daily_recap / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / error / anyOf
      Previous value: -[
      -  {
      -    "required": [
      -      "next_call"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "next_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "next_call": {}
      +    },
      +    "required": [
      +      "next_call"
      +    ]
      +  },
      +  {
      +    "properties": {
      +      "next_url": {}
      +    },
      +    "required": [
      +      "next_url"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / graph / properties / edges
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / graph / properties / nodes
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / graph / properties / retries
      Added value: +{
      +  "properties": {
      +    "max": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "used": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "used",
      +    "max"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / graph / properties / sources
      Added value: +{
      +  "properties": {
      +    "not_checked": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "not_resolved": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "resolved": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "resolved",
      +    "not_resolved",
      +    "not_checked"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / graph / properties / summary
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / next_steps / minItems
      Removed value: -1
  2. Changed1 schema field changed
    • changedOutput schema / properties / human_line / maxLength
      Previous value: -200New value: +512
  3. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: SCAMRA threat intelligence for embedded URLs/addresses, an optional Criptic cross-reference for EVM wallets, an explicit verdict vocabulary, and the important caveat that a clean result is not proof of safety. It omits any mention of access requirements despite a _zambo_key capability parameter.

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?

Five short sentences, front-loaded with the purpose before sources, return values, and the safety caveat. Each sentence contributes something distinct. The closing 'AER-1 receipt, verifiable offline' is terse and jargon-heavy but still informative rather than filler.

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

Completeness4/5

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

An output schema exists, so the description need not detail return structure, yet it still names the verdict set and confidence/reasons/sources. The safety caveat and source attribution make it complete enough to call correctly for a read-only lookup. The only gap is that the several underscore-prefixed access/continuity parameters are described solely in the schema.

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 description coverage is 100%, so the schema already carries the parameter burden and a 3 would be the baseline. The description adds genuine meaning on top: that URLs and addresses inside `text` are checked without opening links, that EVM wallets specifically may get a Criptic cross-reference, and that `target` is the single-target alternative to free text.

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?

States a specific verb ('Check') and enumerates the resources it accepts: plain text, wallet, contract, domain, or URL for scam/phishing indicators. This is well beyond a restatement of the name. It does not distinguish itself from potentially overlapping siblings such as prompt_shield or ghost_audit_site, which keeps it off a 5.

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?

Usage is implied by the input types ('plain text or a wallet, contract, domain, or URL'), so an agent can infer when the tool applies. However there is no explicit when-not guidance, no statement of prerequisites, and no pointer to an alternative for adjacent tasks like prompt injection screening or site auditing.

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