LabscoMCP early access ↗
agenthillMCP SERVER

VaultPilot MCP

Read DeFi positions across nine chains, prepare the transaction, and approve it on your own Ledger.

by agenthill ↗Wallets, Signing & Transaction ExecutionCommunity

LABSCO SUMMARY

The agent drafts the transaction; the device decides.

What separates this from a wallet with an API is where the trust sits — the transaction is bound across every layer, so a swapped recipient or a smuggled approval shows up on the Ledger screen before you press the button. The breadth follows from that stance: reading and preparing is safe to make wide, so lending, LP, staking, bridges and Bitcoin all land in the same server.

What it is

VaultPilot, a self-custodial DeFi server built for the case where the agent, the server and the host are all assumed compromised: the agent proposes, the Ledger approves, and private keys never leave the device. It reads positions and prepares transactions across Ethereum, Arbitrum, Polygon, Base, Optimism, TRON, Solana, Bitcoin and Litecoin. Version 0.14.4, package vaultpilot-mcp.

What you get

  • Cross-chain portfolio reading with USD totals and period P&L — get_portfolio_summary, get_portfolio_diff, get_pnl_summary, get_daily_briefing
  • Per-protocol positions and their health: get_lending_positions, get_compound_positions, get_morpho_positions, get_marginfi_positions, get_kamino_positions, get_lp_positions, get_safe_positions
  • Liquidation work before it happens — get_health_alerts and simulate_position_change, with compare_yields ranking lending and staking rates across the supported adapters
  • Staking across ecosystems: Lido, EigenLayer and Rocket Pool on EVM, Marinade, Jito and native delegation on Solana, TRON Stake 2.0, read through get_staking_positions and get_solana_staking_positions
  • Swaps and bridges routed through LiFi and Jupiter, quoted first with get_swap_quote and get_solana_swap_quote
  • A prepare-preview-sign flow that is enforced, not suggested: every EVM prepare_* goes through preview_send, every Solana one through preview_solana_send, before send_transaction forwards it to the device
  • Security signals on the contract you are about to touch — check_contract_security, check_permission_risks, get_protocol_risk_score, get_token_allowances, and verify_tx_decode for a second model to check the bytes against the stated intent
  • Device assurance: verify_ledger_attestation, firmware pinning, and get_ledger_status for the session
  • Bitcoin and Litecoin as first-class chains — native segwit and taproot sends, RBF fee bumps, multisig PSBT combine and finalise, message signing
  • A demo mode with curated public personas so the whole surface can be walked without RPC keys or a device: set_demo_wallet, get_demo_wallet, exit_demo_mode

Requirements

Node.js 18.17 or newer, and a Ledger device for anything that signs. Reads work with no configuration at all against public endpoints, rate-limited but enough for a first look; real use wants your own RPC, set either as per-chain URL variables such as ETHEREUM_RPC_URL or as RPC_PROVIDER plus RPC_API_KEY. Every declared variable is optional — the setup wizard writes them into a config file instead, and the environment overrides it. WALLETCONNECT_PROJECT_ID is what EVM signing through Ledger Live needs; ETHERSCAN_API_KEY and ONEINCH_API_KEY unlock contract verification and quote cross-checks. TRON, Solana, Bitcoin and Litecoin sign over USB HID directly, which on Linux means Ledger's udev rules. Set VAULTPILOT_DEMO to try it with none of the above. Licensed under Business Source License 1.1: personal and internal use free, hosted redistribution needs a commercial licence.

Setup effort

One command — npm install -g vaultpilot-mcp && vaultpilot-mcp setup