Skip to main content
Glama

Onyx AML

Check this is the address you mean, before paying

onyx_preflight

Operational safety check for a payment, separate from risk screening. Detects address poisoning (a lookalike planted in your history so it gets copied instead of the real address), contract recipients that would swallow the tokens, and addresses that behave differently on different chains. Pass known_addresses (the counterparties you already use) to enable poisoning detection. In our live-traffic sample this class of loss came up far more often than sanctioned counterparties. Dedicated transaction-security services cover part of it; no AML screening does. Run this together with onyx_decide before every payment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYesBlockchain address (TRON, Ethereum or other EVM, Solana)
known_addressesNoAddresses you have used before, so a lookalike can be spotted. Strongly recommended.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden, and it does disclose meaningful behavior: the check is orthogonal to risk screening, coverage is partial even for dedicated transaction-security services, and one detection mode is inert unless known_addresses is supplied. It stops short of describing what a result looks like or what happens on an inconclusive address, which is the remaining gap.

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?

Core capability is front-loaded in the first two sentences and the call-to-action lands last. The live-traffic statistic sentence is persuasive padding rather than operational guidance, costing it a point, though it does reinforce why the tool matters.

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

Completeness3/5

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

With no annotations and no output schema, the description should say what a caller gets back — a verdict, a list of findings, a boolean — and it does not. The inputs, when to use it, and why it matters are all covered, so it is viable but leaves the agent guessing at the return shape.

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 coverage is 100%, so the baseline would be 3, but the description adds genuine meaning beyond the schema by explaining that known_addresses is the switch that turns on poisoning detection and that omitting it degrades the check. That is causal information the schema's 'Strongly recommended' does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('operational safety check for a payment') and enumerates exactly what it detects: address poisoning, contract recipients that swallow tokens, and chain-dependent behavior. It explicitly separates itself from risk screening, which distinguishes it from onyx_screen and the AML-flavored siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a direct usage rule — 'Run this together with onyx_decide before every payment' — plus a conditional instruction that known_addresses is what enables poisoning detection. It also carves out the alternative space by noting AML screening does not cover this class of loss.

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