Provides MCP endpoints for BCH wallet management, balance checks, sending BCH, CashTokens, escrow contracts, QR codes, and transaction utilities.
Configuration
View docs{
"mcpServers": {
"cashlabs-dev-bch-mcp": {
"url": "https://mcp.cashlabs.dev/mcp"
}
}
}You run a BCH MCP Server to manage wallets, check balances, send BCH, handle CashTokens, escrow contracts, and other utilities in a centralized, programmatic way. It provides a robust interface you can call from your MCP client to perform common Bitcoin Cash operations securely and efficiently.
Connect an MCP client to the live server URL and start making tool calls to manage wallets, view balances, send BCH, work with CashTokens, and manage escrow contracts. You can use the available tools to create wallets, fetch balances, generate deposit addresses, and construct or broadcast transactions. The server exposes an MCP endpoint you query for each operation, and it includes convenient utilities like QR code generation and signing/verification to streamline your workflows.
Prerequisites you need before starting are Node.js and npm, and optional Docker for containerized deployment. The following steps describe both a local development setup and a straightforward deployment path.
# Install dependencies
npm install
# Build the server for production
npm run build
# Start the server locally
npm startFor production deployment, you can run the server in a container or directly on a host. The server exposes an MCP endpoint at the production URL, and health can be checked via the health endpoint. If you opt for container-based deployment, you can use Docker to build and run the image as shown below.
# Build the image
docker build -t bch-mcp-server .
# Run the container
docker run -d -p 8081:8081 --name bch-mcp bch-mcp-server
`Youโll connect to the live MCP endpoint at the production URL for BCH operations. For production readiness you may also expose a domain and enable SSL, and you can monitor health via the Health Check endpoint.
Create a new random wallet with the specified network and type.
Retrieve wallet details using a walletId.
Restore a wallet from a seed phrase on the given network.
Restore a wallet from a WIF private key on the given network.
Create a watch-only wallet from a public address.
Fetch deposit addresses for a wallet.
Obtain the wallet's public key and hash.
Query the wallet balance in a specified unit.
List unspent transaction outputs for a wallet.
Determine the maximum spendable amount for a wallet.
Send BCH to specified addresses with given amounts.
Send all funds from a wallet to a target address.
Send data via an OP_RETURN script.
Construct a transaction without broadcasting it.
Broadcast a signed transaction hex to the network.
Retrieve transaction history for a wallet.
Fetch raw transaction history data.
Query the current block height for a network.
Decode a transaction by hash or hex.
Create a new token category on a wallet.
Send fungible tokens to a target address.
Mint new NFT tokens under a tokenId.
Burn a specified amount of tokens.
Get balance for a specific token.
List all fungible token balances for a wallet.
Get NFT balance for a token ID.
List all NFT balances for a wallet.
Fetch UTXOs for a specific token.
Get a token deposit address for a wallet.
Create an escrow contract with arbiter, buyer, and seller.
Check the balance of an escrow contract.
Release escrow funds to the seller.
Refund escrow funds to the buyer.
Sign a message with a wallet.
Verify a signed message.
Fetch current BCH price in USD.
Convert between BCH, SAT, and USD.
Generate a QR code for a given address.
Validate a BCH address format.
Wait for an incoming transaction to a wallet.
Wait until a wallet reaches a target balance.
Acquire free testnet coins for testing.
Return testnet coins to faucet.