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.

NimBooks

NPM · NIMBOOKS-MCP

Read-only Nimiq books: balances, history, statements, staking, payment and stake links. Never signs.

Available components

+4 this week 74 Trust /100

Last scanned (5 hours ago)

Scores higher than 48% of npm servers

Category Crypto and Web3

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 92 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2525 tokens (~229/item across 11 items; 11 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 Management40
  • Stability observed for 12 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 12 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
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.

  • 5 Nov 26 +1

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

  • 3 Nov 26 +1

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

  • 1 Nov 26 +1

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

  • 30 Oct 26 +1

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

  • 29 Oct 26 +26
    • Malware scan: unverified → pass ▲ security
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.86 ▲ functional
  • 28 Oct 26 −24
    • Known CVEs: pass → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • Dependency health: 0.85 → unverified ▼ functional
    • Stability: unverified → 0.13 ▲ functional
    • Package version: 1.2.1 → 1.3.0 functional
    • Package version: 1.2.1 → 1.2.2 functional
  • 25 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 24 Oct 26 53

    First indexed and scored.

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 5 Nov 2026 · Analysed npm/nimbooks-mcp@1.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 92 packages
Packages resolved 92
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 11 exposed · ~2,373 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
check_request_paid ~117

Looks for a payment tagged with a request’s reference (nimbooks:invoice:<id>) in the address’s transactions — the same match the NimBooks app uses to mark a request paid. Read-only: it reports what the chain says and changes nothing, here or in the app. Scans the newest 200 transactions.

NameTypeReqDescription
addressstring–The payee address the request was made for. Optional; defaults to the server’s configured address.
idstringyesThe request id, as returned by create_payment_request.

No output schema declared.

No examples provided.

create_payment_request ~280

DRAFTS a payment request and returns a shareable link. This never signs anything, never sends anything, and never marks anything paid — the whole request rides inside the link, and only the payer’s wallet, with their approval, can actually move money. The link opens in the NimBooks app; the payment it produces carries the reference nimbooks:invoice:<id>, which check_request_paid looks for later. Note: inside the link, the payload field amountNim is denominated in Luna by the app’s link format; this tool’s own output reports amountNim in NIM and amountLuna in Luna.

NameTypeReqDescription
amountNimstringyesAmount in NIM, as a decimal string — "12.5". Up to 5 decimals (1 NIM = 100000 Luna).
expirystring–When the request stops being valid: "1h", "24h", "7d", "none" (default), or an ISO 8601 timestamp.
idstring–Fixed request id, for reproducible links. Generated when omitted.
memostring–What the request is for, up to 80 characters. Travels in the link, not on chain.
payeestring–Address to be paid. Optional; defaults to the server’s configured address.

No output schema declared.

No examples provided.

draft_stake ~240

DRAFTS a stake and returns a link only. This never signs anything and never sends anything: the link opens the NimBooks app with the stake panel pre-filled, and you check the amount and validator there and confirm in your own wallet. No validator is recommended, ranked or chosen for you, and there is no default validator. The link is the deliverable, exactly like create_payment_request: nothing is built, broadcast or queued here, and nothing is marked as staked. Notes explain what the app will do with the values, including a cap to the free balance and the 100 NIM first-stake minimum.

NameTypeReqDescription
addressstring–The staker account, used only to read the current delegation and liquid balance for notes. Optional; defaults to the server’s configured address.
amountNimstring|number–Amount in NIM, decimal, at most 5 decimals. An omitted or invalid amount is left out of the link with a note.
validatorstring–A validator NQ address, or a validator name (exact, or a unique part of the name). There is no default validator.

No output schema declared.

No examples provided.

get_rewards ~277

Staking rewards for an address over a window: the total (Luna and NIM), the reward days, the first and last reward date, and the breakdown per paying pool, plus an actual yield over the trailing 30 days measured against the current active stake and the current validator's estimate for comparison. Read-only, never signs and never sends. Important: only restaking (compounding) pools show up in this data; a direct-payout pool's rewards arrive as ordinary incoming transactions and are found with list_transactions instead. The public rewards data starts January 2025, so earlier asks come back empty, and it can lag by a day. A year Nimiq Watch did not answer is named in the answer, never silently dropped.

NameTypeReqDescription
addressstring–Nimiq address (NQ form, spaced or flat, or 40 hex characters). Optional; defaults to the server’s configured address.
includeDaysboolean–Include the per-day reward rows, newest first, at most 400. Default false.
sincestring–Start of the window, YYYY-MM-DD or ISO 8601 (UTC). Default: the start of the public rewards data.
untilstring–End of the window, YYYY-MM-DD or ISO 8601 (UTC). Default: now.

No output schema declared.

No examples provided.

get_staking ~170

A Nimiq address's staking position: active staked, inactive (cooling down after an unstake), retired (ready to withdraw) and total, plus the pool it is staked to with its fee, net yield and payout type, an unstake clock (a retire only becomes valid one full epoch after deactivation), and a first-year rewards estimate at the pool's current net yield. Read-only: reads the public chain and the public validators list, never signs and never sends. Never staked reads as staked: false, never as a failed lookup; a failed lookup is an error that says so.

NameTypeReqDescription
addressstring–Nimiq address (NQ form, spaced or flat, or 40 hex characters). Optional; defaults to the server’s configured address.

No output schema declared.

No examples provided.

get_statement ~237

Day-by-day money in and out for a year (or one month of it), priced at the CoinGecko daily close in USD for each UTC day — the same basis the NimBooks tax statement uses. Read-only: never signs, never sends. Failed transactions are excluded and fees are counted on outgoing transactions only. Staking rewards (restaking payouts) are included as in-day income; moving NIM into or out of the staking contract is not a fiat flow, so it is excluded, exactly like the app’s statement. Nimiq Pay’s round trips through its own contracts go in internalInNim/internalOutNim, not in or out, as in the app. Days with no price available come back with closeUsd: null rather than a guess.

NameTypeReqDescription
addressstring–Nimiq address (NQ form, spaced or flat, or 40 hex characters). Optional; defaults to the server’s configured address.
monthinteger–Optional month 1–12. Omit for the whole year.
yearintegeryesCalendar year, UTC — e.g. 2026.

No output schema declared.

No examples provided.

get_summary ~269

Balance and money in/out for a Nimiq address over a window. Read-only: never signs, never sends. Defaults to the full history the public index returns (up to 1000 transactions, newest first). Balance is the live account balance now, not the balance at the end of the window; any staked NIM is reported separately because it lives in the staking contract. Money out includes transfers into the staking contract and out of it — the same treatment as the app’s statement; validator rewards arrive through a separate channel and are reported as their own line (rewardsReceivedNim). Nimiq Pay’s round trips through its own contracts are the wallet’s own money and are reported as internalIn/internalOut, not as money in or out, the same split the app makes; netNim counts both.

NameTypeReqDescription
addressstring–Nimiq address — "NQ82 6GYU …", the flat form, or 40 hex characters. Optional; defaults to the server’s configured address.
sincestring–Start of the window, YYYY-MM-DD or ISO 8601 (UTC). Default: no start.
untilstring–End of the window, YYYY-MM-DD or ISO 8601 (UTC). Default: now.

No output schema declared.

No examples provided.

list_invoices ~97

Payment requests stored in a NimBooks backup file (the app keeps them on the device; there is no server holding them). Requires the server to be started with --backup <path>. Read-only: the file is never written to, and the cashlink shelf inside it — which holds link private keys — is never opened.

NameTypeReqDescription
addressstring–The account whose requests to list. Optional; defaults to the server’s configured address.

No output schema declared.

No examples provided.

list_transactions ~200

Classified transactions for a Nimiq address, newest first. Read-only: never signs, never sends. Each row carries the kind the NimBooks app shows (payment, stake, unstake, reward, swap, vesting), the counterparty, and the memo — a cashlink’s protocol tag reads as "Cashlink" rather than raw bytes, and a `nimbooks:invoice:<id>` memo is the reference that ties a payment to a request.

NameTypeReqDescription
addressstring–Nimiq address (NQ form, spaced or flat, or 40 hex characters). Optional; defaults to the server’s configured address.
limitinteger–Rows to return. Default 50.
sincestring–Only transactions at or after this date (YYYY-MM-DD or ISO 8601, UTC).
untilstring–Only transactions at or before this date (YYYY-MM-DD or ISO 8601, UTC).

No output schema declared.

No examples provided.

list_validators ~184

The Nimiq validator pools of the current epoch, ranked neutrally, exactly as the NimBooks app ranks them: producing pools first (those with a reliability score this epoch), best net annual yield first within them, pools that publish no yield last, then the non-producing pools, and the name as the final stable tiebreak. Nothing is pinned first. Read-only: one call to the public validators list, never signs and never sends. netYieldPercent is the net annual yield on the network's total stake after the pool's fee, the Nimiq wallet's convention; it moves as emission falls and as stake moves.

NameTypeReqDescription
includeNonProducingboolean–Include pools with no reliability score this epoch (they earn nothing right now). Default true.
limitinteger–Pools to return, 1 to 50. Default 50.

No output schema declared.

No examples provided.

project_yield ~302

Projects what staking an amount of NIM might earn, year by year. With an explicit rate it is a pure offline calculation. Read-only, never signs and never sends. Rate resolution, in order: an explicit annualRatePercent, then the named pool's current net yield, then the median of the producing pools. Compounding follows the pool's payout type (direct pools pay out, the rest restake) unless an explicit compound choice is given. Returns per-year rewards, cumulative rewards and balance, plus its assumptions: emission falls along the protocol supply curve, the network's total stake is held at today's level, and it is a projection, not a promise.

NameTypeReqDescription
amountNimstringyesAmount to stake, in NIM, as a decimal string, e.g. "1000". At most 5 decimals.
annualRatePercentnumber–Explicit annual rate in percent, more than 0 and at most 100. Wins over any pool's or the typical rate, and makes the call work offline.
compoundboolean–Restake rewards as they arrive (true) or pay them out (false). Default: the pool's payout type, else true.
validatorstring–A pool: its NQ address, exact name, or a unique part of the name (list_validators has them).
yearsinteger–Horizon in years, 1 to 10. Default 1.

No output schema declared.

No examples provided.

Install

How do I install the NimBooks MCP server?

NimBooks runs locally as an npm package, launched with npx -y nimbooks-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · nimbooks-mcp

# add to Claude Code
claude mcp add subimpact-nimbooks-mcp -- npx -y nimbooks-mcp
Common questions

What is the NimBooks MCP server?

NimBooks is an MCP server listed in the public MCP registry as io.github.subimpact/nimbooks-mcp. Read-only Nimiq books: balances, history, statements, staking, payment and stake links. Never signs. This page covers its npm package (nimbooks-mcp).

Is the NimBooks MCP server safe to use?

NimBooks scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. 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 NimBooks MCP server expose?

NimBooks exposes 11 tools: get_summary, list_transactions, get_statement, create_payment_request, check_request_paid, and 6 more. Their descriptions and schemas cost roughly 2,373 tokens of context every time the server is loaded.

Is the NimBooks MCP server still maintained?

NimBooks is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the NimBooks MCP server under?

NimBooks declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.