Observational tax-event tracking for crypto transactions. Classifies on-chain txs as sale/swap/income/transfer and surfaces cost-basis-relevant inputs. NOT tax advice. NOT tax filing.
Three tools with complete input schemas and descriptions, but descriptions are verbose (200+ chars) and lack LLM-optimized structure. All tools are read-only, which is good for safety. Parameter descriptions are present but generic. Output schemas are not documented. Error handling returns structured responses but lacks recovery guidance. Naming is clear (tax.classify, tax.bulk, tax.today) but uses dot notation rather than verb_noun convention.
Classify an array of transactions in a single call (max 50). Returns per-tx classification + a by-kind summary. Same hard rules as tax.classify — observational data only, no advice, no filing, no cost basis computation.
Classify a single on-chain transaction as a taxable event (sale/swap/income/transfer). Surfaces cost-basis-relevant inputs (holder, asset, amount, counterparty, timestamp). Hive does NOT compute cost basis. Hive does NOT provide tax advice or filing services. Real on-chain reads on Base / Ethereum / Solana.
Count of classified events in the last 24h, broken down by kind (sale / swap / income / transfer) with a taxable-signal subtotal. Free.
Output schemas not documented. LLMs cannot infer what fields to expect from responses (e.g., does tax.classify return cost_basis_inputs as nested object or flat fields?). Forces LLMs to guess downstream field names.
Descriptions are verbose (200+ chars) and lack LLM-optimized structure. Should follow WHAT-WHEN-WHY format: 'Classify a transaction as taxable event (sale/swap/income/transfer). Use when analyzing on-chain activity. Returns cost-basis inputs only, not tax advice.'
Parameter descriptions are minimal. 'tx_hash' lacks format guidance (EVM 0x-prefixed vs Solana base58 distinction buried in description). 'chain' enum is present but description doesn't explain when to use each.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error responses lack recovery guidance. Returns 'unsupported_chain:ethereum' but doesn't tell LLM what to do next. Should include: 'Unsupported chain: ethereum. Supported: base, ethereum, solana. Retry with a valid chain.'
Naming convention uses dot notation (tax.classify) instead of verb_noun (classify_transaction). Dot notation is non-standard for MCP tools and may confuse LLM parsing. Recommend rename to classify_tax_event, bulk_classify_tax_events, count_tax_events_today.