Free-tier blockchain investigator — ETH/BTC clustering + sanctions xref
The 'scan' tool has a minimal definition with a short description (71 chars) and a single parameter. The description lacks context on when to use the tool, what it returns, or prerequisites. The parameter 'target' has a basic description but no type constraints, format guidance, or examples of valid input. No output schema is documented. The tool definition is visible in cryptotrace/mcp_server.py but lacks the depth required for LLM-driven selection and error recovery.
Screen a tx-list (file path or raw JSON/JSONL string) and return JSON.
Tool description is too brief (71 chars) and lacks actionable context. Does not explain WHAT the tool returns, WHEN to use it, or what formats are accepted.
No output schema documented. LLMs cannot plan downstream operations or extract required fields from the response.
Parameter 'target' lacks format constraints, examples, and validation guidance. Description does not clarify whether JSON, JSONL, or file paths are expected, or what happens on parse failure.
Tool name 'scan' is generic and does not start with a clear action verb. 'screen_transactions' or 'analyze_blockchain_transactions' would better convey intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. The code catches OSError and falls back to treating input as raw JSON, but this behavior is not documented. LLMs cannot predict or recover from failures.