Multi-chain dust sweeper API with DeFi routing, account abstraction, and payment processing
Sweep is a crypto wallet management MCP server with 16 tools covering authentication, balance queries, and irreversible sweep transactions. Tool naming follows verb_noun patterns well (get_*, scan_*, execute_*). However, critical gaps exist: 9 of 16 tools have NO visible input schemas in the provided source (get_sweep_quote, execute_sweep, preview_sweep, execute_consolidation, and others lack documented parameter definitions). Descriptions are present but generic and brief (averaging ~25-50 chars), falling below the 50-200 char production baseline. Parameter descriptions are inconsistent, some tools like get_wallet_balances have well-structured enums and patterns (ethereum|base|arbitrum|polygon|bsc|linea|optimism), but many lack any detail on required formats, constraints, or dependencies. Error handling is not documented. Security-critical tools (execute_sweep, execute_consolidation) marked as IRREVERSIBLE but lack confirmation/dry-run patterns. No output schemas documented for any tool. Tools like stream_sweep_updates (WebSocket) exist but lack transport-level clarity.
Execute a multi-chain consolidation
Execute a sweep transaction
Get a nonce for SIWE authentication
Get existing quote by ID
Get current session info
Get a sweep quote
Get sweep status
Get transaction details for a sweep
Get all token balances for a wallet
Four high-impact tools (get_sweep_quote, execute_sweep, preview_sweep, execute_consolidation) have NO visible input schemas. For execute_sweep and execute_consolidation (marked IRREVERSIBLE), the absence of documented parameters prevents LLMs from constructing valid requests and understanding consequences.
Tool descriptions are consistently brief (25-55 chars) and lack context on WHEN to use each tool or WHAT it returns. 'Get a sweep quote' does not explain: Is this a read-only simulation? What parameters are needed? What cost/slippage info does it return? LLMs cannot select between get_sweep_quote and preview_sweep without better differentiation.
Irreversible operations (execute_sweep, execute_consolidation) lack confirmation/dry-run patterns. Agents cannot safely preview consequences before committing blockchain transactions. No error recovery guidance is documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
Get sweep history for authenticated user
List user's sweeps
Invalidate the current session
Preview sweep without executing
Scan wallet for dust tokens
WebSocket for real-time sweep updates
Verify a SIWE message and create a session
No output schemas documented for any tool. Agents cannot know what fields to expect (e.g., does get_wallet_balances return [token_address, balance, price_usd]? In what format?). This forces agents to guess and handle parsing errors blindly.
scan_wallet_dust has a confusing parameter 'async' (boolean) but no documentation on what it returns when async=true. Does it return a job_id? How does the agent poll for results? Are there polling tools missing?
stream_sweep_updates is documented as a WebSocket but registered as a tool. MCP WebSocket semantics for tools are unclear, is this streaming chunked results via SSE, or truly WebSocket? The transport distinction matters for agent integration.
No error handling patterns documented. What happens if a wallet address is invalid? If a sweep fails mid-transaction? If the user lacks permission? Agents have no recovery guidance.
get_wallet_balances accepts an 'address' parameter with regex pattern ^0x[a-fA-F0-9]{40}$, but the description only says 'Wallet address in format 0x[a-fA-F0-9]{40}', it doesn't explain the regex will be enforced server-side. Other tools with address params (get_nonce, scan_wallet_dust) have inconsistent format documentation.