Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Tokenbooks - crypto and fiat accounting and payments

REMOTE · API.TOKENBOOKS.IO · SCANNED SEP 29

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

+2 this week 67 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7126 tokens (~197/item across 36 items; 36 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
  • Stability check failed: schema churn in the 15 days we've observed: 16 tool removals, 0 breaking changes, 0 auth/transport breaks, 3 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Tokenbooks - crypto and fiat accounting and payments MCP server?

Tokenbooks - crypto and fiat accounting and payments is a hosted endpoint at https://api.tokenbooks.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.tokenbooks.io

# add to Claude Code
claude mcp add --transport http io-tokenbooks-tokenbooks 'https://api.tokenbooks.io/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "io-tokenbooks-tokenbooks": {
      "url": "https://api.tokenbooks.io/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "io-tokenbooks-tokenbooks": {
      "type": "http",
      "url": "https://api.tokenbooks.io/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.io-tokenbooks-tokenbooks]
url = "https://api.tokenbooks.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-tokenbooks-tokenbooks": {
      "type": "remote",
      "url": "https://api.tokenbooks.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add io-tokenbooks-tokenbooks --url 'https://api.tokenbooks.io/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  io-tokenbooks-tokenbooks:
    url: "https://api.tokenbooks.io/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "io-tokenbooks-tokenbooks": {
      "Transport": "http",
      "Url": "https://api.tokenbooks.io/mcp"
    }
  }
}
# add to Vellum
assistant mcp add io-tokenbooks-tokenbooks -t streamable-http -u 'https://api.tokenbooks.io/mcp'
// mcp.json
{
  "mcpServers": {
    "io-tokenbooks-tokenbooks": {
      "type": "http",
      "url": "https://api.tokenbooks.io/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 29 Sept 26 0
    • “get_asset_position” added an optional parameter “includeSpam” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 11.

  • 25 Sept 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 22 Sept 26 0
    • A breaking change shipped without a version bump: still 0.1.1 ▼ security
    • Tool “get_portfolio_transaction” was removed ▼ security
    • Tool “get_raw_transaction” was removed ▼ security
    • Tool “get_wallet” was removed ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “list_portfolio_transactions” rewrote its description, which is the text the model reads security
    • Tool “list_raw_transactions” rewrote its description, which is the text the model reads security
    • Tool “list_wallets” rewrote its description, which is the text the model reads security
    • “list_portfolio_transactions” added an optional parameter “transactionId” cosmetic
    • “list_raw_transactions” added an optional parameter “includeDetails” cosmetic
    • “list_raw_transactions” added an optional parameter “rawTransactionId” cosmetic
    • “list_wallets” added an optional parameter “walletAddress” cosmetic
    • “list_accounting_rules” reworded the description of “accountNumbers” cosmetic
    • “list_accounting_rules” reworded the description of “actionTypes” cosmetic
    • “list_accounting_rules” reworded the description of “assetIds” cosmetic
    • “list_accounting_rules” reworded the description of “conditionFields” cosmetic
    • “list_accounting_rules” reworded the description of “counterpartyNames” cosmetic
    • “list_accounting_rules” reworded the description of “wallets” cosmetic
    • “list_portfolio_transactions” reworded the description of “address” cosmetic
    • “list_portfolio_transactions” reworded the description of “assetRefs” cosmetic
    • “list_portfolio_transactions” reworded the description of “counterparty” cosmetic
    • “list_portfolio_transactions” reworded the description of “errorType” cosmetic
    • “list_portfolio_transactions” reworded the description of “hasError” cosmetic
    • “list_portfolio_transactions” reworded the description of “hasJournalEntry” cosmetic
    • “list_portfolio_transactions” reworded the description of “hasLots” cosmetic
    • “list_portfolio_transactions” reworded the description of “include” cosmetic
    • “list_portfolio_transactions” reworded the description of “isSpam” cosmetic
    • “list_portfolio_transactions” reworded the description of “operationType” cosmetic
    • “list_portfolio_transactions” reworded the description of “responsibilityCenterTypeKeys” cosmetic
    • “list_portfolio_transactions” reworded the description of “search” cosmetic
    • “list_portfolio_transactions” reworded the description of “status” cosmetic
    • “list_portfolio_transactions” reworded the description of “subType” cosmetic
    • “list_raw_transactions” reworded the description of “includeSpamTokens” cosmetic
    • “list_raw_transactions” reworded the description of “sort” cosmetic
    • “list_wallets” reworded the description of “chainId” cosmetic
  • 21 Sept 26 −3
    • Stability: 0.20 → fail ▼ security
    • A breaking change shipped without a version bump: still 0.1.1 ▼ security
    • Tool “delete_accounting_rule” was removed ▼ security
    • Tool “find_portfolios” was removed ▼ security
    • Tool “find_workspaces” was removed ▼ security
    • Tool “get_report_request_status” was removed ▼ security
    • Tool “list_counterparties” was removed ▼ security
    • Tool “list_ledger_accounts” was removed ▼ security
    • Tool “list_responsibility_centers” was removed ▼ security
    • Tool “preview_accounting_rules” was removed ▼ security
    • Tool “read_help_article” was removed ▼ security
    • Tool “search_help_articles” was removed ▼ security
    • Tool “set_fmv_override” was removed ▼ security
    • Tool “update_journal_entry_line” was removed ▼ security
    • Tool “update_transaction” was removed ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “edit_accounting_rules” rewrote its description, which is the text the model reads security
    • Tool “get_request_status” rewrote its description, which is the text the model reads security
    • Tool “list_portfolios” rewrote its description, which is the text the model reads security
    • Tool “list_workspaces” rewrote its description, which is the text the model reads security
    • Tool “request_report_export” rewrote its description, which is the text the model reads security
    • Tool “edit_accounting_rules” is now declared destructive security
    • Schema quality: 158 → 176 ▼ functional
    • Tool coverage: 18% → 100% ▲ functional
    • Tool “add_wallet” now declares an output schema ▲ functional
    • Tool “apply_accounting_rules” now declares an output schema ▲ functional
    • Tool “confirm_transaction” now declares an output schema ▲ functional
    • Tool “create_portfolio” now declares an output schema ▲ functional
    • Tool “edit_accounting_rules” now declares an output schema ▲ functional
    • Tool “full_resync” now declares an output schema ▲ functional
    • Tool “get_accounting_reference” now declares an output schema ▲ functional
    • Tool “get_asset_position” now declares an output schema ▲ functional
    • Tool “get_filter_options” now declares an output schema ▲ functional
    • Tool “get_journal_entry” now declares an output schema ▲ functional
    • Tool “get_lot_ledger” now declares an output schema ▲ functional
    • Tool “get_portfolio_balances” now declares an output schema ▲ functional
    • Tool “get_portfolio_issue_summary” now declares an output schema ▲ functional
    • Tool “get_request_status” now declares an output schema ▲ functional
    • Tool “get_server_info” now declares an output schema ▲ functional
    • Tool “incremental_sync” now declares an output schema ▲ functional
    • Tool “list_accounting_rules” now declares an output schema ▲ functional
    • Tool “list_chains” now declares an output schema ▲ functional
    • Tool “list_portfolios” now declares an output schema ▲ functional
    • Tool “list_wallets” now declares an output schema ▲ functional
    • Tool “list_workspaces” now declares an output schema ▲ functional
    • Tool “mark_token_spam” now declares an output schema ▲ functional
    • Tool “merge_transactions” now declares an output schema ▲ functional
    • Tool “reprocess_transaction” now declares an output schema ▲ functional
    • Tool “request_report_export” now declares an output schema ▲ functional
    • Tool “simulate_fiat_quote” now declares an output schema ▲ functional
    • Tool “split_transactions” now declares an output schema ▲ functional
    • New tool “edit_transaction” functional
    • New tool “get_help” functional
    • New tool “list_journal_line_assignment_options” functional
    • “edit_accounting_rules” added an optional parameter “maxAffected” cosmetic
    • “edit_accounting_rules” added an optional parameter “preview” cosmetic
    • “list_portfolios” added an optional parameter “query” cosmetic
    • “add_wallet” reworded the description of “portfolioRef” cosmetic
    • “add_wallet” reworded the description of “workspaceRef” cosmetic
    • “create_portfolio” reworded the description of “workspaceRef” cosmetic
    • “edit_accounting_rules” reworded the description of “operation” cosmetic
    • “edit_accounting_rules” reworded the description of “portfolioRef” cosmetic
    • “edit_accounting_rules” reworded the description of “workspaceRef” cosmetic
    • “get_filter_options” reworded the description of “portfolioRef” cosmetic
    • “get_filter_options” reworded the description of “workspaceRef” cosmetic
    • “get_portfolio_transaction” reworded the description of “portfolioRef” cosmetic
    • “get_portfolio_transaction” reworded the description of “workspaceRef” cosmetic
    • “get_raw_transaction” reworded the description of “portfolioRef” cosmetic
    • “get_raw_transaction” reworded the description of “workspaceRef” cosmetic
    • “import_adjustment_journals” reworded the description of “portfolioRef” cosmetic
    • “import_adjustment_journals” reworded the description of “workspaceRef” cosmetic
    • “list_accounting_rules” reworded the description of “portfolioRef” cosmetic
    • “list_accounting_rules” reworded the description of “workspaceRef” cosmetic
    • “list_portfolio_transactions” reworded the description of “portfolioRef” cosmetic
    • “list_portfolio_transactions” reworded the description of “responsibilityCenterTypeKeys” cosmetic
    • “list_portfolio_transactions” reworded the description of “workspaceRef” cosmetic
    • “list_raw_transactions” reworded the description of “portfolioRef” cosmetic
    • “list_raw_transactions” reworded the description of “workspaceRef” cosmetic
    • “preview_transaction_classification” reworded the description of “portfolioRef” cosmetic
    • “preview_transaction_classification” reworded the description of “workspaceRef” cosmetic
  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1
    • Schema quality: 137 → 158 ▼ functional
    • Tool coverage: 75% → 98% ▲ functional
    • Schema quality: good → excellent functional
    • “add_wallet” reworded the description of “portfolioRef” cosmetic
    • “add_wallet” reworded the description of “workspaceRef” cosmetic
    • “create_portfolio” reworded the description of “workspaceRef” cosmetic
    • “delete_accounting_rule” reworded the description of “portfolioRef” cosmetic
    • “delete_accounting_rule” reworded the description of “ruleRef” cosmetic
    • “delete_accounting_rule” reworded the description of “workspaceRef” cosmetic
    • “edit_accounting_rules” reworded the description of “enabled” cosmetic
    • “edit_accounting_rules” reworded the description of “name” cosmetic
    • “edit_accounting_rules” reworded the description of “operation” cosmetic
    • “edit_accounting_rules” reworded the description of “orderedRuleRefs” cosmetic
    • “edit_accounting_rules” reworded the description of “portfolioRef” cosmetic
    • “edit_accounting_rules” reworded the description of “ruleRef” cosmetic
    • “edit_accounting_rules” reworded the description of “workspaceRef” cosmetic
    • “get_filter_options” reworded the description of “portfolioRef” cosmetic
    • “get_filter_options” reworded the description of “workspaceRef” cosmetic
    • “get_portfolio_transaction” reworded the description of “include” cosmetic
    • “get_portfolio_transaction” reworded the description of “portfolioRef” cosmetic
    • “get_portfolio_transaction” reworded the description of “transactionId” cosmetic
    • “get_portfolio_transaction” reworded the description of “workspaceRef” cosmetic
    • “get_raw_transaction” reworded the description of “includeDetails” cosmetic
    • “get_raw_transaction” reworded the description of “portfolioRef” cosmetic
    • “get_raw_transaction” reworded the description of “rawTransactionId” cosmetic
    • “get_raw_transaction” reworded the description of “workspaceRef” cosmetic
    • “import_adjustment_journals” reworded the description of “action” cosmetic
    • “import_adjustment_journals” reworded the description of “portfolioRef” cosmetic
    • “import_adjustment_journals” reworded the description of “previewToken” cosmetic
    • “import_adjustment_journals” reworded the description of “workspaceRef” cosmetic
    • “list_accounting_rules” reworded the description of “accountNumbers” cosmetic
    • “list_accounting_rules” reworded the description of “actionTypes” cosmetic
    • “list_accounting_rules” reworded the description of “assetIds” cosmetic
    • “list_accounting_rules” reworded the description of “conditionFields” cosmetic
    • “list_accounting_rules” reworded the description of “counterpartyNames” cosmetic
    • “list_accounting_rules” reworded the description of “enabled” cosmetic
    • “list_accounting_rules” reworded the description of “portfolioRef” cosmetic
    • “list_accounting_rules” reworded the description of “ruleRef” cosmetic
    • “list_accounting_rules” reworded the description of “search” cosmetic
    • “list_accounting_rules” reworded the description of “wallets” cosmetic
    • “list_accounting_rules” reworded the description of “workspaceRef” cosmetic
    • “list_portfolio_transactions” reworded the description of “portfolioRef” cosmetic
    • “list_portfolio_transactions” reworded the description of “workspaceRef” cosmetic
    • “list_raw_transactions” reworded the description of “chainId” cosmetic
    • “list_raw_transactions” reworded the description of “chainIds” cosmetic
    • “list_raw_transactions” reworded the description of “fromDate” cosmetic
    • “list_raw_transactions” reworded the description of “includeSpamTokens” cosmetic
    • “list_raw_transactions” reworded the description of “portfolioRef” cosmetic
    • “list_raw_transactions” reworded the description of “processingState” cosmetic
    • “list_raw_transactions” reworded the description of “sort” cosmetic
    • “list_raw_transactions” reworded the description of “toDate” cosmetic
    • “list_raw_transactions” reworded the description of “txHash” cosmetic
    • “list_raw_transactions” reworded the description of “walletAddress” cosmetic
    • “list_raw_transactions” reworded the description of “workspaceRef” cosmetic
    • “preview_accounting_rules” reworded the description of “enabled” cosmetic
    • “preview_accounting_rules” reworded the description of “maxAffected” cosmetic
    • “preview_accounting_rules” reworded the description of “name” cosmetic
    • “preview_accounting_rules” reworded the description of “operation” cosmetic
    • “preview_accounting_rules” reworded the description of “orderedRuleRefs” cosmetic
    • “preview_accounting_rules” reworded the description of “portfolioRef” cosmetic
    • “preview_accounting_rules” reworded the description of “ruleRef” cosmetic
    • “preview_accounting_rules” reworded the description of “workspaceRef” cosmetic
    • “preview_transaction_classification” reworded the description of “portfolioRef” cosmetic
    • “preview_transaction_classification” reworded the description of “workspaceRef” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 29 Sept 2026 · Probed https://api.tokenbooks.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.tokenbooks.io CN=YE1,O=Let's Encrypt,C=US 28 Sept 2026 27 Dec 2026 ECDSA 256 ECDSA-SHA384 6f635e577658c724d60472a6183bf245bbf
SANs: api.tokenbooks.io
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.tokenbooks.io. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
tokenbooks.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.tokenbooks.io/mcp Verified 200
http (plaintext) http://api.tokenbooks.io/mcp HTTPS enforced 301 https://api.tokenbooks.io:443/mcp
MCP tools · 36 exposed · ~6,773 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_wallet ~119

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
walletsarrayyes–
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
resultsarrayyes–
syncQueuedbooleanyes–

No examples provided.

apply_accounting_rules ~86

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
requestIdstringyes–
statusstringyes–

No examples provided.

confirm_transaction ~62

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

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
transactionIdstringyesPortfolio transaction ID
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
errorobject––
requestIdstring––
statusstringyes–
successboolean––
transactionIdstringyes–

No examples provided.

create_portfolio ~252

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.

NameTypeReqDescription
costBasisLotMethodstring–Lot-matching method for disposals
costBasisPerWalletboolean–Whether acquisition lots stay scoped to each wallet
currencystring–Functional currency (default USD)
financialReportingFrameworkstring–Financial reporting framework (default TAX_ONLY)
gasFeeAccountingTreatmentstring–Accounting treatment for gas spend
jurisdictionCodestring–Exact assigned ISO country code, or custom. If omitted, resolves Custom regardless of currency
legalEntityTypestring–Legal entity classification for an explicit country profile
namestringyesPortfolio name
reportingTimezonestring–Canonical IANA reporting timezone (default UTC)
stablecoinTreatmentstring–Stablecoin valuation treatment; this does not change lot tracking
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
accountingConfigurationobjectyes–
createdAtstringyes–
currencystringyes–
legalEntityTypestring––
namestringyes–
reportingTimezonestringyes–
slugstringyes–
updatedAtstringyes–

No examples provided.

edit_accounting_rules ~483

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.

NameTypeReqDescription
actionobject–Only for operation create, update; required for operation create.
conditionsobject–Only for operation create, update; required for operation create.
enabled––Whether the rule evaluates. A disabled rule is kept but never fires. Only for operation create, set_enabled; required for operation set_enabled.
maxAffectedinteger–Preview only: how many affected transactions to sample, at most 25. affectedCount in the result equals this sample size; check candidateCount for the true total match count.
namestring–Human-readable rule name, shown in the rules list. Only for operation create, update; required for operation create.
operationstringyescreate: Create a new rule, or preview creating one (preview: true). update: Change the name, conditions, or actions of an existing rule, or preview the change (preview: true). Provide at least one of…
orderedRuleRefsarray–Every rule handle in the portfolio, in the order they should evaluate. Rules apply in order, so earlier rules win. Only for operation reorder; required for each.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
previewboolean–When true, evaluate the change and return its impact without saving it. Not for operation current.
ruleRefstring–Saved rule handle, from list_accounting_rules. Only for operation update, set_enabled, delete; required for each.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
affectedCountinteger––
candidateCountinteger––
changesarray––
detailstring––
firstAffectedAtstring––
jobIdstring––
lastAffectedAtstring––
modestring––
result–––
scannedCountinteger––
statusstring––
truncatedBystring––

No examples provided.

edit_transaction ~730

Change one accounting transaction (a Portfolio Transaction): update_fields for memo, the full tag set, or operation type; update_journal_line for the ledger account, counterparty, or reporting-group assignments on one debit or credit line (read the line number first, look up selectable values with list_journal_line_assignment_options); or set_fmv_override to correct a fair market value and recompute dependent cost-basis records. Track returned requestIds, or pass waitForCompletion (update_fields, set_fmv_override) to wait for a terminal state.

NameTypeReqDescription
accountNumberstring–Chart-of-accounts number to assign (from list_journal_line_assignment_options, type: ledger_account) Only for operation update_journal_line.
assetIdstring–Asset ID to override (e.g. eth_1, as returned by the read tools) Only for operation set_fmv_override; required for each.
counterpartyNamestring–Counterparty name to assign; pass null to unset Only for operation update_journal_line.
lineNumberinteger–Journal entry line number (1-based) Only for operation update_journal_line; required for each.
memostring–New memo; pass null to clear it Only for operation update_fields.
newValueQuotestring–Exact per-unit decimal string in base currency, e.g. "0". Do not use price. Only for operation set_fmv_override; required for each.
operationstringyesupdate_fields: Change memo, the full tag set, or the accounting operation type. update_journal_line: Change the ledger account, counterparty, or reporting-group assignments on one transaction's debit…
operationTypestring–New accounting operation type Only for operation update_fields.
pollIntervalMsinteger–Polling interval in milliseconds, 100 to 5000 (default 500) Not for operation update_journal_line.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
quoteCurrencystring–Optional quote currency (defaults to base currency) Only for operation set_fmv_override.
quoteSourcestring–Optional source/justification for the price Only for operation set_fmv_override.
reasonstring–Immutable root reason whose nonempty bytes are preserved exactly; use ptx:<uuid> for transaction references Only for operation set_fmv_override.
responsibilityCenterAssignmentsarray–Typed responsibility-center assignment set, one per dimension. Replaces the line assignments; pass [] to clear every dimension. Type keys and center names come from list_journal_line_assignment_optio…
subTypestring–New operation sub-type (requires operationType) Only for operation update_fields.
tagsarray–Replace the full set of transaction tags Only for operation update_fields.
timeoutMsinteger–Maximum wait time in milliseconds, 1000 to 60000 (default 30000) Not for operation update_journal_line.
transactionIdstringyesPortfolio transaction ID
waitForCompletion––When true, poll queued request IDs and include terminal status/final state before returning Not for operation update_journal_line.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
completedboolean––
errorobject––
finalStateobject––
lineNumbernumber––
operationstringyes–
primaryRequestIdstring––
requestIdstring––
requests–––
resultsarray––
statusstring––
statusesarray––
successboolean––
transactionIdstringyes–

No examples provided.

full_resync ~102

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
walletsarray–Optional exact wallet pairs; omit to wipe and rebuild every wallet in the portfolio
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
portfolioSlugstringyes–
requestIdstringyes–

No examples provided.

get_accounting_reference ~47

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
costBasisLotEntryKindsarrayyes–
costBasisLotMethodsarrayyes–
operationTypesarrayyes–
transactionStatusesarrayyes–

No examples provided.

get_asset_position ~113

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.

NameTypeReqDescription
assetRefstringyesAsset symbol or canonical asset id
includeSpamboolean–Also match assets marked as spam
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
assetobjectyes–
currencystringyes–
perWalletarrayyes–
pricedAtstring––
totalsobjectyes–
unitPricestring––
valuationobjectyes–

No examples provided.

get_filter_options ~291

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

NameTypeReqDescription
filterstring–Human-readable Portfolio Transactions filter expression. Only for filterName portfolio-transaction-status-counts.
filterNamestringyesPublic filter option provider name.
modestring–Address side to inspect for portfolio-transaction-addresses. Required for address filters. Use from for source addresses and to for destination addresses. Only for filterName portfolio-transaction-ad…
pageSizeinteger–Requested number of resources to return. Oversized values are clamped to the route limit. Not for filterName accounts.
pageTokenstring–Opaque token returned by the previous list response. Not for filterName accounts.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
searchstring–Optional case-insensitive text search applied by the provider to labels, addresses, names, or other provider-owned searchable fields. Not for filterName accounts.
selected––Already-selected option values for selected-value hydration from URL filter state. A single HTTP query value is accepted as a one-element array. Not for filterName accounts.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
accountNumbersarray––
accountTypesarray––
assetsarray––
cacheStatusstringyes–
currenciesarray––
data–––
hierarchyarray––
includeNoWalletobject––
normalBalanceTypesarray––
originsarray––
pagination–––
paymentLabelStatesarray––
revisionHashstringyes–
statusesarray––
subTypesarray––
walletsarray––

No examples provided.

get_help ~126

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.

NameTypeReqDescription
limit––Maximum number of search results, only used with query
querystring–Search query for Tokenbooks instructions or accounting guidance. Omit when using slug.
slugstring–Help article slug to open directly, from a previous get_help search result. Omit when using query.
NameTypeReqDescription
audiencestring––
bodystring––
errorstring––
messagestring––
querystring––
relatedConceptsarray––
relatedToolsarray––
resultsarray––
slugstring––
summarystring––
tagsarray––
titlestring––

No examples provided.

get_journal_entry ~76

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.

NameTypeReqDescription
journalEntryIdstringyesJournal entry ID
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
adjustmentJournalImportProvenanceobject––
idstringyes–
isAdjustmentbooleanyes–
linesarrayyes–
memostring––
operationTypestring––
portfolioTransactionIdstring––
statusstringyes–
subTypestring––
systemNotesstring––
timestampstringyes–

No examples provided.

get_lot_ledger ~386

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

NameTypeReqDescription
assetRefstring–Deprecated compatibility selector for asset symbol or asset id. Prefer filter=asset_id.
chainIdstring–Exact chain ID when filtering to one wallet; requires walletAddress
entryKindarray–Filter by lot entry kind (any of)
filterstring–Public AIP-160 filter string. Supported fields: id lot identifier (=, !=, in, not in), entry_id ledger-row identifier (=, !=, in, not in), asset_id (=, !=, in, not in), asset_spam (= true or false),…
fromDatestring–Optional ISO timestamp lower bound
limit––Maximum items to return, maximum 100. Preferred MCP pagination field.
pageinteger–Page number, starting at 1
pageSize––Deprecated alias for limit, maximum 100. Prefer limit for new MCP calls.
portfolioRefstringyesPortfolio exact name or slug
sortstring–Single public sort field. Prefix with - for descending. Supported fields: timestamp, diff, value, price
toDatestring–Optional ISO timestamp upper bound
walletAddressstring–Exact case-sensitive wallet address when filtering to one wallet; requires chainId
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
dataarrayyes–
paginationobjectyes–

No examples provided.

get_portfolio ~70

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
accountingConfigurationobjectyes–
createdAtstringyes–
currencystringyes–
legalEntityTypestring––
namestringyes–
reportingTimezonestringyes–
slugstringyes–
updatedAtstringyes–

No examples provided.

get_portfolio_balances ~70

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
allBalancesMatchbooleanyes–
dataarrayyes–

No examples provided.

get_portfolio_issue_summary ~72

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

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
countsobjectyes–
errorsByTypearrayyes–
isCleanbooleanyes–
samplesobjectyes–

No examples provided.

get_request_status ~134

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.

NameTypeReqDescription
portfolioRefstring–Portfolio exact name or slug
requestIdstringyesRequest ID returned by the call that queued the work (e.g. incremental_sync, full_resync, request_report_export)
transactionIdstring–Optional transaction ID that caused the async request, for agent context
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
appProgressobject––
completedAt–––
createdAt–yes–
error–––
finishedOnnumber––
kindstringyes–
outcomeobject––
progressnumber––
progressPercentnumber––
requestId–yes–
result–––
returnValue–––
statusstringyes–
subjectobject––
typestring––
updatedAtstring––

No examples provided.

get_server_info ~83

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
authenticationarrayyes–
coverageobjectyes–
documentationUrlstringyes–
endpointstringyes–
gettingStartedobjectyes–
limitationsarrayyes–
namestringyes–
notesarrayyes–
pricingobjectyes–
summarystringyes–
titlestringyes–

No examples provided.

get_sync_status ~68

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
completedAtstring––
startedAtstring––
statusstringyes–
updatedAtstringyes–
walletsarrayyes–

No examples provided.

import_adjustment_journals ~227

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.

NameTypeReqDescription
actionstringyespreview: Parse the file and report what it would import, writing nothing. Always preview before posting. post: Commit the import that a preview of the same file produced.
contentBase64stringyesCSV or XLSX source file content as base64-encoded bytes (max 5 MiB).
fileNamestringyesOriginal CSV or XLSX source filename.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
previewTokenstring–Token returned by the matching preview, proving the file has not changed since. Only for action post; required for each.
resolutionsarray–Only for action post; required for each.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
actionstringyes–
createdJournalCountinteger––
importRefstring––
issues–––
journals–yes–
omittedJournalCountintegeryes–
previewTokenstring––
readyToPostboolean––
summary–––

No examples provided.

incremental_sync ~93

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.

NameTypeReqDescription
portfolioRefstringyesPortfolio exact name or slug
walletsarray–Optional exact wallet pairs; omit to sync every wallet in the portfolio
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
portfolioSlugstringyes–
requestIdstringyes–

No examples provided.

list_accounting_rules ~270

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

NameTypeReqDescription
accountNumbersarray–Ledger account numbers as CSV or repeated query values.
actionTypesarray–Action types as CSV or repeated query values.
assetIdsarray–Asset ids as CSV or repeated query values.
conditionFieldsarray–Condition fields as CSV or repeated query values.
counterpartyNamesarray–Counterparty names as CSV or repeated query values.
enabledboolean–Keep only enabled rules, or only disabled ones. Omit to return both.
limitinteger–Requested number of resources to return. Oversized values are clamped to the route limit.
pageTokenstring–Opaque token returned by the previous list response.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
ruleRefstring–Saved rule handle, from list_accounting_rules.
searchstring–Free-text match against rule names.
walletsarray–Wallet selectors as chainId:walletAddress values.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
dataarrayyes–
paginationobjectyes–

No examples provided.

list_chains ~102

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.

NameTypeReqDescription
evmOnlyboolean–When true, return only EVM-compatible chains
querystring–Optional chain name, slug, or EVM chain id (e.g. "Optimism", "optimism-mainnet", "10")
NameTypeReqDescription
dataarrayyes–

No examples provided.

list_journal_line_assignment_options ~273

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.

NameTypeReqDescription
limitinteger–Maximum items to return, maximum 100. Preferred MCP pagination field. Only for type counterparty.
pageinteger–Page number, starting at 1 Only for type counterparty.
pageSizeinteger–Deprecated alias for limit, maximum 100. Prefer limit for new MCP calls. Only for type counterparty.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
searchstring–Filter by name (also matches account number for ledger accounts)
typestringyesledger_account: Ledger accounts assignable to a journal line. counterparty: Saved vendors, people, or organizations assignable to a journal line. responsibility_center: Departments, projects, or othe…
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
accountsarray––
counterpartiesarray––
hasMoreboolean––
responsibilityCentersarray––
totalnumber––
typestringyes–

No examples provided.

list_portfolio_transactions ~653

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.

NameTypeReqDescription
addressstring–Match transfer from/to address (case-insensitive)
assetRefsarray–Filter by asset symbol (case-insensitive)
chainIdstring–Public wallet chain ID.
chainIdsarray–Optional chain ID filters
counterpartyarray–Filter by counterparty name (case-insensitive)
defiPositionKeystring–Filter by protocol-defined DeFi position key
defiPositionWalletAddressstring–Filter by DeFi position wallet address
defiPositionWalletChainIdstring–Filter by DeFi position wallet chain ID
errorTypearray–Filter by error/warning code, e.g. ["FmvNotAvailable"]
fromDatestring–Optional ISO timestamp lower bound
hasErrorboolean–true: has a processing error; false: error-free
hasJournalEntryboolean–true: has a non-empty journal entry; false: does not
hasLotsboolean–true: produced cost-basis lots; false: did not
includestring–Include grouped contributing raw source transactions; rawWithDetails adds sanitized provider details and requires transactionId
isSpamboolean–true: transfers involve spam tokens; false: non-spam only
limit––Maximum Portfolio Transactions to return, maximum 100.
maxValuestring–Maximum transfer fiat quote value (inclusive), as a decimal string
minValuestring–Minimum transfer fiat quote value (inclusive), as a decimal string
operationTypearray–Filter by operation type, e.g. ["UNCATEGORIZED"]
pageTokenstring–Opaque token returned by the previous list response.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
responsibilityCenterTypeKeysarray–Filter by journal-line responsibility-center type key (e.g. primary, goal; from list_journal_line_assignment_options)
searchstring–Free-text search over memo, tx hash, transaction ID
sortstring–Timestamp sort. Prefix with - for descending order.
statusarray–Filter by status, e.g. ["POSTED"]
subTypearray–Filter by operation sub-type (case-insensitive)
toDatestring–Optional ISO timestamp upper bound
transactionIdstring–Look up one transaction by handle instead of listing
txHashstring–Filter by exact on-chain transaction hash
walletAddressstring–Public wallet address on the selected chain.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
classificationobject––
dataarray––
errorDetailsarray––
errorMessagestring––
fileAttachmentsarray––
idstring––
intercompanyPairobject––
journalEntry–––
memostring––
operationTypestring––
paginationobject––
portfolioTransactionContextobject––
rawTransactionsarray––
resultTypestringyes–
statusstring––
subTypestring––
systemNotesstring––
tagsarray––
timestampstring––
walletOperationsarray––
walletSourceobject––

No examples provided.

list_portfolios ~103

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

NameTypeReqDescription
limit––Maximum items to return, maximum 100. Preferred MCP pagination field.
pageinteger–Page number, starting at 1
pageSize––Deprecated alias for limit, maximum 100. Prefer limit for new MCP calls.
querystring–Optional portfolio name or slug search query
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
dataarrayyes–
paginationobjectyes–

No examples provided.

list_raw_transactions ~370

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

NameTypeReqDescription
chainIdstring–Blockchain to filter by, such as eth-mainnet. Call list_chains for the supported set.
chainIdsarray–Blockchains to filter by, such as eth-mainnet. Call list_chains for the supported set.
fromDatestring–Earliest transaction timestamp to include, as an ISO 8601 datetime.
includeDetailsboolean–With rawTransactionId, also return blockchain event logs and decoded contract calls
includeSpamTokensboolean–Include transactions whose operations contain only spam tokens; defaults to false.
limit––Maximum raw transaction summaries to return, maximum 100.
pageTokenstring–Opaque token returned by the previous list response.
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
processingStatestring–Keep only source transactions in this processing state.
rawTransactionIdstring–Look up one source transaction by handle instead of listing
sortstring–Timestamp order. Use timestamp for ascending or -timestamp for descending; defaults to -timestamp.
toDatestring–Latest transaction timestamp to include, as an ISO 8601 datetime.
txHashstring–Exact on-chain transaction hash.
walletAddressstring–Wallet to filter by. Supply chainId alongside it.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
blockHeightstring––
dataarray––
details–––
hashstring––
idstring––
memostring––
paginationobject––
processingStatestring––
resultTypestringyes–
timestampstring––
walletobject––
walletOperationsarray––

No examples provided.

list_wallets ~168

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.

NameTypeReqDescription
chainIdstring–Optional chain filter, or with walletAddress
limit––Maximum items to return, maximum 100. Preferred MCP pagination field.
pageinteger–Page number, starting at 1
pageSize––Deprecated alias for limit, maximum 100. Prefer limit for new MCP calls.
portfolioRefstringyesPortfolio exact name or slug
walletAddressstring–Look up one wallet; requires chainId
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
addressstring––
chainIdstring––
createdAtstring––
dataarray––
lastSyncAtstring––
namestring––
paginationobject––
resultTypestringyes–
syncMessagesarray––
syncStatusstring––
transactionCountinteger––

No examples provided.

list_workspaces ~41

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

NameTypeReqDescription
querystring–Optional workspace name or slug search query
NameTypeReqDescription
dataarrayyes–

No examples provided.

mark_token_spam ~155

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.

NameTypeReqDescription
chainIdstringyesChain ID of the token (from a walletOperation)
isSpamboolean–Spam flag to set (default true; false unmarks)
portfolioRefstringyesPortfolio exact name or slug
reasonstring–Optional immutable root reason. Nonempty bytes are preserved exactly; use ptx:<uuid> for transaction references.
tokenAddressstringyesToken contract address (from a walletOperation)
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
errorobject––
requestIdstring––
statusstringyes–
successboolean––

No examples provided.

merge_transactions ~149

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

NameTypeReqDescription
operationTypestringyesAccounting operation type for the merged transaction
operationsarrayyesOperations to merge into the target
portfolioRefstringyesPortfolio exact name or slug
reasonstring–Optional immutable root reason. Nonempty bytes are preserved exactly; use ptx:<uuid> for transaction references.
subTypestring–Optional operation sub-type
transactionIdstringyesTarget transaction the operations are merged into
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
errorobject––
requestIdstring––
statusstringyes–
successboolean––
transactionIdstringyes–

No examples provided.

preview_transaction_classification ~101

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

NameTypeReqDescription
operationsarrayyesExact transfer-operation handles returned by transaction reads, including the accounting transaction each operation currently belongs to
portfolioRefstringyesPortfolio name or slug inside that workspace. Call list_portfolios to resolve it.
workspaceRefstringyesWorkspace name or slug. Call list_workspaces to resolve it.
NameTypeReqDescription
transactionsarrayyes–

No examples provided.

reprocess_transaction ~149

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.

NameTypeReqDescription
pollIntervalMsinteger–Request-status polling interval in milliseconds
portfolioRefstringyesPortfolio name or slug
reasonstring–Optional immutable root reason; nonempty bytes are preserved exactly
timeoutMsinteger–Maximum wait time in milliseconds
transactionIdstringyesSelected portfolio transaction ID to reprocess
waitForCompletionboolean–Wait for the queued reprocess request to reach a terminal state before returning
workspaceRefstringyesWorkspace name or slug
NameTypeReqDescription
completedboolean––
errorobject––
finalStateobject––
requestIdstring––
requestsobject––
statusstringyes–
statusesarray––
successboolean––
transactionIdstringyes–

No examples provided.

request_report_export ~139

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.

NameTypeReqDescription
formatstringyesExport format
fromDatestringyesReport period start ISO timestamp
portfolioRefstringyesPortfolio exact name or slug
reportTypestringyesReport type
toDatestringyesReport period end ISO timestamp
totalsOnlyboolean–Return summary only when true
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
requestIdstringyes–

No examples provided.

simulate_fiat_quote ~200

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.

NameTypeReqDescription
networkstringyesFiat payout rail / bank method
portfolioRefstringyesPortfolio exact name or slug
purposeOfPaymentstring–Purpose-of-payment classification
receivingAmountstringyesAmount the recipient should receive, as a decimal string in the receiving currency (e.g. "500000")
receivingCurrencystring–ISO 4217 receiving currency; defaults to the network default
recipientBankCountrystring–ISO 3166-1 alpha-2 recipient bank country; defaults to the network default
senderCurrencystring–Stablecoin funding the payout (default USDC)
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
corridorobjectyes–
notestring––
quoteobject––
statusstringyes–

No examples provided.

split_transactions ~210

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.

NameTypeReqDescription
operationTypestringyesAccounting operation type for the new transaction
operationsarrayyesWhole existing operation handles to move unchanged into a new transaction; do not use this to divide one normalized transfer amount into new economic legs
portfolioRefstringyesPortfolio exact name or slug
reasonstring–Optional immutable root reason. Nonempty bytes are preserved exactly; use ptx:<uuid> for transaction references.
subTypestring–Optional operation sub-type
transactionIdstringyesSource transaction to split operations out of
workspaceRefstringyesWorkspace exact name or slug
NameTypeReqDescription
errorobject––
requestIdstring––
statusstringyes–
successboolean––
transactionIdstringyes–

No examples provided.

Common questions

What is the Tokenbooks - crypto and fiat accounting and payments MCP server?

Tokenbooks - crypto and fiat accounting and payments is an MCP server listed in the public MCP registry as io.tokenbooks/tokenbooks. Crypto and fiat on one double-entry ledger: sync wallets, reconcile, cost basis, audit-ready close. This page covers its hosted endpoint (https://api.tokenbooks.io/mcp).

Is the Tokenbooks - crypto and fiat accounting and payments MCP server safe to use?

Tokenbooks - crypto and fiat accounting and payments scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Tokenbooks - crypto and fiat accounting and payments MCP server expose?

Tokenbooks - crypto and fiat accounting and payments exposes 36 tools: get_server_info, get_accounting_reference, list_workspaces, list_portfolios, get_portfolio, and 31 more. Their descriptions and schemas cost roughly 6,773 tokens of context every time the server is loaded.

Does the Tokenbooks - crypto and fiat accounting and payments MCP server require authentication?

No. We connected to Tokenbooks - crypto and fiat accounting and payments without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Tokenbooks - crypto and fiat accounting and payments MCP server still maintained?

Tokenbooks - crypto and fiat accounting and payments is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.