Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.andresdefi/zerodust

NPM · @ZERODUST/MCP-SERVER · 2 COMPONENTS · SCANNED AUG 3

Recover stranded native gas: empty a chain's balance to exactly zero on 25 EVM chains.

+42 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (111 of 115), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (111 of 115), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability74
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1242 tokens (~124/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @zerodust/mcp-server

# add to Claude Code
claude mcp add andresdefi-zerodust -- npx -y @zerodust/mcp-server
# add to Codex CLI
codex mcp add andresdefi-zerodust -- npx -y @zerodust/mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "andresdefi-zerodust": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@zerodust/mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add andresdefi-zerodust --command npx --arg -y --arg @zerodust/mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  andresdefi-zerodust:
    command: "npx"
    args: ["-y", "@zerodust/mcp-server"]
// mcp.json
{
  "mcpServers": {
    "andresdefi-zerodust": {
      "command": "npx",
      "args": [
        "-y",
        "@zerodust/mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 −3

    No change was recorded against any check on this day. Supply Chain Security went from 98 to 87. Other categories moved too: Stability & Change Management rose 4.

  • 2 Aug 26 +67
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • License: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • Schema quality: unverified → excellent functional
    • MCP protocol: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Stability: unverified → 0.23 functional
    • Licence: MIT functional
  • 1 Aug 26 −15
    • Tool coverage: 100 → unverified functional
  • 31 Jul 26 +14
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 −21
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 27

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@zerodust/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 111 packages

111 packages in the resolved dependency tree · 109 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 10 exposed · ~1,242 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
zerodust_get_agent_address ~94

Show which wallet this ZeroDust server signs with, where its key comes from, and which destinations it is allowed to sweep to. Call this before any sweep to confirm the right wallet is about to be emptied. Requires ZERODUST_ALLOW_EXECUTE=true plus a signing key; without them this tool returns an error and moves no funds. Pass dryRun=true to rehearse the whole flow without moving anything.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

zerodust_get_balances ~144

Find leftover native gas token (ETH, BNB, POL, ...) stranded across every supported EVM chain for one address, and report which of it can be recovered. Normally these balances are unrecoverable: you cannot transfer 100% of a gas token, because paying for the transfer consumes the thing you are transferring, so a remainder is always left behind. This reports what is stuck and what could be moved out. Useful when a wallet has small amounts scattered over many chains, when someone cannot send their full balance, or before closing out, winding down or decommissioning a wallet.

NameTypeReqDescription
addressstringyesEthereum wallet address (0x...)

No output schema declared.

No examples provided.

zerodust_get_chains ~54

List the EVM chains a native gas balance can be emptied to exactly zero on. Returns chain IDs, names, and native tokens. Call this to check whether a specific chain is supported before quoting or sweeping.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

zerodust_get_quote ~131

Price out emptying a chain's native gas balance to exactly zero: how much actually arrives, the full fee breakdown, and whether the balance is even large enough to be worth recovering. Call this before sweeping so the user sees the numbers first. Returns a quote ID; quotes expire after about 60 seconds.

NameTypeReqDescription
destinationstringyesDestination address to receive swept funds
fromChainIdintegeryesSource chain ID to sweep from
toChainIdintegeryesDestination chain ID to receive funds
userAddressstringyesUser's wallet address to sweep from

No output schema declared.

No examples provided.

zerodust_get_sweep_status ~72

Check how a previously submitted sweep is progressing. Returns the current status (pending, simulating, executing, bridging, completed, failed), the transaction hash once there is one, and the error message if it failed.

NameTypeReqDescription
sweepIdstringyesThe sweep ID returned from submitting a sweep

No output schema declared.

No examples provided.

zerodust_info ~62

Explain how a native gas balance can be emptied to exactly zero, what it costs, and how to set this server up to do it. Call this when asked how ZeroDust works, why a full balance normally cannot be sent, or what sweeping will cost.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

zerodust_list_sweeps ~69

List past sweeps for a wallet address, with status and amounts. Useful for confirming a chain was already emptied before trying again.

NameTypeReqDescription
addressstringyesWallet address to list sweeps for
limitintegerMaximum number of results (default: 10)

No output schema declared.

No examples provided.

zerodust_register_api_key ~152

Issue this agent its own ZeroDust API key for higher rate limits, with no human signup step. The read-only tools work without a key, so only call this when rate limits are actually being hit, or when setting up an unattended agent that will run repeatedly. The key is returned once and is not stored by this server - report it to the operator so they can set ZERODUST_API_KEY.

NameTypeReqDescription
agentIdstringStable unique identifier for this agent, if it has one
contactEmailstringContact email for support and abuse notices
namestringyesHuman-readable name for this agent, e.g. 'arbitrage-bot-prod'

No output schema declared.

No examples provided.

zerodust_sweep ~258

Empty one chain completely: move 100% of the native gas token off it and leave the balance at exactly zero. This is the operation an ordinary transfer cannot do, because sending the gas token requires keeping some gas token back to pay for the send. Use when the goal is to close out, wind down, decommission or fully exit a chain, or to recover a leftover or stranded balance that is too small to move normally. Moves real funds. Call zerodust_get_quote first to show the user what they will receive. Requires ZERODUST_ALLOW_EXECUTE=true plus a signing key; without them this tool returns an error and moves no funds. Pass dryRun=true to rehearse the whole flow without moving anything.

NameTypeReqDescription
destinationstringDestination address (defaults to the agent's own address)
dryRunbooleanRehearse without moving funds (default false). Fetches a real quote and produces the real signatures, then stops before submitting. Use this to prove the setup works before sweeping a real balance.
fromChainIdintegeryesChain to empty
toChainIdintegeryesChain to receive funds on (same as fromChainId for a same-chain sweep)

No output schema declared.

No examples provided.

zerodust_sweep_all ~206

Empty every chain that still holds a native gas balance, consolidating all of it onto one destination chain and leaving each source at exactly zero. Use when the goal is to clean up a wallet across chains, collect scattered leftover gas, or retire a wallet entirely. Moves real funds across multiple chains. Call zerodust_get_balances first to show the user what will be swept. Requires ZERODUST_ALLOW_EXECUTE=true plus a signing key; without them this tool returns an error and moves no funds. Pass dryRun=true to rehearse the whole flow without moving anything.

NameTypeReqDescription
destinationstringDestination address (defaults to the agent's own address)
dryRunbooleanRehearse without moving funds (default false). Fetches a real quote and produces the real signatures, then stops before submitting. Use this to prove the setup works before sweeping a real balance.
toChainIdintegeryesChain to consolidate all funds onto

No output schema declared.

No examples provided.