{"name":"io.github.Bortlesboat/bitcoin-mcp","slug":"bortlesboat-bitcoin-mcp","title":"Bitcoin MCP","description":"49 Bitcoin tools for AI agents: fees, mempool, blocks, mining, price. Zero config.","url":"https://mcp.market/server/bortlesboat-bitcoin-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":31,"stars":5,"forks":5,"downloads_week":61,"last_push_at":"2026-09-10T01:32:52.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Bortlesboat/bitcoin-mcp","website":null,"version":"0.5.1","remotes":[],"packages":[{"registryType":"pypi","identifier":"bitcoin-mcp","version":"0.5.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Bitcoin Core RPC host (default: 127.0.0.1)","format":"string","name":"BITCOIN_RPC_HOST"},{"description":"Bitcoin Core RPC port (default: auto-selected by network)","format":"string","name":"BITCOIN_RPC_PORT"},{"description":"Bitcoin network: mainnet, testnet, signet, or regtest (default: mainnet). Sets default RPC port if BITCOIN_RPC_PORT is not set.","format":"string","name":"BITCOIN_NETWORK"},{"description":"Override the default hosted API URL (default: https://bitcoinsapi.com). The hosted API is used automatically when no local node is detected.","format":"string","name":"SATOSHI_API_URL"},{"description":"API key for authenticated access to the hosted Satoshi API (get one free at POST /api/v1/register)","format":"string","isSecret":true,"name":"SATOSHI_API_KEY"}]}],"tools":[{"name":"analyze_block","description":"Analyze a block: mining pool, SegWit/Taproot adoption, fee distribution, revenue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_mempool","description":"Analyze the mempool: tx count, fee buckets, congestion level, next-block minimum fee.","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_next_block","description":"Predict next block: transactions, weight utilization, miner revenue, fee percentiles, top-fee txs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_psbt_security","description":"Analyze a PSBT for ordinals inscription listing mempool sniping vulnerability.","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_transaction","description":"Decode and analyze a transaction: inputs, outputs, fee rate, SegWit/Taproot flags, inscription detection.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_utxo","description":"Check if a specific transaction output is unspent (UTXO lookup).","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_blocks","description":"Compare block statistics between two block heights side by side.","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_fee_estimates","description":"Compare fee estimates side-by-side with urgency labels and cost for a typical 140 vB transaction.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decode_bolt11_invoice","description":"Decode a BOLT11 Lightning invoice without external dependencies.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decode_raw_transaction","description":"Decode a raw transaction hex without looking up inputs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"describe_rpc_command","description":"Get structured help for a Bitcoin RPC command: description, arguments, examples.","write_action":false,"price_micros":0,"input_schema":null},{"name":"estimate_smart_fee","description":"Get fee estimate for a specific confirmation target.","write_action":false,"price_micros":0,"input_schema":null},{"name":"estimate_transaction_cost","description":"Estimate Bitcoin transaction cost in sats AND USD at different urgency levels. Supports address types: p2pkh (legacy), p2sh-p2wpkh (nested segwit), p2wpkh (native segwit), p2tr (taproot). Shows how much you save by waiting.","write_action":false,"price_micros":0,"input_schema":null},{"name":"explain_inscription_listing_security","description":"Explain in plain language whether an ordinals inscription listing is snipe-resistant.","write_action":false,"price_micros":0,"input_schema":null},{"name":"explain_script","description":"Decode a Bitcoin Script hex and break down the opcodes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_keypair","description":"Generate a new Bitcoin address via the connected node's wallet. Requires a local node with a wallet loaded — not available when using the hosted Satoshi API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_address_balance","description":"Get the total balance, transaction count, and first/last seen times for a Bitcoin address.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_address_history","description":"Get paginated transaction history for a Bitcoin address.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_address_utxos","description":"Scan the UTXO set for all unspent outputs belonging to an address. Note: scans full UTXO set, may take minutes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_block_count","description":"Get current block height (lightweight, fast).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_block_stats","description":"Get raw block statistics: median fee, total output, subsidy, weight, tx count.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_blockchain_info","description":"Get blockchain info: chain, difficulty, softfork statuses, chain work, pruning.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_btc_price","description":"Get current BTC/USD price from CoinGecko (free, no API key). Returns price, 24h change, and market cap. Use this to convert sat/vB fees into dollar amounts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_chain_tips","description":"Get chain tips: active chain, forks, and stale branches. Useful for detecting chain splits.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_chain_tx_stats","description":"Get transaction rate statistics over N blocks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_difficulty_adjustment","description":"Calculate difficulty adjustment progress: blocks into epoch, blocks remaining, estimated time, and projected adjustment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fee_estimates","description":"Get fee rate estimates for 1/3/6/25/144 block confirmation targets in sat/vB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fee_recommendation","description":"Get a plain-English fee recommendation based on current estimates, with raw rate data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_halving_countdown","description":"Get a focused countdown to the next Bitcoin halving: blocks remaining, estimated date, and subsidy change.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_indexed_transaction","description":"Get enriched transaction details from the blockchain indexer.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_indexer_status","description":"Check the blockchain indexer sync progress.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_market_sentiment","description":"Get Bitcoin Fear & Greed Index: current value (0-100), classification (Extreme Fear/Fear/Neutral/Greed/Extreme Greed), and 7-day history. Use this to gauge market sentiment alongside price data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_mempool_ancestors","description":"Get all unconfirmed ancestor transactions of a mempool transaction. Useful for CPFP analysis.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_mempool_entry","description":"Get details of a specific unconfirmed transaction in the mempool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_mempool_info","description":"Get quick mempool stats: transaction count, size in bytes, min relay fee.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_mining_info","description":"Get mining info: difficulty, network hashrate, current block size.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_mining_pool_rankings","description":"Get top 10 Bitcoin mining pools by hashrate share over the last week. Returns pool name, percentage of total hashrate, and block count. Use this to understand mining centralization and pool dominance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_network_info","description":"Get network info: protocol version, relay fee, connections, warnings. In hosted API mode, reflects the API server's network view.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_node_status","description":"Get Bitcoin network status: chain, height, sync progress, disk usage, connections, version. In hosted API mode, reflects the API server's node.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_peer_info","description":"Get connected peer details: addresses, latency, services, version. In hosted API mode, shows the API server's peers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_situation_summary","description":"Get a quick Bitcoin briefing: price, fees, mempool, and chain tip in one call. Use this as your first call to understand current conditions — replaces calling 5+ tools separately.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_supply_info","description":"Get Bitcoin supply data: circulating supply, max supply, inflation rate, subsidy per block, and next halving estimate.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_utxo_set_info","description":"Get UTXO set statistics: total UTXOs, total supply, disk size. Note: this is a slow operation (1-2 minutes on local nodes, may vary on hosted API).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_rpc_commands","description":"List all available RPC commands grouped by category.","write_action":false,"price_micros":0,"input_schema":null},{"name":"query_remote_api","description":"Query a remote Satoshi API instance, auto-paying with Lightning if needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_blockchain","description":"Smart search: auto-detects if query is a txid, block hash, block height, or address and returns the right data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_blocks","description":"Get block statistics for a range of heights. Max 10 blocks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"send_raw_transaction","description":"Broadcast a signed raw transaction to the Bitcoin network.","write_action":true,"price_micros":0,"input_schema":null},{"name":"validate_address","description":"Validate a Bitcoin address and return its type (legacy/segwit/taproot), network, and script info. Use this to check if an address is valid before sending, or to identify what kind of address you're looking at.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-27T23:35:53.590Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:35:53.554Z","components":{"code":{"score":25,"max":25,"notes":["6 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 18 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"bitcoin-mcp","version":"0.5.1","found":true,"weeklyDownloads":61,"license":"MIT","dependencyCount":5,"publishedAt":"2026-03-16T19:56:09.448430Z","repositoryUrl":"https://github.com/Bortlesboat/bitcoin-mcp"}],"repo":{"found":true,"owner":"Bortlesboat","repo":"bitcoin-mcp","archived":false,"pushedAt":"2026-09-10T01:32:52Z","stars":5,"forks":5,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/169967362?v=4","ownerCreatedAt":"2024-05-16T04:08:05Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/169967362?v=4&s=128","source":"github"},"presence":{"stars":5,"forks":5,"downloadsWeek":61,"license":"MIT","lastPushAt":"2026-09-10T01:32:52.000Z","score":31}}}},"grade_history":[],"reviews":[]}