hugegreencandle avatar

Xahau MCP

hugegreencandle/xahau-mcp

The first MCP for Xahau, the XRPL fork built around Hooks (on-ledger WebAssembly smart contracts). It runs a local Hook VM that executes real contract bytecode offline, no node required, and includes a static analyzer that flags missing exit paths, unguarded loops, and dangerous grants. Beyond the VM, you get read-only ledger access (accounts, installed hooks, transactions with HookExecutions metadata), a pre-sign flight simulator that shows exactly which hooks would fire and what they'd emit, reward-status helpers that reproduce on-chain payouts to the drop, governance state decoding for the Genesis Game, and Evernode host diagnostics. Every transaction builder returns unsigned JSON. Reach for this when you need to audit, test, or simulate Hooks before deployment, or when you're debugging Xahau-specific failures and reward claims.

GitHub stars
6
tools
76
transport
STDIO
env vars
2
last updated
Oct 4, 2026

Tools

76 tools

Public tool metadata for what this MCP can expose to an agent.

execute_hookRun the real Hook bytecode in a local VM against a simulated tx/state → actual accept/rollback, return code, state writes, emits, trace (LOCAL_VM).

Run the real Hook bytecode in a local VM against a simulated tx/state → actual accept/rollback, return code, state writes, emits, trace (LOCAL_VM).

No parameter schema in public metadata yet.

simulate_transactionPRE-SIGN FLIGHT SIMULATOR — predict an unsigned tx's fate: originator + stakeholder hook chains run as real bytecode against live state; per-hook verdicts, decoded emits, state writes, static engine preflights, scam score.

PRE-SIGN FLIGHT SIMULATOR — predict an unsigned tx's fate: originator + stakeholder hook chains run as real bytecode against live state; per-hook verdicts, decoded emits, state writes, static engine preflights, scam score.

No parameter schema in public metadata yet.

what_ifTIME MACHINE — fetch a real historical tx, apply your overrides, re-simulate at its original ledger.

TIME MACHINE — fetch a real historical tx, apply your overrides, re-simulate at its original ledger.

No parameter schema in public metadata yet.

fuzz_hookDifferential fuzzing: sweep many generated transactions through the VM to map the hook's accept/rollback decision boundary.

Differential fuzzing: sweep many generated transactions through the VM to map the hook's accept/rollback decision boundary.

No parameter schema in public metadata yet.

annotate_hook_traceDecode an execute_hook trace[] into human-readable values by byte-width; raw hex always preserved; offline.

Decode an execute_hook trace[] into human-readable values by byte-width; raw hex always preserved; offline.

No parameter schema in public metadata yet.

hook_reportOne-call full report: structure + plain-English classification + security findings + fee.

One-call full report: structure + plain-English classification + security findings + fee.

No parameter schema in public metadata yet.

hook_execution_postmortemPost-mortem a real on-chain tx's hooks by running each fired hook's real bytecode through the VM and comparing to what the chain recorded.

Post-mortem a real on-chain tx's hooks by running each fired hook's real bytecode through the VM and comparing to what the chain recorded.

No parameter schema in public metadata yet.

vm_fidelity_reportHonest fidelity metric: replays a committed corpus of real mainnet HookExecutions through the VM and reports agreement % over comparable runs only; offline.

Honest fidelity metric: replays a committed corpus of real mainnet HookExecutions through the VM and reports agreement % over comparable runs only; offline.

No parameter schema in public metadata yet.

classify_hookInfer in plain English what a hook does (firewall/emitter/stateful/financial/…).

Infer in plain English what a hook does (firewall/emitter/stateful/financial/…).

No parameter schema in public metadata yet.

hook_diffCompare two hook versions — API/HookOn/size deltas + newly-gained sensitive capabilities.

Compare two hook versions — API/HookOn/size deltas + newly-gained sensitive capabilities.

No parameter schema in public metadata yet.

scaffold_hookGenerate a starter Hook in C for an intent, then verify with analyze/execute.

Generate a starter Hook in C for an intent, then verify with analyze/execute.

No parameter schema in public metadata yet.

analyze_hookRun the static-analysis rule engine over a hook → SARIF-lite findings.

Run the static-analysis rule engine over a hook → SARIF-lite findings.

No parameter schema in public metadata yet.

audit_account_hooksPull every hook on an account and analyze all of them.

Pull every hook on an account and analyze all of them.

No parameter schema in public metadata yet.

inspect_hook_wasmParse CreateCode WASM: imports, exports, memory, custom sections, loop, guard and instruction counts.

Parse CreateCode WASM: imports, exports, memory, custom sections, loop, guard and instruction counts.

No parameter schema in public metadata yet.

estimate_hook_feeByte size (SetHook fee) + static instruction count (complexity proxy), ESTIMATE.

Byte size (SetHook fee) + static instruction count (complexity proxy), ESTIMATE.

No parameter schema in public metadata yet.

hook_dry_runSTATIC_ONLY quick check — fires-on-tx + exit calls present.

STATIC_ONLY quick check — fires-on-tx + exit calls present.

No parameter schema in public metadata yet.

list_rulesEnumerate analyzer rules.

Enumerate analyzer rules.

No parameter schema in public metadata yet.

hook_api_lookupLook up a Hook API function's role & hazards.

Look up a Hook API function's role & hazards.

No parameter schema in public metadata yet.

decode_hook_onHookOn bitmap to transaction-type list.

HookOn bitmap to transaction-type list.

No parameter schema in public metadata yet.

encode_hook_onTransaction-type list to HookOn bitmap.

Transaction-type list to HookOn bitmap.

No parameter schema in public metadata yet.

decode_hook_can_emitHookCanEmit bitmap to the tx types a hook may emit.

HookCanEmit bitmap to the tx types a hook may emit.

No parameter schema in public metadata yet.

encode_hook_can_emitTx types a hook may emit to HookCanEmit bitmap.

Tx types a hook may emit to HookCanEmit bitmap.

No parameter schema in public metadata yet.

estimate_hook_state_costExtendedHookState reserve math: value bytes and scale to per-entry capacity, reserve units, totals, warnings, optional XAH.

ExtendedHookState reserve math: value bytes and scale to per-entry capacity, reserve units, totals, warnings, optional XAH.

No parameter schema in public metadata yet.

simulate_hook_triggerStatic prediction of which accounts' hooks a tx would invoke, strong vs weak.

Static prediction of which accounts' hooks a tx would invoke, strong vs weak.

No parameter schema in public metadata yet.

decode_sethookA SetHook tx to its hook definitions, HookOn decoded.

A SetHook tx to its hook definitions, HookOn decoded.

No parameter schema in public metadata yet.

decode_tx_blobXahau tx blob to JSON (unsigned).

Xahau tx blob to JSON (unsigned).

No parameter schema in public metadata yet.

encode_tx_blobXahau tx JSON to blob (unsigned).

Xahau tx JSON to blob (unsigned).

No parameter schema in public metadata yet.

decode_uritoken_idURIToken ID validation.

URIToken ID validation.

No parameter schema in public metadata yet.

xah_amountXAH to drops conversion and back.

XAH to drops conversion and back.

No parameter schema in public metadata yet.

decode_xpopDecode an Import/Burn2Mint XPOP into source ledger, inner burn tx, burned drops, UNL validators.

Decode an Import/Burn2Mint XPOP into source ledger, inner burn tx, burned drops, UNL validators.

No parameter schema in public metadata yet.

decode_resultEngine result code to name and back.

Engine result code to name and back.

No parameter schema in public metadata yet.

diagnose_failed_txPlain-English diagnosis of why a transaction failed from on-chain facts.

Plain-English diagnosis of why a transaction failed from on-chain facts.

No parameter schema in public metadata yet.

validate_addressValidate classic/X-address (type, account-id, tag).

Validate classic/X-address (type, account-id, tag).

No parameter schema in public metadata yet.

xaddressEncode/decode X-addresses.

Encode/decode X-addresses.

No parameter schema in public metadata yet.

currency_code3-char ISO to 160-bit currency and back.

3-char ISO to 160-bit currency and back.

No parameter schema in public metadata yet.

ripple_timeRipple-time to Unix/ISO and back.

Ripple-time to Unix/ISO and back.

No parameter schema in public metadata yet.

decode_amountDecode native drops or issued amount into value, currency and issuer.

Decode native drops or issued amount into value, currency and issuer.

No parameter schema in public metadata yet.

decode_sign_requestDecode a Xaman txjson or tx_blob into plain-English authorization and safety warnings.

Decode a Xaman txjson or tx_blob into plain-English authorization and safety warnings.

No parameter schema in public metadata yet.

decode_lease_uriDecode an Evernode lease URIToken into lease index, EVR amount, ToS hash, IP.

Decode an Evernode lease URIToken into lease index, EVR amount, ToS hash, IP.

No parameter schema in public metadata yet.

evernode_host_diagnosticsOne-call Evernode host health check.

One-call Evernode host health check.

No parameter schema in public metadata yet.

inspect_emitted_txDecode a hook's emit() blobs into tx JSON, summary and danger score.

Decode a hook's emit() blobs into tx JSON, summary and danger score.

No parameter schema in public metadata yet.

scam_checkScore a sign request for risky patterns, returning dangerScore and SAFE/CAUTION/DANGER tier.

Score a sign request for risky patterns, returning dangerScore and SAFE/CAUTION/DANGER tier.

No parameter schema in public metadata yet.

xahau_server_infoNode information read.

Node information read.

No parameter schema in public metadata yet.

get_account_infoAccount information read.

Account information read.

No parameter schema in public metadata yet.

get_account_objectsAccount objects read.

Account objects read.

No parameter schema in public metadata yet.

get_account_hooksHooks on an account, including HookName.

Hooks on an account, including HookName.

No parameter schema in public metadata yet.

get_hook_definitionHook definition read.

Hook definition read.

No parameter schema in public metadata yet.

get_hook_stateHook state read.

Hook state read.

No parameter schema in public metadata yet.

get_transactionTransaction read, with HookExecutions.

Transaction read, with HookExecutions.

No parameter schema in public metadata yet.

get_ledgerLedger read.

Ledger read.

No parameter schema in public metadata yet.

get_feeCurrent network fee.

Current network fee.

No parameter schema in public metadata yet.

get_account_linesTrustlines read.

Trustlines read.

No parameter schema in public metadata yet.

get_account_offersDEX offers read.

DEX offers read.

No parameter schema in public metadata yet.

get_account_uritokensURITokens read, URI decoded.

URITokens read, URI decoded.

No parameter schema in public metadata yet.

explain_accountOne-call plain-English account snapshot.

One-call plain-English account snapshot.

No parameter schema in public metadata yet.

reward_statusBalance Adjustment doctor: opt-in status, accrued XAH, claim countdown, overdue warning, unsigned ClaimReward.

Balance Adjustment doctor: opt-in status, accrued XAH, claim countdown, overdue warning, unsigned ClaimReward.

No parameter schema in public metadata yet.

compute_rewardProject claimable XAH network reward (legacy).

Project claimable XAH network reward (legacy).

No parameter schema in public metadata yet.

quantum_gradeGrade an account for quantum readiness.

Grade an account for quantum readiness.

No parameter schema in public metadata yet.

governance_stateFull live decode of the Governance Game.

Full live decode of the Governance Game.

No parameter schema in public metadata yet.

decode_b2mBurn2Mint classification.

Burn2Mint classification.

No parameter schema in public metadata yet.

get_amendment_statusEnabled amendments and those in the voting set.

Enabled amendments and those in the voting set.

No parameter schema in public metadata yet.

predict_amendment_activationEstimate when amendments holding majority will enable.

Estimate when amendments holding majority will enable.

No parameter schema in public metadata yet.

check_amendment_blockedCheck whether the configured node is amendment blocked.

Check whether the configured node is amendment blocked.

No parameter schema in public metadata yet.

diff_node_amendmentsDiff enabled-amendment sets across two networks.

Diff enabled-amendment sets across two networks.

No parameter schema in public metadata yet.

trace_transaction_stakeholdersList every account a tx touched, from metadata.

List every account a tx touched, from metadata.

No parameter schema in public metadata yet.

verify_double_threadingStructural audit of a tx's metadata threading.

Structural audit of a tx's metadata threading.

No parameter schema in public metadata yet.

audit_account_remarksDecode Remarks attached to an account's objects.

Decode Remarks attached to an account's objects.

No parameter schema in public metadata yet.

build_sethook_unsignedUNSIGNED SetHook with automatic analyze_hook preflight.

UNSIGNED SetHook with automatic analyze_hook preflight.

No parameter schema in public metadata yet.

build_claimreward_unsignedUNSIGNED ClaimReward.

UNSIGNED ClaimReward.

No parameter schema in public metadata yet.

build_import_unsignedUNSIGNED Import/B2M.

UNSIGNED Import/B2M.

No parameter schema in public metadata yet.

build_payment_unsignedUNSIGNED Payment.

UNSIGNED Payment.

No parameter schema in public metadata yet.

build_remit_unsignedUNSIGNED Remit (XLS-55) atomic multi-asset push.

UNSIGNED Remit (XLS-55) atomic multi-asset push.

No parameter schema in public metadata yet.

build_set_remarks_unsignedUNSIGNED SetRemarks attaching key-value remarks.

UNSIGNED SetRemarks attaching key-value remarks.

No parameter schema in public metadata yet.

build_clawback_unsignedUNSIGNED Clawback revoking issued tokens from a holder.

UNSIGNED Clawback revoking issued tokens from a holder.

No parameter schema in public metadata yet.

build_deepfreeze_unsignedUNSIGNED TrustSet freeze toggle.

UNSIGNED TrustSet freeze toggle.

No parameter schema in public metadata yet.

prepare_transactionAutofill Sequence/Fee/LastLedgerSequence.

Autofill Sequence/Fee/LastLedgerSequence.

No parameter schema in public metadata yet.

Sponsors

Configuration

XAHAU_RPC_URLS

Optional comma-separated override of MAINNET Xahau JSON-RPC endpoints (defaults to built-in mainnet endpoints)

XAHAU_TEST_RPC_URLS

Optional comma-separated override of TESTNET Xahau JSON-RPC endpoints (defaults to built-in testnet endpoints)

Readme

xahau-mcp

A Model Context Protocol server for the Xahau network with two firsts: it runs a Hook's real WebAssembly bytecode in a local VM (no xahaud node required), and it runs a Hooks-specific static-analysis / security rule engine over it — both fully offline. Around that core it adds read-only ledger access, a Xahau-aware binary codec, an instruction-count fee estimate, network-reward math, governance helpers, and unsigned-transaction builders.

Xahau is the XRPL fork whose flagship feature is Hooks — small on-ledger WebAssembly smart contracts. There was no MCP for Xahau and no static analyzer for Hooks; this is both.

xahau-mcp v2.0 flight simulator demo

The trifecta — safe Hooks, end to end

Three open-source tools, one workflow: write → simulate one tx → prove all inputs. xahau-mcp is the simulate stage.


View the full README on GitHub

Details

Repository
github.com/hugegreencandle/xahau-mcp
Website
github.com/Hugegreencandle/xahau-mcp
Package
xahau-mcp
Transport
STDIO
Registry
MCP registry, active