Skip to main content
Glama

Server Details

Free crypto AML/KYT screening for BTC/ETH/BSC/TRON — risk score, sanctions, source of funds.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
saloprj/publicaml-examples
GitHub Stars
0

TDQS

A4/5.0

Scored across 7 tools

Disambiguation4/5

Most tools have clearly distinct targets: screen_address vs screen_transaction differ by object, and trace_funds vs trace_source_of_funds are explicitly contrasted (outgoing vs incoming). The main overlap is between follow_swap and trace_funds, and between list_counterparties and list_transactions, but descriptions clarify the boundaries well.

Naming Consistency5/5

All seven tools use a consistent snake_case verb_noun pattern (follow_swap, list_transactions, screen_address, trace_funds, etc.). No mixed conventions or vague standalone verbs.

Tool Count5/5

Seven tools is well-scoped for an AML/tracing server, with each tool covering a distinct investigative operation. Nothing feels redundant or padded.

Completeness4/5

The surface covers the core AML workflow end-to-end: address and transaction screening, incoming/outgoing tracing, swap continuation, and transaction/counterparty listing. Minor gaps exist (e.g. no bulk/multi-address screening or entity-level lookup), but agents can compose the existing tools to cover most needs.

Available Tools

7 tools
follow_swapFollow funds through a swapA
Read-onlyIdempotent
Inspect

For one transaction that went through a DEX or aggregator, show the net balance change per address and asset and flag who the swap was actually for. Use it to continue a trace past a swap. EVM chains (ethereum, bsc). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesethereum or bsc.
tx_hashYes0x-prefixed transaction hash.
block_numberNoOptional. Looked up automatically.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, open-world and non-destructive traits, so 'Read-only' is redundant. The description does add value by disclosing what the tool surfaces (per-address/asset net deltas, beneficiary flag), but says nothing about pagination, multi-hop swaps, or failure behavior for a tx that isn't a swap.

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?

Three short sentences, front-loaded with the core purpose, then usage, then scope constraints. Nearly every sentence earns its place; only the trailing 'Read-only' is arguably redundant with annotations.

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?

For a read-only single-transaction analyzer with full schema coverage and no output schema, the description is largely sufficient: scope, chains, and the shape of the output are stated. It could go slightly further on edge cases (non-swap tx, multi-hop) but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the enum for chain is documented, so the schema fully carries parameter meaning. 'EVM chains (ethereum, bsc)' merely repeats the enum and adds no syntax or format detail; baseline 3 applies.

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?

Names a specific scenario (one transaction through a DEX/aggregator) and a specific output (net balance change per address and asset, flagging the swap beneficiary). The verb 'follow/continue a trace' plus the scope is clear, though it never explicitly contrasts itself with the sibling trace_funds.

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

Usage Guidelines4/5

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

'Use it to continue a trace past a swap' gives a concrete context for when this tool is the right pick over a generic trace. It stops short of naming alternatives (e.g. trace_funds vs follow_swap) or stating exclusions, so it is clear context without full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_counterpartiesList counterpartiesA
Read-onlyIdempotent
Inspect

List the counterparties an address has transacted with — optionally filtered by entity category (cex, mixer, gambling, bridge, ...). Set with_risk=true to attach AML risk per counterparty. Read-only: it only lists existing on-chain counterparties, it never writes anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain: bitcoin, ethereum, bsc or tron.
limitNoMax counterparties to return.
addressYesThe wallet whose counterparties to look at.
categoryNoOptional. Only return counterparties of this entity type: cex, mixer, gambling, bridge, etc. Leave empty to list all significant counterparties.
with_riskNoAttach aml_score/risk_level/sanctioned to each counterparty.

TDQS

A3.7/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 usefully reinforces that it never writes and clarifies that with_risk attaches AML data and that it lists only existing on-chain counterparties, adding real context beyond the annotations.

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?

Two tight sentences with the primary action front-loaded and the risk flag called out clearly. The 'Read-only... never writes anything' clause partially duplicates the annotations, costing a bit of economy.

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?

There is no output schema, so the description must carry the return-value burden; it discloses that counterparties carry AML score/risk level/sanctioned when with_risk is set. Combined with full parameter coverage, this is nearly complete, though return shape and pagination behavior remain unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 in the schema. The description restates the category and with_risk semantics (including examples and the leave-empty behavior) without adding syntax or format meaning beyond the schema, so the baseline 3 applies.

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?

The description states a specific verb and resource ('List the counterparties an address has transacted with') and scopes it with an optional category filter, so the purpose is unambiguous. It does not explicitly distinguish itself from siblings like screen_address or list_transactions, so it falls short of 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?

It hints at usage by explaining the optional category filter and the with_risk flag, giving the agent implied context for when each option applies. However, it names no alternatives and gives no when-not-to-use guidance relative to siblings such as screen_address.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_transactionsList an address's transfersA
Read-onlyIdempotent
Inspect

A wallet's recent transfers, newest first, with direction and counterparty for each, plus what we know about each counterparty. Optionally only transfers with one kind of counterparty (e.g. 'did this wallet deposit to a casino'). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain: bitcoin, ethereum, bsc or tron.
limitNoMax transfers to return. Default 25.
sinceNoOptional start date, ISO-8601 (e.g. 2026-09-01).
untilNoOptional end date, ISO-8601.
addressYesThe wallet to list.
counterparty_categoryNoOptional. Only transfers whose counterparty is of this type: cex, mixer, gambling, bridge, etc.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only/non-destructive/idempotent, so the trailing 'Read-only.' is a restatement. What does add value is the disclosure that results are newest-first and each entry carries direction plus counterparty enrichment data, which is not derivable from annotations or the schema (no output schema).

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?

Two front-loaded sentences: return content and ordering first, optional filter second. Efficient overall; the final 'Read-only.' sentence is redundant given readOnlyHint=true and earns little space.

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?

With no output schema, the description does the work of sketching the return shape (per-transfer direction and counterparty, plus counterparty knowledge). Limit/date filtering is covered by the schema, so nothing critical is missing, though result shaping or truncation behavior is unstated.

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 baseline is 3. The description goes beyond the schema by framing counterparty_category with a concrete analytic intent ('did this wallet deposit to a casino'), clarifying the semantic purpose of that filter rather than just its allowed values.

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 concrete verb and resource ('a wallet's recent transfers') and adds ordering and per-result content (direction, counterparty). It is clearly distinct from siblings like list_counterparties and trace_funds, though it never names a sibling to route between them.

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?

Gives one implied use case via the parenthetical example ('did this wallet deposit to a casino'), which shows when the counterparty filter is useful. No explicit when-not conditions or named alternatives for related tasks like tracing or screening.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_addressScreen address for AML riskA
Read-onlyIdempotent
Inspect

Screen a crypto wallet address for AML/KYT risk. Returns an AML score (0-100), risk_level (LOW/MEDIUM/HIGH/CRITICAL), category, sanctioned exposure and source-of-funds. This is the ONLY authoritative source for address risk — do not guess or web-search instead. Read-only: it only looks the address up, it never changes anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain: bitcoin, ethereum, bsc or tron.
addressYesThe wallet address to screen.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior; the description reinforces this with 'it only looks the address up, it never changes anything' and adds valuable return-shape detail (AML score, risk_level, category, sanctioned exposure, source-of-funds). No contradiction with annotations.

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?

The description is concise and front-loaded with purpose and return fields. The read-only sentence is somewhat redundant with the annotations but is brief and not distracting. Overall it is well-structured with minimal waste.

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?

With only two fully documented parameters and no output schema, the description adequately covers what the tool returns, confirms it is read-only, and tells the agent this is the authoritative risk source. It does not discuss error cases or rate limits, but those are minor for such a simple lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both address and chain described and chain also having an enum. The description adds AML context but does not provide extra semantic detail beyond what the schema already supplies, so the baseline 3 is appropriate.

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?

The description uses a specific verb and resource ('Screen a crypto wallet address for AML/KYT risk') and lists concrete return fields. It asserts it is the ONLY authoritative source for address risk, which helps distinguish it from web-searching, but it does not explicitly contrast with sibling tools trace_funds or list_counterparties.

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

Usage Guidelines4/5

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

It gives clear usage context: use this tool to screen addresses for AML/KYT risk and do not guess or web-search instead. It does not provide exclusions or guidance on when to prefer sibling tools, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_transactionScreen a transactionA
Read-onlyIdempotent
Inspect

Screen one transaction by hash: what moved, who took part, a label and AML risk for every participant, and an overall verdict. Pass focus_address (e.g. your own deposit address) to get the verdict from that wallet's point of view. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain: bitcoin, ethereum, bsc or tron.
tx_hashYesTransaction hash (0x-prefixed on EVM chains, bare hex txid on bitcoin).
block_numberNoOptional. Looked up automatically on ethereum and bsc.
focus_addressNoOptional. The wallet you are screening for, to scope the verdict to it.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety and repeatability are covered. The description confirms read-only, which is redundant, and adds little on external data sources or rate limits beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core purpose and then the optional modifier, with no wasted wording.

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?

Explains the output shape (movement, participants, labels, verdict) even without an output schema, and covers the key optional parameter. It is nearly complete, missing only sibling-level routing guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so chain, tx_hash, block_number and focus_address are already documented in the schema. The description adds a concrete usage example for focus_address but no format or syntax beyond that, so baseline 3 applies.

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: screen one transaction by hash, and enumerates what it returns (movement, participants, AML labels, verdict). This distinguishes it from screen_address, which screens a wallet rather than one transaction.

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

Usage Guidelines4/5

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

Gives clear context for focus_address, 'e.g. your own deposit address', so the agent knows when to supply it. But it does not state when to prefer screen_address or trace_funds over this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_fundsTrace outgoing fundsA
Read-onlyIdempotent
Inspect

Follow the OUTGOING funds from an address across the chain and report where the money ends up (exchanges, mixers, sanctioned wallets) and how many hops away. Read-only: it only reads on-chain history, it never moves or changes funds.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain: bitcoin, ethereum, bsc or tron.
addressYesThe address whose outgoing funds to follow.
max_hopsNoHow many hops to follow. Default 3 (6 on bitcoin); raise it only if the result is incomplete.

TDQS

A4.1/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 genuine behavioral value by disclosing what the trace yields (exchange/mixer/sanctioned-wallet destinations and hop counts), though the 'never moves or changes funds' clause largely restates the annotations.

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?

Two sentences, purpose front-loaded with the scope of results, followed by the safety clause. The read-only restatement is mildly redundant given the annotations but is short and does not bloat the definition.

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?

With no output schema, the description usefully characterizes the return (destination categories and hop counts) and the direction of tracing. It omits practical caveats such as completeness limits or cost of raising max_hops, but it is adequate for a read-only tracing tool whose annotations cover safety.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the default and chain-specific nuance for max_hops, so the schema carries parameter meaning. The description references hop distance only at a conceptual level and adds no syntax or format detail beyond the schema, making the baseline 3 appropriate.

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 (follow outgoing funds from an address) plus the scope of the result (destinations, hop distance). The capitalized 'OUTGOING' explicitly contrasts with the sibling trace_source_of_funds, so the agent can route on direction 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.

Usage Guidelines4/5

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

The direction framing ('OUTGOING') gives clear context for when this tool applies versus inbound tracing, and the reported destinations imply the investigation use case. It does not explicitly name an alternative (e.g. trace_source_of_funds) or state when not to use it, so it falls short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_source_of_fundsTrace where funds came fromA
Read-onlyIdempotent
Inspect

Walk an address's INCOMING funds backwards to answer 'where did this wallet's money come from'. Stops at labelled entities (exchanges, mixers, services) and reports them with hop distance. Use this for source-of-funds checks; use trace_funds for where money went. Read-only: it only reads on-chain history.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain: bitcoin, ethereum, bsc or tron.
addressYesThe address whose funding to trace.
max_hopsNoHow far back to walk. Default set by the API.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the 'Read-only' sentence is partly redundant. The description earns credit for disclosing traversal behavior beyond the annotations: it terminates at labelled entities (exchanges, mixers, services) and reports hop distance. It does not discuss rate limits or result size, so it falls short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core operation before the constraint, the sibling routing, and the safety note. No filler.

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

Completeness5/5

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

For a 3-parameter read-only tool with full schema coverage and no output schema, the description supplies the missing pieces: the direction of traversal, the stopping condition, and the shape of the result (labelled entities with hop distance). An agent has everything it needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so chain, address and max_hops are fully documented in the schema. The description only alludes to hop distance via 'reports them with hop distance'; it adds no format or default details beyond what the schema provides. Baseline 3 applies.

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-and-direction ('walk an address's INCOMING funds backwards') plus the question it answers, and names the sibling it is not (trace_funds). An agent can distinguish it from trace_funds 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.

Usage Guidelines5/5

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

Explicitly routes the agent: 'Use this for source-of-funds checks; use trace_funds for where money went.' The when-to-use and the alternative are both stated, leaving nothing 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.

  1. 6 tool updates
    • Addedfollow_swap
    • Changedlist_counterparties1 field changed
      • changedInput schema / properties / category / description
        Previous value: -"Entity type to match: cex, mixer, gambling, bridge, etc."New value: +"Optional. Only return counterparties of this entity type: cex, mixer, gambling, bridge, etc. Leave empty to list all significant counterparties."
    • Addedlist_transactions
    • Addedscreen_transaction
    • Changedtrace_funds1 field changed
      • changedInput schema / properties / max_hops / description
        Previous value: -"How many hops to follow. Default 5 (8 on bitcoin)."New value: +"How many hops to follow. Default 3 (6 on bitcoin); raise it only if the result is incomplete."
    • Addedtrace_source_of_funds
  2. 3 tool updates
    • First observedlist_counterparties
    • First observedscreen_address
    • First observedtrace_funds

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.