# io.github.saloprj/publicaml

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

- name: io.github.saloprj/publicaml
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 93/100
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.saloprj%2Fpublicaml
- tools: https://api.protogrid.dev/v1/servers/io.github.saloprj%2Fpublicaml/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "publicaml": {
      "type": "http",
      "url": "https://mcp.publicaml.org/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 97
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-94% ~updated-52d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,638 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 7 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 1,638 tokens to load them all
- tool set hash: 83712f2ad0b280825a70d2bd74612a1d
- tools last changed: 2026-09-29T18:29:39.728Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.saloprj/publicaml.svg)](https://protogrid.dev/servers/io.github.saloprj/publicaml)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-29 `list_transactions` changed (annotations)
- 2026-09-29 `follow_swap` changed (annotations)
- 2026-09-29 `screen_transaction` changed (annotations)
- 2026-09-29 `trace_source_of_funds` changed (description, annotations)
  - before: 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.
  - after: 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. Answers source-of-funds questions. Read-only: it only reads on-chain history.
- 2026-09-29 `list_counterparties` changed (annotations)
- 2026-09-29 `trace_funds` changed (annotations)
- 2026-09-29 `screen_address` changed (description, annotations)
  - before: 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.
  - after: 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. Read-only: it only looks the address up, it never changes anything.

Full history: https://api.protogrid.dev/v1/servers/io.github.saloprj%2Fpublicaml/changes

## Remotes

- https://mcp.publicaml.org/mcp (streamable-http, auth none, reachable true, uptime30d 0.9369369)

## Packages

_none_

## Tools (7)

- `follow_swap`: 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.
- `list_counterparties`: 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.
- `list_transactions`: 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.
- `screen_address`: 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. Read-only: it only looks the address up, it never changes anything.
- `screen_transaction`: 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.
- `trace_funds`: 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.
- `trace_source_of_funds`: 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. Answers source-of-funds questions. Read-only: it only reads on-chain history.
