home / mcp / bch mcp server

BCH MCP Server

Provides MCP endpoints for BCH wallet management, balance checks, sending BCH, CashTokens, escrow contracts, QR codes, and transaction utilities.

Installation
Add the following to your MCP client configuration file.

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.

How to use

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.

How to install

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 start

Additional setup notes

For 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
`

Live server configuration

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.

Available tools

wallet_create

Create a new random wallet with the specified network and type.

wallet_from_id

Retrieve wallet details using a walletId.

wallet_from_seed

Restore a wallet from a seed phrase on the given network.

wallet_from_wif

Restore a wallet from a WIF private key on the given network.

wallet_watch_only

Create a watch-only wallet from a public address.

get_deposit_address

Fetch deposit addresses for a wallet.

get_public_key

Obtain the wallet's public key and hash.

get_balance

Query the wallet balance in a specified unit.

get_utxos

List unspent transaction outputs for a wallet.

get_max_amount_to_send

Determine the maximum spendable amount for a wallet.

send

Send BCH to specified addresses with given amounts.

send_max

Send all funds from a wallet to a target address.

op_return_send

Send data via an OP_RETURN script.

encode_transaction

Construct a transaction without broadcasting it.

submit_transaction

Broadcast a signed transaction hex to the network.

get_history

Retrieve transaction history for a wallet.

get_raw_history

Fetch raw transaction history data.

get_block_height

Query the current block height for a network.

decode_transaction

Decode a transaction by hash or hex.

token_genesis

Create a new token category on a wallet.

token_send

Send fungible tokens to a target address.

token_mint

Mint new NFT tokens under a tokenId.

token_burn

Burn a specified amount of tokens.

get_token_balance

Get balance for a specific token.

get_all_token_balances

List all fungible token balances for a wallet.

get_nft_token_balance

Get NFT balance for a token ID.

get_all_nft_token_balances

List all NFT balances for a wallet.

get_token_utxos

Fetch UTXOs for a specific token.

get_token_deposit_address

Get a token deposit address for a wallet.

escrow_create

Create an escrow contract with arbiter, buyer, and seller.

escrow_get_balance

Check the balance of an escrow contract.

escrow_spend

Release escrow funds to the seller.

escrow_refund

Refund escrow funds to the buyer.

sign_message

Sign a message with a wallet.

verify_message

Verify a signed message.

get_bch_price

Fetch current BCH price in USD.

convert_currency

Convert between BCH, SAT, and USD.

qr_address

Generate a QR code for a given address.

validate_address

Validate a BCH address format.

wait_for_transaction

Wait for an incoming transaction to a wallet.

wait_for_balance

Wait until a wallet reaches a target balance.

get_testnet_satoshis

Acquire free testnet coins for testing.

return_testnet_satoshis

Return testnet coins to faucet.