getCardanoNetworkInfoLABSCO SUMMARY
Read-only is a different install from signing.
The registration switches turn this into two very different tools depending on how you configure it. Leave the key variables unset and you have a broad multi-chain block explorer that cannot touch anything. Fill them in and a model holds signing authority over live wallets — which is exactly why the README leads with test wallets and small balances rather than treating that as a footnote.
What it is
One MCP server covering a lot of chains, with per-chain registration switches so you only load the ones you use. Read-only queries need no credentials at all; anything that moves funds reads a private key or mnemonic from .env.
What you get
- Solana: SOL balances, account detail, SPL token balances, transfers, your address derived from the key, and token swaps routed through Jupiter
- EVM: native and ERC-20 balances, native and ERC-20 sends, and ERC-20 approvals across Ethereum, Base, Arbitrum, Optimism, BSC, Polygon, Avalanche and Berachain
- Cardano via Blockfrost: balances, UTxOs, transaction history, stake pools and delegation, native asset detail and epoch statistics
- THORChain: RUNE balances, pool detail, swap quotes between supported assets, and cross-chain swaps
- Bitcoin, Litecoin, Dogecoin and Bitcoin Cash: balances, transaction history, address validation, network info and fees
- XRP Ledger: balances, history, address validation, sends, token balances and trustline creation
- TON: balances, history, address validation and sends with an optional comment
- Registration switches —
ENABLE_SOLANA_TOOLS,ENABLE_ETHEREUM_TOOLS,ENABLE_CARDANO_TOOLS,ENABLE_BITCOIN_TOOLSand the rest — which cut startup time and shrink the attack surface
Requirements
Built from source with npm install and npm run build; the package is web3-mcp. Balance and history queries need nothing. Signing does: SOLANA_PRIVATE_KEY, ETH_PRIVATE_KEY, XRP_PRIVATE_KEY or XRP_MNEMONIC, TON_MNEMONIC, CARDANO_MNEMONIC, THORCHAIN_PRIVATE_KEY, each in .env. Cardano additionally needs a BLOCKFROST_API_KEY. Public RPC endpoints are used unless you supply your own. The project's own advice, and it is worth repeating: use test wallets holding small amounts.
Setup effort
One command plus a key — npx -y web3-mcp, then supply credentials
USE CASES
Checking balances across chains in one question
Ask for holdings on the chains you enabled and get them back without a key configured anywhere.
Validating an address before you send to it
Check the address on Bitcoin, XRP Ledger or TON, and read the current network fee at the same time.
Pricing a cross-chain swap
Get a THORChain quote between two supported assets before committing to the route.
Keeping the surface small
Switch off every chain you do not use so unused tools never register and never load credentials.
11 tools
Listed in project docs. Your client may show a different list.
getCardanoNetworkStatsgetCardanoEpochInfogetCardanoAddressInfogetCardanoAddressTransactionsgetCardanoAddressUtxosgetCardanoStakeAddressInfogetCardanoPoolInfolistCardanoTopPoolsgetCardanoAssetInfogetCardanoTransactionInfoBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- npx on PATH
- ETH_PRIVATE_KEY in your environment
- SOLANA_PRIVATE_KEY in your environment
- XRP_PRIVATE_KEY in your environment
- BLOCKFROST_API_KEY in your environment
- THORCHAIN_PRIVATE_KEY in your environment
- XRP_MNEMONIC in your environment
- TON_MNEMONIC in your environment
- TON_ADDRESS in your environment
- CARDANO_MNEMONIC in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y web3-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"web3-rpc": {
"command": "node",
"args": [
"<YOUR_PATH_TO_WEB3_MCP>/build/index.js"
]
}
}
}The configuration on this page does not set ETH_PRIVATE_KEY, SOLANA_PRIVATE_KEY, XRP_PRIVATE_KEY, BLOCKFROST_API_KEY, THORCHAIN_PRIVATE_KEY, XRP_MNEMONIC, TON_MNEMONIC, TON_ADDRESS and CARDANO_MNEMONIC; the project's instructions put them in a .env file. Check which folder the server reads that file from before you rely on it.