Moltline TaxLots
What this MCP does
Parses crypto transaction ledgers, matches transfers, calculates tax lots and gains, produces Form 8949 rows, and reconciles broker 1099-DA data.
Tools
Input schema
{'type': 'object', 'required': ['ledger'], 'properties': {'ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'canonical rows.'}, 'method': {'type': 'string', 'default': 'fifo', 'description': 'fifo, lifo, hifo or specific_id (rows without specific_lots fall back to fifo).'}, 'tax_year': {'type': 'integer', 'default': 0, 'maximum': 2100, 'minimum': 2009, 'description': 'when set, only disposals in that calendar year are returned (the inventory still runs from the start).'}, 'transfers': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'default': [], 'description': 'pairs from match_transfers ({"out": id, "in": id, ...}); empty to auto-match with the defaults.'}, 'on_missing_lots': {'type': 'string', 'default': 'error', 'description': 'error (default), or zero_basis for lenient mode - disposals beyond the lots held get zero basis and unmatched transfer_out rows simply leave the inventory, each flagged.'}, 'transfer_fee_policy': {'type': 'string', 'default': 'dispose', 'description': 'dispose (default) or ignore for network fees paid in the transferred asset.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['disposals', 'tax_year'], 'properties': {'tax_year': {'type': 'integer', 'maximum': 2100, 'minimum': 2009, 'description': 'the calendar year of the disposals to include.'}, 'disposals': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'rows from build_lots.'}, 'reporting': {'type': 'object', 'default': {}, 'description': 'per-row override: proceeds_and_basis, proceeds_only or none.', 'additionalProperties': True}, 'whole_dollars': {'type': 'boolean', 'default': False, 'description': 'round each row to whole dollars as the form permits.'}, 'default_reporting': {'type': 'string', 'default': 'none', 'description': 'proceeds_and_basis, proceeds_only or none (default).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['ledger'], 'properties': {'ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'canonical rows (ts, type, asset, qty, fiat_value, fees, account...).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['deposit', 'current_prices'], 'properties': {'deposit': {'type': 'object', 'description': 'asset_a, qty_a, price_a, asset_b, qty_b, price_b at the time of deposit.', 'additionalProperties': True}, 'current_prices': {'type': 'object', 'description': '{asset: price} for both assets now.', 'additionalProperties': True}, 'fees_earned_fiat': {'type': 'number', 'default': 0.0, 'minimum': 0, 'description': 'fees accrued to the position, in fiat.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['ledger'], 'properties': {'ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'canonical rows.'}, 'tolerance_pct': {'type': 'number', 'default': 1.0, 'maximum': 25, 'minimum': 0, 'description': 'allowed quantity difference in percent after the fee (default 1).'}, 'window_minutes': {'type': 'integer', 'default': 1440, 'maximum': 20160, 'minimum': 1, 'description': 'how long after the withdrawal the deposit may land (default one day).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['csv_text'], 'properties': {'account': {'type': 'string', 'default': '', 'description': 'account label to stamp on every row (defaults to the source name).'}, 'csv_text': {'type': 'string', 'description': 'the CSV file contents (up to 2 MB).'}, 'source_hint': {'type': 'string', 'default': '', 'description': 'coinbase, kraken or generic; empty to detect from the header.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['disposals', 'form_rows'], 'properties': {'disposals': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'rows from build_lots.'}, 'form_rows': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '1099-DA lines: asset, date_sold, qty, proceeds, basis (may be blank), account (optional), id (optional).'}, 'money_tolerance': {'type': 'number', 'default': 1.0, 'maximum': 1000, 'minimum': 0, 'description': 'allowed proceeds/basis difference in fiat units (default 1.00).'}, 'qty_tolerance_pct': {'type': 'number', 'default': 0.5, 'maximum': 10, 'minimum': 0, 'description': 'allowed quantity difference in percent (default 0.5).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['disposals', 'acquisitions'], 'properties': {'disposals': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'rows from build_lots (uses asset, disposed_at, gain, row).'}, 'window_days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'days before and after the loss disposal to scan (default 30).'}, 'acquisitions': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'purchases/income rows with asset, ts, qty (ledger rows work as-is).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
Agent Decision & Evidence Tools (MCP + x402)
Provides compliance checks, invoice payment decisions, sanctions and VAT screening, market data, crypto RPC reads, transaction an…
mica
Assesses MiCA stablecoin compliance, reserves, attestations, regulatory status, whitepapers, audit trails, incidents, and remedia…
reserveoracle
Provides reserve, issuer, custody, asset composition, pricing, and MiCA context for stablecoins and other tokenized real-world as…
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
Crank Protocol
Provides non-custodial Solana and EVM tools for swaps, derivatives, lending, staking, tokenized equities, bridging, and strategy …
x402-services
Provides on-chain, trading, and AI tools for Robinhood Chain.
FortFi Treasury MCP
Provides policy-controlled crypto treasury operations across chains, including wallets, payments, token discovery, swaps, bridges…
DPX — Institutional Cross-Border Settlement
Provides compliance-gated cross-border crypto settlement, agent registration and spending mandates, stablecoin routing, ESG and s…