Labsco
MCP SERVER

Bitcoin MCP

by Bortlesboat

Bitcoin fee intelligence, mempool analysis, block and transaction inspection against your own node or a compatible API.

Chain State, Explorers & Contract ToolingVerified
Summary
Fee timing and mempool state as the main event, with the rest of the chain behind it.

Most of the value is in one question — send now or wait — and get_fee_recommendation answers it with the rates it used, which is checkable. The backend requirement is the honest catch: it wants your node or an endpoint you configured, and it fails loudly rather than falling back to a public service that may not be there.

What it is

A Bitcoin MCP server built around the question of when and what it costs to send. It reads fees, the mempool, blocks, transactions, mining state and network health, and it auto-detects a local Bitcoin Core or Knots node from its cookie or RPC settings rather than assuming a public service.

What you get
  • get_fee_recommendation, get_fee_estimates, estimate_smart_fee, compare_fee_estimates and estimate_transaction_cost — an optimal rate with urgency tiers, estimates across confirmation targets, a side-by-side comparison of sources, and the cost of a specific transaction before you broadcast
  • analyze_mempool, get_mempool_info, get_mempool_entry and get_mempool_ancestors — depth, fees and congestion, the fee floor, one unconfirmed transaction, and its ancestor chain
  • analyze_block, get_block_stats, get_block_count, compare_blocks and search_blocks — a block by height or hash, its statistics, the chain tip, two blocks compared, and a range searched
  • analyze_transaction, decode_raw_transaction, send_raw_transaction and check_utxo — full transaction analysis with inscription detection, raw hex decoding, broadcasting a signed transaction, and whether a UTXO is spent
  • get_mining_info, analyze_next_block, get_mining_pool_rankings, get_difficulty_adjustment and get_halving_countdown — difficulty, hashrate and reward, the next block template, pools by recent blocks, and the next adjustment and halving
  • get_blockchain_info, get_network_info, get_node_status, get_peer_info, get_chain_tips, get_chain_tx_stats, get_utxo_set_info and get_supply_info — chain and node state, peers, stale tips, throughput, and circulating supply
  • get_situation_summary, get_btc_price and get_market_sentiment — price, fees, mempool and mining in one call, plus the fear and greed index
  • get_address_utxos, validate_address and the indexed address tools (get_address_balance, get_address_history, get_address_transactions, get_indexed_transaction, get_indexer_status) — address lookups, with balance and history requiring a blockchain indexer
  • analyze_psbt_security and explain_inscription_listing_security — a security read of a Partially Signed Bitcoin Transaction, and a guide to ordinal inscription listings
  • search_blockchain, generate_keypair, explain_script, decode_bolt11_invoice, decode_xpub, describe_rpc_command and list_rpc_commands — universal search over an address, txid, block hash or height, plus key, script, invoice and RPC helpers
Requirements

A Bitcoin data backend — either a local Bitcoin Core or Knots node, configured through BITCOIN_RPC_HOST, BITCOIN_RPC_PORT and BITCOIN_NETWORK, or a compatible API at SATOSHI_API_URL with SATOSHI_API_KEY where required. With neither, the connection check exits with a setup error rather than silently choosing a service. Install with pip install bitcoin-mcp or run uvx bitcoin-mcp; --transport also accepts sse and streamable-http, with --host, --port and --log-level alongside it. It also ships six prompts and eight bitcoin:// resources.

Setup effort

One command — pip install bitcoin-mcp