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.

Xahau MCP

NPM · XAHAU-MCP

MCP server for the Xahau network — offline Hook WASM VM + static analyzer, read-only ledger tools.

Available components

+4 this week 74 Trust /100

Last scanned (7 hours ago)

Scores higher than 43% 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 Security80
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects @modelcontextprotocol/sdk 1.29.0, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 83 of 197 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability84
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 9206 tokens (~102/item across 90 items; 87 tools + 3 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 Management77
  • Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage80
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 31% of tool parameters carry a description.Partial
  • Structured output schemas are declared (32% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_hook" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 88 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.

  • 23 Oct 26 +1

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

  • 21 Oct 26 +1
    • CVE-2026-111768 affects this package: high ▼ security
    • CVE-2026-111769 affects this package: high ▼ security
    • CVE-2026-111767 affects this package: high ▼ security
    • CVE-2026-111771 affects this package: high ▼ security
  • 19 Oct 26 +1
    • Security disclosure: unverified → fail ▼ functional
  • 18 Oct 26 0
    • Security disclosure: fail → unverified ▼ functional
  • 17 Oct 26 +1

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

  • 14 Oct 26 +1

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

  • 12 Oct 26 −2
    • CVE-2026-104850 affects this package: high ▼ security
    • Known CVEs: partial → fail ▼ security
    • CVE-2025-14505 no longer affects this package ▲ security
  • 5 Oct 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.

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 23 Oct 2026 · Analysed npm/xahau-mcp@2.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 →

Vulnerabilities 6 findings
ID CVE Severity Vector Fix available
GHSA-22jm-h49p-29qw CVE-2026-111767 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L yes
GHSA-46jr-4wx8-v453 CVE-2026-111768 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-6prh-2h8m-c8cw CVE-2026-111769 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N yes
GHSA-6qxp-vccf-f47h CVE-2026-104850 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N yes
GHSA-rvq5-wwqv-78pq CVE-2026-111771 medium CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N yes
GHSA-848j-6mx2-7j84 CVE-2025-14505 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L no

Background: What a vulnerability scan can and cannot prove →

Dependencies 197 packages
Packages resolved 197
Deprecated 1
Stale 83
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 87 exposed · ~9,127 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
analyze_hook ~91

Run the Hook static-analysis / security rule engine over a CreateCode WASM (+ optional SetHook params) and return SARIF-lite findings. Offline.

NameTypeReqDescription
flagsnumber––
grantsarray––
hookOnstring––
namespacestring––
parametersarray––
wasmBase64string––
wasmHexstring––
NameTypeReqDescription
decodedobject––
errorstring––
findingsarray––
summaryobject––
validboolean––

No examples provided.

annotate_hook_trace ~190

Annotate the trace[] array from an execute_hook result. Each entry is "label: HEXVALUE" (the hook's trace() memory dump). Decodes each blob by byte-width: 8-byte → canonical XFL float (definite) else int64 (both endians) + native-drops reading; 4-byte → UInt32 (both endians) + Ripple-epoch ISO date if in range; 20-byte → candidate account-id → r-address (possible, since arbitrary bytes can coincidentally encode); 32-byte → possible tx/hook hash (heuristic); other widths → raw blob. The raw hex is ALWAYS preserved as the primary field; nothing is suppressed; confidence is 'definite' only for canonical XFL. Fully offline, no network.

NameTypeReqDescription
tracearrayyestrace[] from an execute_hook result; each element "label: HEXVALUE"

No output schema declared.

No examples provided.

audit_account_hooks ~54

Fetch every hook on an account, pull each HookDefinition's WASM, and run the analyzer over all of them. Read-only network + offline analysis.

NameTypeReqDescription
addressstringyes–
networkstring––

No output schema declared.

No examples provided.

audit_account_remarks ~107

Read the Remarks (Remarks amendment) attached to an account's owned ledger objects — decoded name/value (hex→text where printable) with the immutable flag surfaced. Useful for dynamic-NFT patterns and object annotations. Follows the account_objects `marker` so accounts with many objects don't drop remarks on later pages (capped at 20 pages — `truncated:true` if hit); 1+ RPC reads.

NameTypeReqDescription
accountstringyes–
networkstring––
NameTypeReqDescription
accountstring––
errorstring––
immutableCountnumber––
networkstring––
notestring––
objectsarray––
objectsScannednumber––
objectsWithRemarksnumber––
pagesFetchednumber––
remarkCountnumber––
summarystring––
truncatedboolean––

No examples provided.

build_claimreward_unsigned ~55

Assemble an UNSIGNED ClaimReward transaction. Returns unsigned JSON + offline signing instructions. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
issuerstring––
networkstring––

No output schema declared.

No examples provided.

build_clawback_unsigned ~159

Assemble an UNSIGNED Clawback — an issuer revokes previously-issued tokens from a holder (ported from XRPL). Account is the ISSUER; the holder is whom you claw from. NOTE: requires the issuer to have enabled clawback (AccountSet asfAllowTrustLineClawback) BEFORE issuing. Cannot claw native XAH. Returns unsigned JSON + preflight. Never signs; testnet by default.

NameTypeReqDescription
accountstringyesthe token issuer (you)
currencystringyes3-char ISO code or 40-hex currency
holderstringyesthe account to claw tokens back from
networkstring––
valuestringyesamount to claw back (positive)

No output schema declared.

No examples provided.

build_cronset_unsigned ~212

Assemble an UNSIGNED CronSet — schedule a Hook's future self-invocations (Cron amendment). StartTime is Ripple-epoch seconds (0/omitted = ASAP); use startInSeconds for now+N. RepeatCount 0–256 (omit for a one-off), DelaySeconds = interval between repeats. Set cancel:true for tfCronUnset to remove the Cron. The account must have a Hook installed to act on the Cron pseudo-transaction. Returns unsigned JSON + preflight. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
cancelboolean–tfCronUnset — remove the account's Cron
delaySecondsnumber–seconds between repeats
networkstring––
repeatCountnumber–0–256 total repeats; omit for one-off
startInSecondsnumber–convenience: schedule for now + N seconds
startTimenumber–Ripple-epoch seconds; 0 = ASAP

No output schema declared.

No examples provided.

build_deepfreeze_unsigned ~161

Assemble an UNSIGNED TrustSet that toggles a freeze on your trustline to a counterparty. action: deep_freeze (blocks holder sending AND receiving — needs DeepFreeze amendment), clear_deep_freeze, freeze (blocks sending only), unfreeze. Returns unsigned JSON + preflight. Never signs; testnet by default.

NameTypeReqDescription
accountstringyesthe issuer (you)
actionstring––
counterpartystringyesthe holder side of the trustline
currencystringyes3-char ISO code or 40-hex currency (issued, not XAH)
limitValuestring–your existing trust limit to preserve (defaults to "0")
networkstring––

No output schema declared.

No examples provided.

build_disable_master_unsigned ~99

ROTATION WIZARD step 3 — assemble an UNSIGNED AccountSet asfDisableMaster (retire the master key). IRREVERSIBLE. ALWAYS runs disable_master_readiness internally and FAILS CLOSED — blocked=true unless a PROVEN working alternative signer exists (a regular key that has signed, or a reachable signer list that has multi-signed). Never signs.

NameTypeReqDescription
accountstringyes–
networkstring––

No output schema declared.

No examples provided.

build_import_unsigned ~78

Assemble an UNSIGNED Import (Burn2Mint) transaction wrapping a HEX-encoded XPOP in the Blob field. Returns unsigned JSON + offline signing instructions. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
networkstring––
xpopBlobHexstringyesHEX-encoded XPOP proof

No output schema declared.

No examples provided.

build_payment_unsigned ~106

Assemble an UNSIGNED XAH Payment (amount in drops). Returns unsigned JSON + offline signing instructions + payload preflight. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
amountDropsstringyesnative amount in DROPS (1 XAH = 1,000,000 drops); use xah_amount to convert XAH→drops
destinationstringyes–
destinationTagnumber––
networkstring––

No output schema declared.

No examples provided.

build_remit_unsigned ~264

Assemble an UNSIGNED Remit (XLS-55) — Xahau's atomic multi-asset push payment. Send multiple currencies (native + issued) and/or transfer existing URITokens and/or mint a new URIToken to one Destination in a single all-or-nothing transaction. The transactor auto-creates missing trustlines, pays token reserves, and creates the destination account if absent (no partial payments, no pathing). Optionally Inform a third-party hook. Returns unsigned JSON + payload preflight + offline signing instructions. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
amountsarray–currencies to send; each becomes an AmountEntry
blobstring–arbitrary hex payload
destinationstringyes–
destinationTagnumber––
informstring–third-party account to notify (weak TSH; its hook runs)
invoiceIdstring–64-hex InvoiceID
mintURITokenobject–mint a new URIToken to the destination (e.g. a receipt)
networkstring––
uriTokenIdsarray–existing URIToken IDs (64-hex) to transfer to destination

No output schema declared.

No examples provided.

build_set_regular_key_unsigned ~124

ROTATION WIZARD step 1 — assemble an UNSIGNED SetRegularKey to assign a rotatable regular key (or remove it if regularKey omitted). Moving authority off the unrotatable master key is the near-term quantum (HNDL) defense. Returns unsigned JSON + signing instructions; NEVER touches a secret. After it lands, send a TEST tx signed by the new key before disabling master.

NameTypeReqDescription
accountstringyes–
networkstring––
regularKeystring–new regular key r-address; omit to REMOVE

No output schema declared.

No examples provided.

build_set_remarks_unsigned ~190

Assemble an UNSIGNED SetRemarks (Remarks amendment) — attach, update, or delete key-value remarks on a ledger object you own (or, for URITokens/trustlines, issue). Each remark: name (required), value (omit to DELETE), immutable (Flags:1 = permanent). Max 32 per object, names unique, 1–256 bytes each; cost +1 drop/byte. RemarkName/RemarkValue are hex (non-hex text is UTF-8 encoded). Powers dynamic NFTs and rich object annotations. Returns unsigned JSON + preflight. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
networkstring––
objectIdstringyes64-hex ledger object ID to annotate (AccountRoot, URIToken, Offer, Escrow, trustline, …)
remarksarrayyes–

No output schema declared.

No examples provided.

build_sethook_unsigned ~187

Assemble an UNSIGNED SetHook transaction from CreateCode + params, auto-running analyze_hook as preflight. On any CRITICAL finding the unsigned tx is WITHHELD (unsignedTx null) and only the findings come back, unless overrideCritical is true. Returns findings + unsigned JSON + offline signing instructions. Never signs; testnet by default.

NameTypeReqDescription
accountstringyes–
createCodeHexstring––
flagsnumber––
grantsarray––
hookOnstring––
namespacestringyes32-byte HookNamespace hex
networkstring––
overrideCriticalboolean–Build the tx even when preflight finds CRITICAL issues. Default false: the tx is withheld.
parametersarray––
txTypesarray––
wasmHexstring––

No output schema declared.

No examples provided.

build_signer_list_set_unsigned ~104

ROTATION WIZARD alt — assemble an UNSIGNED SignerListSet (multisig). Often SAFER than disable-master for high-value accounts: multiple recovery keys, no single point of loss. quorum=0 removes the list. Rejects an unreachable quorum (would lock out the account). Never signs.

NameTypeReqDescription
accountstringyes–
networkstring––
quorumintegeryes–
signersarray––

No output schema declared.

No examples provided.

check_amendment_blocked ~88

Report whether the configured RPC node for this network is AMENDMENT BLOCKED (running xahaud too old to understand an enabled amendment — can't validate, submit, or vote), plus its build version and validated ledger. Reads server_info. Checks the network's fixed endpoint (no arbitrary-URL input, by design). 1 RPC read.

NameTypeReqDescription
networkstring––
NameTypeReqDescription
amendmentBlockedboolean––
buildVersionstring––
errorstring––
networkstring––
networkId–––
notestring––
remedystring––
summarystring––
validatedLedger–––

No examples provided.

classify_hook ~97

Infer in plain English what a Hook DOES (firewall/filter, emitter, stateful processor, financial/XFL, authorizer, autonomous agent…) from its structure — imports, hook/cbak exports, HookOn, state/emit/float/guard usage. Heuristic, offline; does not execute the bytecode.

NameTypeReqDescription
hookOnstring––
wasmBase64string––
wasmHexstring––
NameTypeReqDescription
archetypestring––
behaviorsarray––
capabilitiesarray––
confidencestring––
errorstring––
firesOn–––
summarystring––
validboolean––

No examples provided.

compute_reward ~111

Project claimable XAH network reward using the documented time-weighted model. Supply reward fields directly, or an address to read them live. Labelled DOCUMENTED_MODEL. LEGACY approximation — prefer reward_status, which applies the exact genesis reward-hook formula with live parameters.

NameTypeReqDescription
addressstring––
balanceXAHnumber––
currentLedgernumber––
networkstring––
rewardAccumulatornumber––
rewardLgrFirstnumber––

No output schema declared.

No examples provided.

currency_code ~64

Convert a currency between 3-char ISO code (e.g. USD) and its 160-bit/40-hex form. Non-standard 160-bit codes pass through. Offline.

NameTypeReqDescription
inputstringyesa 3-char code or a 40-hex currency

No output schema declared.

No examples provided.

decode_amount ~69

Decode an amount: native drops (digits), a serialized 8-byte native or 48-byte issued STAmount (hex), or an issued amount object {currency,issuer,value} → normalized value/currency/issuer. Offline.

NameTypeReqDescription
amount–yesdrops string, STAmount hex, or amount object
NameTypeReqDescription
currency–––
dropsstring––
errorstring––
issuer–––
typestring––
value–––
valueNotestring––
xahstring––

No examples provided.

decode_b2m ~40

Heuristically classify a Burn2Mint-related transaction (XRPL↔Xahau bridge direction). Offline.

NameTypeReqDescription
txobjectyes–

No output schema declared.

No examples provided.

decode_hook_can_emit ~108

Decode a HookCanEmit 256-bit bitmap into the set of transaction types a hook is permitted to EMIT (HookCanEmit amendment). Same encoding as HookOn (inverted/active-low, active-high SetHook bit). NOTE: an ABSENT HookCanEmit field means the hook may emit ANY transaction (including SetHook) — this tool only decodes a present value. Offline.

NameTypeReqDescription
hookCanEmitstringyesHookCanEmit hex (up to 64 chars)

No output schema declared.

No examples provided.

decode_hook_on ~62

Decode a HookOn 256-bit bitmap into the set of transaction types the hook fires on. Handles the inverted/active-low encoding and the active-high SetHook bit. Offline.

NameTypeReqDescription
hookOnstringyesHookOn hex (up to 64 chars)
NameTypeReqDescription
countnumber––
errorstring––
firesOnarray––
hookOnstring––

No examples provided.

decode_lease_uri ~114

Decode an Evernode lease URIToken URI (the `evrlease`/LTV format) → lease index, lease amount in EVR (XFL-decoded), half ToS hash, mint identifier, outbound IP. Accepts the on-chain URI hex, the base64 text, or raw buffer hex. Verified against the canonical evernode-js-client encoder + real mainnet leases. Offline.

NameTypeReqDescription
uristringyesURIToken.URI hex, base64 text, or raw lease-buffer hex

No output schema declared.

No examples provided.

decode_result ~61

Decode a transaction engine result code (e.g. 0/tesSUCCESS, 153/tecHOOK_REJECTED) ⇄ its name. Accepts a number or the result-code name. Offline.

NameTypeReqDescription
result–yesa result code number or name

No output schema declared.

No examples provided.

decode_sethook ~49

Decode a SetHook transaction (JSON or tx blob) into its hook definitions, each with HookOn decoded. Offline.

NameTypeReqDescription
txobject––
txBlobHexstring––

No output schema declared.

No examples provided.

decode_sign_request ~92

Decode a sign request (a Xaman/Xumm payload's txjson, or a raw tx_blob hex) into the transaction plus a plain-English 'what you would be authorizing' summary and safety warnings (SetHook, AccountDelete, key changes, no-expiry, already-signed). Offline — understand before you sign.

NameTypeReqDescription
txBlobHexstring––
txjsonobject––
NameTypeReqDescription
amountDecoded–––
errorstring––
summarystring––
transactionType–––
txobject––
warningsarray––

No examples provided.

decode_tx_blob ~41

Decode a Xahau transaction blob (hex) into JSON via the Xahau-aware binary codec. Offline.

NameTypeReqDescription
txBlobHexstringyes–

No output schema declared.

No examples provided.

decode_uritoken_id ~46

Validate a URIToken ID and explain its structure (SHA512-Half of issuer||URI; not reversible offline). Offline.

NameTypeReqDescription
uriTokenIdstringyes–

No output schema declared.

No examples provided.

decode_xpop ~107

Decode an XPOP (Xahau Proof of Payment) — the proof blob inside an Import/Burn2Mint tx. Accepts the Import Blob hex (hex of the XPOP JSON) or the XPOP JSON itself. Returns the source ledger header, the decoded inner BURN transaction (type, burned drops = its Fee, target network), and the UNL validator set. Offline.

NameTypeReqDescription
xpop–yesImport Blob hex, XPOP JSON string, or XPOP object
NameTypeReqDescription
burnedDrops–––
errorstring––
innerTransaction–––
innerTransactionType–––
ledger–––
ledgerIndex–––
metaPresentboolean––
proofPresentboolean––
summarystring––
targetNetworkId–––
validators–––
warningsarray––

No examples provided.

diagnose_failed_tx ~152

Why did my transaction fail? Plain-English diagnosis from ON-CHAIN facts: engine result decoded to cause + concrete fix (catalog of ~30 common Xahau failure codes), hook rollback return-strings decoded and interpreted (e.g. the genesis reward hook's 'You must wait N seconds' becomes a claimable-at date), the partial-payment trap on 'successful' Payments (delivered_amount vs Amount), and not-found triage (expired LastLedgerSequence / wrong network). 1 RPC read; authoritative — decodes what the chain recorded, re-executes nothing (use hook_execution_postmortem to replay hooks).

NameTypeReqDescription
networkstring––
txHashstringyestransaction hash
NameTypeReqDescription
causesarray––
engineResult–––
engineResultCode–––
errorstring––
failed–––
fixesarray––
foundboolean––
hookRejectionsarray––
networkstring––
notesarray––
partialDelivery–––
resultClass–––
summarystring––
txHashstring––
validated–––
whatItTried–––

No examples provided.

diff_node_amendments ~82

Diff the enabled-amendment sets of two networks (e.g. mainnet vs testnet) — what's enabled on one but not the other, by name where known. Explains why a transaction or Hook feature works on one network but not the other. 2 RPC reads.

NameTypeReqDescription
astring––
bstring––
NameTypeReqDescription
astring––
bstring––
enabledAnumber––
enabledBnumber––
errorstring––
onlyOnAarray––
onlyOnBarray––
summarystring––

No examples provided.

disable_master_readiness ~93

ROTATION WIZARD gate — is it SAFE to disable this account's master key? Checks for a working alternative signer: proves whether the configured regular key has ALREADY signed for the account (gold standard) and whether a signer list exists. Returns safeToDisable + proven + reasons. Read-only. Run this BEFORE build_disable_master_unsigned.

NameTypeReqDescription
accountstringyes–
networkstring––

No output schema declared.

No examples provided.

encode_hook_can_emit ~74

Build a canonical HookCanEmit hex from the list of transaction types a hook should be allowed to emit (HookCanEmit amendment; same encoding as HookOn). Omit the field entirely on the SetHook to allow emitting anything. Offline.

NameTypeReqDescription
txTypesarrayyese.g. ["Payment","Remit"]

No output schema declared.

No examples provided.

encode_hook_on ~42

Build a canonical HookOn hex from a list of transaction types to fire on. Offline.

NameTypeReqDescription
txTypesarrayyese.g. ["Payment","Invoke"]
NameTypeReqDescription
errorstring––
firesOnarray––
hookOnstring––

No examples provided.

encode_tx_blob ~41

Encode a transaction JSON into an UNSIGNED Xahau binary blob (for inspection/round-trip; never signed). Offline.

NameTypeReqDescription
txobjectyes–

No output schema declared.

No examples provided.

estimate_hook_fee ~83

Estimate a Hook's cost signals from its WASM: byte size (drives the SetHook fee) and total static instruction count (a complexity/upper-bound proxy for execution fee). Labelled ESTIMATE — the on-ledger execution fee depends on the path actually executed. Offline.

NameTypeReqDescription
wasmBase64string––
wasmHexstring––

No output schema declared.

No examples provided.

estimate_hook_state_cost ~146

Compute the owner-reserve cost of Hook State entries under ExtendedHookState. Given each entry's value size in bytes and the HookStateScale (1–16), returns per-entry capacity (256×scale bytes), per-entry reserve units (= scale, charged even for 1 byte), total reserve units, overflow warnings, and the minimum scale needed. Reserve UNITS are exact; pass ownerReserveIncrementXah to also get an XAH figure. Offline.

NameTypeReqDescription
entriesarrayyes–
ownerReserveIncrementXahnumber–optional: your network's owner-reserve increment in XAH, to convert units → XAH
scaleinteger––

No output schema declared.

No examples provided.

evernode_host_diagnostics ~129

One-call health check for an Evernode host (the official docs' troubleshooting checklist, automated): registration entry on the governor namespace, heartbeat liveness vs the on-chain active rule (current moment − heartbeatFreq×momentSize), instance load, reputation byte, EVR trustline + balance, registration URIToken held, lease offers, machine specs + accumulated EVR reward. Layout verified against canonical evernode-js-client + live mainnet. Read-only; ~9 serial RPC reads (slow but thorough).

NameTypeReqDescription
addressstringyeshost r-address
networkstring––
NameTypeReqDescription
addressstring––
balancesobject––
checksarray––
errorstring––
heartbeat–––
isRegisteredHostboolean––
leasesobject––
networkstring––
notesarray––
registration–––
specs–––
summarystring––
warningsarray––

No examples provided.

execute_hook ~298

Actually RUN a Hook's real WebAssembly bytecode in a local VM against a simulated transaction + ledger state, and report the true accept/rollback decision, return code/string, state writes, emitted txns and execution trace. Needs no xahaud node. Implements a subset of the Hook API; unsupported calls are recorded (fidelity LOCAL_VM, never faked).

NameTypeReqDescription
feeBasenumber––
hookAccountIdstring–20-byte account-id hex the hook is installed on
hookParamsobject––
keyletBlobsobject–32-byte ledger index hex -> serialized object hex, for slot_set
ledgerSeqnumber––
networkstring––
otxnBlobstring–full originating-txn serialized blob hex (enables otxn_slot)
otxnFieldsobject–field-id -> hex value of originating-txn fields the hook reads
otxnParamsobject–otxn param name -> hex value
resolveKeyletsboolean–if true, fetch any slot_set'd ledger objects live and re-run (async pre-resolve)
stateobject–initial hook state: 32-byte key hex -> value hex
txTypestring–originating tx type, e.g. "Payment"
wasmBase64string––
wasmHexstring––
NameTypeReqDescription
caveatstring––
degradedboolean––
emittedarray––
errorstring––
exitstring––
fidelitystring––
foreignStateWritesarray––
resolvedForeignStatearray––
resolvedKeyletsarray––
returnCode–––
returnStringstring––
stateApplied–––
stateWritesarray––
syntheticCallsarray––
tracearray––
unsupportedCallsarray––
wantedForeignStatearray––
wantedKeyletsarray––

No examples provided.

explain_account ~90

One-call plain-English account snapshot: balance, key-safety read (master/regular key), installed Hooks (+what they fire on), trustlines, URITokens (Evernode leases auto-decoded), and recent activity — plus warnings and notes. Read-only; exactly 5 serial RPC reads (>=1100ms apart).

NameTypeReqDescription
addressstringyesr-address
networkstring––

No output schema declared.

No examples provided.

fuzz_hook ~401

DIFFERENTIAL FUZZER: finds a Hook's accept/rollback decision boundary by running its REAL bytecode through the local VM against many DETERMINISTICALLY generated inputs (no randomness, no clock — fully reproducible). Sweeps axes you request: txType (a supplied list or all tx types), a raw otxn Amount-field byte range, otxn account/destination ids, and named otxn params. Reports counts {accept,rollback,halted,degraded}, per-axis boundary findings, and concrete accepting/rejecting sample inputs. Honest: degraded/halted runs are counted but excluded from the boundary; if every run degrades/halts it says INCONCLUSIVE and why. fidelity LOCAL_VM_FUZZ.

NameTypeReqDescription
amountFieldnumber–otxn field id to write the Amount sweep into (default 6)
amountMaxnumber–Amount axis high (raw drops)
amountMinnumber–Amount axis low (raw drops; field bytes are NOT STAmount-encoded)
feeBasenumber––
hookAccountIdstring––
hookParamsobject––
ledgerSeqnumber––
otxnFieldsobject––
otxnParamsobject––
paramSweepobject–named otxn params -> candidate hex values to sweep
samplesnumber–number of generated inputs (default 64, max 512)
stateobject––
sweepAccountboolean–also sweep a few deterministic account ids
sweepDestinationboolean–also sweep a few deterministic destination ids
txTypestring–base originating tx type
txTypesarray–txType axis: tx types to sweep, e.g. ["Payment","Invoke"]. Default: all known tx types (capped).
wasmBase64string––
wasmHexstring––

No output schema declared.

No examples provided.

get_account_hooks ~65

The Hooks installed on an account, with each HookOn bitmap decoded to the transaction types it fires on, and any HookName (a named hook fires only for transactions carrying the matching HookName). Read-only.

NameTypeReqDescription
addressstringyes–
networkstring––

No output schema declared.

No examples provided.

get_account_info ~40

Account root: balance, sequence, flags, regular key. Read-only.

NameTypeReqDescription
addressstringyesr-address
networkstring––

No output schema declared.

No examples provided.

get_account_lines ~39

Trustlines (issued-currency balances) held by an account. Read-only.

NameTypeReqDescription
addressstringyes–
networkstring––

No output schema declared.

No examples provided.

get_account_objects ~55

Ledger objects owned by an account, optionally filtered by type (hook, hook_state, uri_token, etc.). Read-only.

NameTypeReqDescription
addressstringyes–
networkstring––
typestring––

No output schema declared.

No examples provided.

get_account_offers ~36

Open DEX offers placed by an account. Read-only.

NameTypeReqDescription
addressstringyes–
networkstring––

No output schema declared.

No examples provided.

get_account_uritokens ~54

URITokens (Xahau-native NFTs) owned by an account, with each token's URI decoded from hex to text. Read-only.

NameTypeReqDescription
addressstringyes–
networkstring––

No output schema declared.

No examples provided.

get_amendment_status ~82

Live amendment status for the network: every ENABLED amendment (resolved to its human name where known, raw hash otherwise) plus any in the VOTING set (already at >80% support, counting toward enablement). Reads the on-ledger Amendments singleton — no admin node needed. 1 RPC read.

NameTypeReqDescription
networkstring––
NameTypeReqDescription
caveatstring––
enabledarray––
enabledCountnumber––
errorstring––
knownNameTableSizenumber––
namedCountnumber––
networkstring––
summarystring––
unnamedCountnumber––
votingarray––
votingCountnumber––

No examples provided.

Install

How do I install the Xahau MCP server?

Xahau MCP runs locally as an npm package, launched with npx -y xahau-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 · xahau-mcp

# add to Claude Code
claude mcp add hugegreencandle-xahau-mcp -- npx -y xahau-mcp
Common questions

What is the Xahau MCP server?

Xahau MCP is listed in the public MCP registry as io.github.Hugegreencandle/xahau-mcp. MCP server for the Xahau network, offline Hook WASM VM + static analyzer, read-only ledger tools. This page covers its npm package (xahau-mcp).

Is the Xahau MCP server safe to use?

Xahau MCP scores 74 out of 100 on VerifyMCP. We recorded 6 known advisories against it as of 23 October 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 Xahau MCP server expose?

Xahau MCP exposes 87 tools: xahau_server_info, get_account_info, get_account_objects, get_account_hooks, get_hook_definition, and 82 more. Their descriptions and schemas cost roughly 9,127 tokens of context every time the server is loaded.

Is the Xahau MCP server still maintained?

Xahau MCP is still listed as active in the MCP registry. We last reached this channel on 23 October 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 Xahau MCP server under?

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