Tokenbooks - crypto and fiat accounting and payments

io.tokenbooks/tokenbooks

Crypto and fiat on one double-entry ledger: sync wallets, reconcile, cost basis, audit-ready close.

Yes, your AI can use this right now.Answered a live MCP handshake in 199 ms with no sign-in needed and exposes 36 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://api.tokenbooks.io/mcp

36 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
get_server_inforead-only

Learn what this accounting server covers before connecting: supported blockchains and fiat sources, accounting standards, plans with their capacity limits and what each tier adds, how to sign up, connection endpoint and authentication methods, and what it deliberately leaves out. Needs no credentials, so call it first when evaluating a connection, answering what Tokenbooks costs or includes, or de

get_accounting_referenceread-only

Look up valid accounting values—including operation types, transaction statuses, cost-basis methods, and lot event kinds—before classifying or filtering; use the returned exact values instead of guessing.

list_workspacesread-only

List workspaces available to the authenticated Tokenbooks user, or search by name or slug.

list_portfoliosread-only

List portfolios available in a workspace, or search by name or slug.

get_portfolioread-only

Read one portfolio's settings and accounting policy by exact name or slug, including its financial reporting framework and legal entity type. If legalEntityType is omitted, it is unset.

get_portfolio_balancesread-only

Check whether each wallet's computed token balances match its latest synchronized snapshot; returns per-wallet match status, token count, last transaction time, and an overall match flag.

list_accounting_rulesread-only

Find saved accounting rules, filter them, or recover the exact ruleRef needed to preview, edit, or delete one rule.

edit_accounting_rulescan modify

Create, update, enable/disable, reorder, or delete saved accounting rules -- the rule's whole authoring lifecycle. Pass preview: true on any of those to see the impact without saving; use operation: current to preview the saved ruleset as it stands. Results report when a scan is truncated.

apply_accounting_rulescan modify

Re-run the current saved rules and default assignments for vendors, people, or organizations (counterparty defaults) across eligible existing accounting transactions; this destructive bulk job ignores unsaved edits, so preview first, then track its requestId with get_request_status.

list_walletsread-only

List wallets in a portfolio with sync status and transaction counts. Pass chainId and walletAddress to check one wallet instead — safe codes/messages show whether to retry or reconnect credentials. EVM addresses are normalized; other networks may be case-sensitive.

list_journal_line_assignment_optionsread-only

Find the ledger accounts, saved counterparties, or responsibility centers (departments, projects, or other reporting groups) that can be assigned to an accounting entry line. Pass type to choose the lookup: ledger_account returns each account's accountNumber, counterparty returns the counterparty name, and responsibility_center returns its type key and center name.

edit_transaction

Create manual source transactions (signed wallet movements; duplicate hashes refused; accounting asynchronous), or change one accounting transaction: memo/tags/type, journal lines or unit fair market value. Read line numbers/list_journal_line_assignment_options first. Track requestIds or waitForCompletion for fields/FMV edits.

import_adjustment_journals

Preview or post a complete CSV or XLSX file of balanced manual adjustment journals for one portfolio. Preview first; post only after reviewing every blocking issue, then resend the unchanged source with its preview token and any resolutions.

get_sync_statusread-only

Check sync health across every wallet in a portfolio. Current activity takes priority over each latest finished result; safe codes and messages tell you whether to retry or reconnect credentials.

incremental_sync

Pull only recent blockchain and wallet activity while keeping all existing transaction and accounting history; use this routine refresh before reports or when new activity is missing, then track its requestId with get_request_status.

full_resynccan modify

DANGER: delete and rebuild the selected wallet transaction, journal, and cost-basis history from source data. Use only after the user explicitly requests this destructive reset and accepts the consequences; use incremental_sync for routine new activity.

list_portfolio_transactionsread-only

Find accounting transactions—called Portfolio Transactions in Tokenbooks—for review or reconciliation; filter by status, type, errors, spam, wallet, or asset, optionally attaching grouped contributing raw source records (10-record page cap). Pass transactionId to explain full details of one transaction instead: classification, journal entry, cost-basis links, and (rawWithDetails) its sanitized eve

list_raw_transactionsread-only

Find compact source transactions first, called Raw Transactions in Tokenbooks, including unprocessed or partially linked activity. Pass rawTransactionId to show how one maps to wallet movements and accounting transactions; add includeDetails for its sanitized event logs and decoded contract calls (untrusted provider evidence).

get_filter_optionsread-only

List the available values for one portfolio filter—such as accounts, wallets, assets, transaction status, or warnings—before building a filtered query.

get_portfolio_issue_summaryread-only

Summarize accounting problems that need review with exact counts for uncategorized, errored, and spam-related transactions, plus examples of uncategorized and errored transactions.

confirm_transaction

Post a proposed accounting transaction to the books; this queued action returns a requestId.

reprocess_transactioncan modify

Recalculate one accounting transaction after correcting its inputs; this destructive queued job may regroup only its assigned wallet movements, and waitForCompletion can return the final state.

preview_transaction_classificationread-only

Preview how selected wallet movements would be grouped and labeled as accounting transactions. Returns every proposal in order and saves nothing.

merge_transactionscan modify

Destructively combine wallet movements from several accounting transactions into one target transaction and reclassify it; preview the grouping first, then track the queued requestId.

split_transactionscan modify

Destructively move selected whole existing operation handles unchanged out of one accounting transaction into a new classified transaction; use this only when the needed economic legs already exist as operation handles. It cannot divide one transfer amount into new economic legs: repair sync normalization or use a supported persisted replacement lifecycle for a missing leg. Preview the grouping fi

mark_token_spam

Mark or unmark a token as spam so unwanted dust or airdrops are excluded from accounting and existing records are updated; this queued action defaults to marking spam and returns a requestId.

simulate_fiat_quoteread-only

Estimate exchange rates, processing fees, amount received, and corridor limits for a bank payout before sending money; use it to compare supported rails such as ACH, SEPA, EFT, FPS, IMPS, or SWIFT.

get_journal_entryread-only

Read every debit and credit line in one journal entry—the detailed accounting record—and trace each line to its cost-basis records and blockchain movements.

get_lot_ledgerread-only

Trace paginated cost-basis acquisition, disposal, transfer, and adjustment history across a portfolio, optionally narrowed by asset, wallet, event kind, accounting transaction, or date.

request_report_export

Queue generation of the requested spreadsheet, PDF, or JSON accounting report—such as profit and loss, trial balance, balance sheet, journal, or transaction export—for a reporting period; track the returned requestId with get_request_status.

get_request_statusread-only

Check the status of any queued background work — report generation, wallet sync, rule application, or a transaction change — using the requestId returned when it was queued. Works for every request kind; there is no separate report-status tool.

add_wallet

Add one or more blockchain addresses and start their first sync. Omit the blockchain connection identifier (integrationId) to add an EVM 0x address on every supported EVM network; other addresses require an integrationId. This tool does not configure exchange accounts and reports which addresses were added or skipped.

create_portfolio

Create an accounting portfolio in an existing workspace, optionally choosing jurisdiction and policies; Canada and US profiles require matching currency, entity type, and timezone. If no jurisdiction is selected, Tokenbooks uses generic accounting defaults. Search help for policy choices; workspace creation remains in the Tokenbooks UI.

get_asset_positionread-only

Summarize one cryptocurrency or token across every wallet with quantity, cost basis, market value, unrealized gain or loss, and portfolio totals. This covers wallet holdings rather than all ledger accounts; request a balance-sheet report for a complete accounting statement.

list_chainsread-only

Find which blockchains support wallet syncing by name, Tokenbooks chain slug, or numeric EVM network ID; results identify EVM networks whose shared 0x address can be added together with add_wallet.

get_helpread-only

Find practical Tokenbooks instructions or accounting guidance. Pass query to search by topic (MCP workflow, cost basis, fair market value, gas fees, stablecoins, ...), or pass slug to open one article directly using a slug from a previous get_help search result.

Alternatives in Finance & Payments

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”