Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Bortlesboat/bitcoin-mcp

FreeNot checked

Self-hosted Bitcoin Core MCP server — 43 tools, 6 prompts, and 7 resources. Fee intelligence with USD conversion and send-now-or-wait advice, mempool analysis,

GitHubEmbed

About

Self-hosted Bitcoin Core MCP server — 43 tools, 6 prompts, and 7 resources. Fee intelligence with USD conversion and send-now-or-wait advice, mempool analysis, mining pool rankings, market sentiment, block/transaction inspection, and BTC price. Your local node or hosted via Satoshi API (zero install).

README

Give any AI agent Bitcoin superpowers — fee intelligence, mempool analysis, and 50 tools backed by your Bitcoin node or compatible API.

PyPI Downloads Tests License: MIT Python 3.10+ OpenSats

50 standard tools · 6 prompts · 8 resources · Bitcoin Core or compatible API backend · MIT licensed

If bitcoin-mcp is useful to you, consider giving it a star — it helps others discover the project.

pip install bitcoin-mcp

bitcoin-mcp needs a Bitcoin data backend. It auto-detects a local Bitcoin Core/Knots node from its cookie or RPC settings. Without a local node, set SATOSHI_API_URL to a compatible deployment.

Service status: the public Satoshi API previously hosted at bitcoinsapi.com is paused and should not be treated as a working default. Use a local node or an explicitly configured compatible API.

Quick Start

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

Claude Code

claude mcp add bitcoin -- uvx bitcoin-mcp

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

Zed

Add to your Zed settings.json under context_servers:

{
  "context_servers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

See the Zed MCP docs for the current settings location and custom server flow.

Docker

docker build -t bitcoin-mcp .
docker run -i bitcoin-mcp

Or with docker compose:

docker compose up

Pass environment variables to connect to a local Bitcoin Core node or a compatible API:

docker run -i -e BITCOIN_RPC_HOST=host.docker.internal -e BITCOIN_RPC_PORT=8332 bitcoin-mcp
# or
docker run -i -e SATOSHI_API_URL=https://your-api.example bitcoin-mcp

Ask whether to send Bitcoin now

Use this as the first useful activation path after install:

"I need to send a Bitcoin transaction today. Use bitcoin-mcp to decide whether to send now or wait, and show the fee rate you used."

Expected path:

  1. The agent calls get_fee_recommendation.
  2. The answer gives a clear send now or wait recommendation with fee rates in sat/vB.
  3. If the backend is unavailable, configure a local node or set SATOSHI_API_URL before retrying.

After it works, Star this repo and share a short showcase with the prompt, tool call, and outcome so other Bitcoin agent builders can see the path.

Agent Integration

For repos that need Bitcoin tools, add bitcoin-mcp to the agent's MCP config and configure one of its supported backends:

Generated HTTP examples should use canonical Satoshi API /api/v1 paths.

Why bitcoin-mcp?

  • Fee intelligence that saves real money — know the cheapest time to send, compare fee tiers, estimate exact costs before broadcasting
  • Backend choice — use your own Bitcoin Core/Knots node or an explicitly configured compatible API
  • First Bitcoin MCP server on the Anthropic Registry

Top Use Cases

Ask your AI agent:

Prompt What it does
"What's the cheapest time to send Bitcoin today?" Fee recommendation with savings breakdown
"Analyze the current mempool congestion" Real-time mempool depth, fee tiers, pending tx count
"How much would I save waiting 6 blocks vs next block?" Side-by-side fee comparison across confirmation targets
"Search for this transaction: abc123..." Full transaction decode with inscription detection
"Give me a situation summary of Bitcoin right now" Price, fees, mempool, mining, difficulty — one call

Full Tool Reference

All 50 standard tools by category

Fee Intelligence

Tool Description
get_fee_recommendation Optimal fee rate with urgency tiers and savings tips
get_fee_estimates Fee estimates across all confirmation targets
estimate_smart_fee Fee estimate for a specific confirmation target
compare_fee_estimates Side-by-side comparison of fee sources
estimate_transaction_cost Exact cost estimate for a transaction before sending

Blocks & Transactions

Tool Description
analyze_block Deep analysis of any block by height or hash
get_block_stats Statistical breakdown of a block
get_block_count Current chain height
compare_blocks Compare two blocks side by side
search_blocks Search a range of blocks
analyze_transaction Full transaction analysis with inscription detection
decode_raw_transaction Decode a raw transaction hex
send_raw_transaction Broadcast a signed transaction
check_utxo Check if a UTXO is spent or unspent

Mempool

Tool Description
analyze_mempool Full mempool analysis — depth, fees, congestion
get_mempool_info Mempool size, bytes, fee floor
get_mempool_entry Details for a specific unconfirmed transaction
get_mempool_ancestors Ancestor chain for a mempool transaction

Mining

Tool Description
get_mining_info Current mining difficulty, hashrate, block reward
analyze_next_block Preview of the next block template
get_mining_pool_rankings Top mining pools by recent blocks
get_difficulty_adjustment Time and percentage of next difficulty change
get_halving_countdown Blocks and estimated time until next halving

Network & Status

Tool Description
get_blockchain_info Chain state, verification progress, softfork status
get_network_info Node version, connections, relay info
get_node_status Connection status and node health
get_peer_info Connected peer details
get_chain_tips Active and stale chain tips
get_chain_tx_stats Transaction throughput over N blocks
get_utxo_set_info UTXO set size and total supply
get_supply_info Circulating supply, inflation rate, percent mined
get_situation_summary Aggregated overview — price, fees, mempool, mining
get_btc_price Current BTC/USD price
get_market_sentiment Fear/greed index and market indicators

Address & UTXO

Tool Description
get_address_utxos UTXOs for an address
validate_address Validate and classify a Bitcoin address

Indexed Address (requires blockchain indexer)

Tool Description
get_address_balance Total received/sent/balance, tx count, first/last seen
get_address_history Paginated transaction history with net value change
get_address_transactions Transaction history with per-transaction value details
get_indexed_transaction Enriched tx with resolved input addresses + spent status
get_indexer_status Sync progress, ETA, blocks/sec

Security

Tool Description
analyze_psbt_security Security analysis of a Partially Signed Bitcoin Transaction
explain_inscription_listing_security Security guide for ordinal inscription listings

Utility

Tool Description
search_blockchain Universal search — address, txid, block hash, or height
generate_keypair Generate a new Bitcoin keypair
explain_script Decode and explain a Bitcoin script
decode_bolt11_invoice Decode a Lightning Network BOLT11 invoice
describe_rpc_command Help text for any Bitcoin Core RPC command
list_rpc_commands List all available RPC commands
decode_xpub Decode and inspect an extended public key

Optional Remote API Tool

query_remote_api is registered only when SATOSHI_API_URL is set and the l402 extra is installed. It queries canonical /api/v1 routes on that explicitly configured endpoint.

Configuration

Configure either a local Bitcoin Core/Knots node or a compatible remote API. If neither is available, bitcoin-mcp exits its connection check with a setup error instead of silently selecting an unavailable public service.

CLI Flags

bitcoin-mcp supports the following runtime flags:

Flag Values Default Description
--transport stdio, sse, streamable-http stdio MCP transport to run
--host hostname / IP 127.0.0.1 for HTTP transports Bind host for sse and streamable-http
--port integer 8000 for HTTP transports Bind port for sse and streamable-http
--log-level DEBUG, INFO, WARNING, ERROR INFO Server log verbosity

Example:

bitcoin-mcp --transport sse --host 127.0.0.1 --port 8000 --log-level DEBUG
Variable Description Default
BITCOIN_RPC_HOST Bitcoin Core RPC host 127.0.0.1
BITCOIN_RPC_PORT Bitcoin Core RPC port Auto by network
BITCOIN_NETWORK mainnet, testnet, signet, or regtest mainnet
SATOSHI_API_URL Compatible Satoshi API base URL None
SATOSHI_API_KEY API key for authenticated access None

To connect to a local Bitcoin Core node:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"],
      "env": {
        "BITCOIN_RPC_HOST": "127.0.0.1",
        "BITCOIN_RPC_PORT": "8332"
      }
    }
  }
}

Prompts & Resources

6 built-in prompts for common workflows: analyze_fee_environment, investigate_transaction, monitor_mempool_fees, taproot_adoption_report, network_health_report, track_transaction

8 resources for context injection: bitcoin://connection/status, bitcoin://node/status, bitcoin://fees/current, bitcoin://fees/history, bitcoin://mempool/snapshot, bitcoin://protocol/script-opcodes, bitcoin://protocol/address-types, bitcoin://protocol/sighash-types

Links

Examples

See the examples/ folder for documented usage patterns:

Support This Project

bitcoin-mcp is free, open-source Bitcoin infrastructure. Support development through OpenSats.

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines, including how to add new tools and the PR checklist.

Please report security vulnerabilities privately — see SECURITY.md.

About

bitcoin-mcp is created and maintained by Andrew Barnes, bridging AI agents and Bitcoin infrastructure through the Model Context Protocol.

Related projects:

  • Satoshi API — Bitcoin fee intelligence API, 108 endpoints, usable as a self-hosted compatible backend
  • ChainPulse — AI-powered Bitcoin network intelligence CLI
  • BAIP-1 — Bitcoin Agent Identity Protocol
  • bitcoin-fee-observatory — Fee market analytics dashboard

License

MIT

from github.com/Bortlesboat/bitcoin-mcp

Installing Bortlesboat/bitcoin-mcp

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/Bortlesboat/bitcoin-mcp

FAQ

Is Bortlesboat/bitcoin-mcp MCP free?

Yes, Bortlesboat/bitcoin-mcp MCP is free — one-click install via Unyly at no cost.

Does Bortlesboat/bitcoin-mcp need an API key?

No, Bortlesboat/bitcoin-mcp runs without API keys or environment variables.

Is Bortlesboat/bitcoin-mcp hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Bortlesboat/bitcoin-mcp in Claude Desktop, Claude Code or Cursor?

Open Bortlesboat/bitcoin-mcp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

$5

Stripe

Payments, customers, subscriptions

Stripeby Stripe

malamutemayhem/unclick-agent-native-endpoints

110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n

malamutemayhemby malamutemayhem

whiteknightonhorse/APIbase

Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa

whiteknightonhorseby whiteknightonhorse

trackerfitness729-jpg/sitelauncher-mcp-server

Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr

trackerfitness729-jpgby trackerfitness729-jpg

embeddedlayers/mcp-analytics

Statistical analysis, forecasting, and ML for business data (Shopify, Stripe, WooCommerce, eBay, GA4, Search Console). Upload a CSV or connect live data sources

embeddedlayersby embeddedlayers

carrierone/verilexdata-mcp

20 structured datasets (NPI healthcare, SEC filings, OFAC sanctions, crypto whales, Polymarket signals, patents, economic indicators) via x402 pay-per-query wit

carrieroneby carrierone

tipdotmd/tip-md-x402-mcp-server

MCP server for cryptocurrency tipping through AI interfaces using x402 payment protocol and CDP Wallet.

tipdotmdby tipdotmd

laundromatic/shopgraph

Structured product data from the open web — Schema.org + AI extraction for e-commerce enrichment. Pay per call via Stripe. [shopgraph.dev](https://shopgraph.dev

laundromaticby laundromatic

mrslbt/xendit-mcp

Xendit payment gateway for Southeast Asia. Invoices, disbursements, balance checks, and bank transfers across Indonesia, Philippines, Thailand, Vietnam, and Mal

mrslbtby mrslbt

@arbitova/mcp-server

Non-custodial on-chain escrow + AI dispute arbitration for agent-to-agent USDC payments on Base. Seven tools covering the full EscrowV1 contract surface: create

jiayuanliang0716-maxby jiayuanliang0716-max

Compare Bortlesboat/bitcoin-mcp with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All finance MCPs