Tokenbooks - crypto and fiat accounting and payments

io.tokenbooksPublished by tokenbooks.ioOfficial publisherv0.1.1Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Remote Tokenbooks accounting server that lets an assistant sync crypto wallets and fiat activity, reconcile transactions, and produce double-entry books and tax

What you can do
Inspect workspaces, portfolios, wallets, chains and accounting reference values, and check sync health or balances match status. Find, preview, create, edit, reorder, delete and bulk-apply accounting rules, with preview mode before saving. Review raw and accounting transactions, preview classification, confirm, reprocess, merge, split, edit lines, and mark token spam. Add wallets, run incremental or full resyncs, and track queued work by request ID. Read journal entries, cost-basis lot history and asset positions, import adjustment journals from CSV or XLSX, and queue spreadsheet, PDF or JSON reports. Simulate fiat payout quotes and search built-in help.
When to use it
Useful when an assistant needs to work inside a Tokenbooks account: reconciling wallet activity, classifying transactions, maintaining accounting rules, tracing cost basis, or preparing reports and exports for a close. Also suited to checking sync health and reviewing issues before a reporting period.
Requirements
A remote streamable HTTP endpoint at api.tokenbooks.io; no local package. A Tokenbooks account with an authenticated user, since most tools act on that user's workspaces and portfolios. The server info tool reports supported chains, fiat sources, plans and authentication methods.
Before you install
Several tools write or destroy data: full resync deletes and rebuilds wallet, journal and cost-basis history; apply rules is a destructive bulk job; merge, split, reprocess and mark spam change existing records. Confirm and import post entries to the books. Preview first and track request IDs. Fiat quote simulation concerns real payouts. Wallet addresses and transaction data are sent to the Tokenbooks service.

Installation

In SourceWeft

  1. Open Tokenbooks - crypto and fiat accounting and payments in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.tokenbooks%2Ftokenbooks/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tokenbooks-crypto-and-fiat-accounting-an": {
      "type": "http",
      "url": "https://api.tokenbooks.io/mcp"
    }
  }
}

Tools

36

get_server_info

Get Server Info

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 debugging a connection.

Takes no parameters.

get_accounting_reference

Get Accounting Reference

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.

Takes no parameters.

list_workspaces

List Workspaces

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

Parametersquery

list_portfolios

List Portfolios

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

ParameterspagelimitquerypageSizeworkspaceRefrequired

get_portfolio

Get Portfolio

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.

ParametersportfolioRefrequiredworkspaceRefrequired

get_portfolio_balances

Get Portfolio Balances

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.

ParametersportfolioRefrequiredworkspaceRefrequired

list_accounting_rules

List Accounting Rules

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

ParameterslimitsearchenabledruleRefwalletsassetIdspageTokenactionTypesportfolioRefrequiredworkspaceRefrequiredaccountNumbersconditionFields+1 more

edit_accounting_rules

Edit Accounting Rules

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.

ParametersnameactionenabledpreviewruleRefoperationrequiredconditionsmaxAffectedportfolioRefrequiredworkspaceRefrequiredorderedRuleRefs

apply_accounting_rules

Apply Accounting Rules

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.

ParametersportfolioRefrequiredworkspaceRefrequired

list_wallets

List Wallets

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.

ParameterspagelimitchainIdpageSizeportfolioRefrequiredworkspaceRefrequiredwalletAddress

list_journal_line_assignment_options

List Journal Line Assignment Options

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.

ParameterspagetyperequiredlimitsearchpageSizeportfolioRefrequiredworkspaceRefrequired

edit_transaction

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.

ParametersmemotagsreasonwalletassetIdsubTypeoperationrequiredtimeoutMslineNumberquoteSourceportfolioRefrequiredtransactions+10 more

import_adjustment_journals

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.

ParametersactionrequiredfileNamerequiredresolutionsportfolioRefrequiredpreviewTokenworkspaceRefrequiredcontentBase64required

get_sync_status

Get Sync Status

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.

ParametersportfolioRefrequiredworkspaceRefrequired

incremental_sync

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.

ParameterswalletsportfolioRefrequiredworkspaceRefrequired

full_resync

Full Resync (DANGER — wipes & rebuilds history)

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.

ParameterswalletsportfolioRefrequiredworkspaceRefrequired

list_portfolio_transactions

List Portfolio Transactions

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 event logs and contract calls.

ParameterssortlimitisSpamsearchstatustoDatetxHashaddresschainIdhasLotsincludesubType+19 more

list_raw_transactions

List Raw Transactions

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).

ParameterssortlimittoDatetxHashchainIdchainIdsfromDatepageTokenportfolioRefrequiredworkspaceRefrequiredwalletAddressincludeDetails+3 more

get_filter_options

Get Filter Options

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

ParametersmodefiltersearchpageSizeselectedpageTokenfilterNamerequiredreportTypeportfolioRefrequiredworkspaceRefrequired

get_portfolio_issue_summary

Get Portfolio Issue Summary

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

ParametersportfolioRefrequiredworkspaceRefrequired

confirm_transaction

Confirm Portfolio Transaction

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

ParametersportfolioRefrequiredworkspaceRefrequiredtransactionIdrequired

reprocess_transaction

Reprocess Portfolio Transaction

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.

ParametersreasontimeoutMsportfolioRefrequiredworkspaceRefrequiredtransactionIdrequiredpollIntervalMswaitForCompletion

preview_transaction_classification

Preview Transaction Classification

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

ParametersoperationsrequiredportfolioRefrequiredworkspaceRefrequired

merge_transactions

Merge Portfolio Transactions

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

ParametersreasonsubTypeoperationsrequiredportfolioRefrequiredworkspaceRefrequiredoperationTyperequiredtransactionIdrequired

split_transactions

Split Portfolio Transaction

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 first, then track the queued requestId.

ParametersreasonsubTypeoperationsrequiredportfolioRefrequiredworkspaceRefrequiredoperationTyperequiredtransactionIdrequired

mark_token_spam

Mark Token as 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.

ParametersisSpamreasonchainIdrequiredportfolioRefrequiredtokenAddressrequiredworkspaceRefrequired

simulate_fiat_quote

Simulate Fiat Payout Quote

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.

ParametersnetworkrequiredportfolioRefrequiredworkspaceRefrequiredsenderCurrencyreceivingAmountrequiredpurposeOfPaymentreceivingCurrencyrecipientBankCountry

get_journal_entry

Get Journal Entry

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.

ParametersportfolioRefrequiredworkspaceRefrequiredjournalEntryIdrequired

get_lot_ledger

Get Cost-Basis Lot Ledger

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

ParameterspagesortlimitfiltertoDatechainIdassetReffromDatepageSizeentryKindportfolioRefrequiredworkspaceRefrequired+1 more

request_report_export

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.

ParametersformatrequiredtoDaterequiredfromDaterequiredreportTyperequiredtotalsOnlyportfolioRefrequiredworkspaceRefrequired

get_request_status

Get Request Status

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.

ParametersrequestIdrequiredportfolioRefworkspaceRefrequiredtransactionId

add_wallet

Add Wallet(s) to Portfolio

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.

ParameterswalletsrequiredportfolioRefrequiredworkspaceRefrequired

create_portfolio

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.

ParametersnamerequiredcurrencyworkspaceRefrequiredlegalEntityTypejurisdictionCodereportingTimezonecostBasisLotMethodcostBasisPerWalletstablecoinTreatmentgasFeeAccountingTreatmentfinancialReportingFramework

get_asset_position

Get Asset Position

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.

ParametersassetRefrequiredincludeSpamportfolioRefrequiredworkspaceRefrequired

list_chains

List Supported Chains

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.

ParametersqueryevmOnly

get_help

Get Help

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.

Parameterssluglimitquery

Version history

2
  1. v0.1.1LatestSep 17, 2026
  2. v0.1.0Sep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.