Skip to main content

MCP server for Bitcoin Core/Knots nodes — 35 tools for AI agents

Project description

bitcoin-mcp

PyPI MCP Registry Python 3.10+ License: MIT Tests

MCP server for Bitcoin Core/Knots nodes. 35 tools, 6 prompts, 7 resources for AI agents to query the blockchain, analyze mempool fee markets, decode transactions, broadcast transactions, decode Lightning invoices, inspect mining economics, and explore the protocol.

Runs against your local node — no API keys, no rate limits, no third-party dependencies.

The only Bitcoin MCP server on the official Anthropic MCP Registry.

No Node? No Problem

Point at a hosted Satoshi API instance instead of running your own node:

SATOSHI_API_URL=https://bitcoinsapi.com bitcoin-mcp

This adds a query_remote_api tool that proxies requests through the REST API, with optional L402 Lightning micropayments.

60-Second Quickstart

# 1. Install
pip install bitcoin-mcp

# 2. Add to Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "bitcoin": { "command": "bitcoin-mcp" }
  }
}

# 3. Ask Claude: "What's the current Bitcoin fee environment?"

That's it. The server auto-detects your node via cookie authentication.

Install

pip install bitcoin-mcp

Configuration

Override with environment variables if needed:

BITCOIN_RPC_HOST=127.0.0.1
BITCOIN_RPC_PORT=8332
BITCOIN_RPC_USER=myuser
BITCOIN_RPC_PASSWORD=mypassword
BITCOIN_DATADIR=E:/
BITCOIN_NETWORK=mainnet          # mainnet (default) | testnet | signet | regtest
SATOSHI_API_URL=https://bitcoinsapi.com  # optional: use remote API instead of local node

35 Tools

Node & Network (3)

Tool Description
get_node_status Chain, height, sync progress, disk, connections, version
get_peer_info Connected peer addresses, latency, services
get_network_info Protocol version, relay fee, warnings

Blockchain & Blocks (6)

Tool Description
analyze_block Full analysis: pool ID, SegWit/Taproot adoption, fee distribution
get_blockchain_info Chain, difficulty, softforks, chain work
get_block_stats Raw statistics: median fee, total output, subsidy
get_chain_tx_stats Transaction rate over N blocks
get_chain_tips Active chain, forks, and stale branches
search_blocks Block stats for a range of heights (max 10)

Mempool (4)

Tool Description
analyze_mempool Fee buckets, congestion level, next-block minimum fee
get_mempool_entry Details of a specific unconfirmed tx
get_mempool_info Quick stats: count, bytes, min relay fee
get_mempool_ancestors Ancestor transactions for CPFP analysis

Transactions (4)

Tool Description
analyze_transaction Full decode + inscription detection + fee analysis
decode_raw_transaction Decode raw hex without input lookup
send_raw_transaction Broadcast a signed transaction (with fee safety limit)
check_utxo Check if a specific output is unspent

Fee Estimation (4)

Tool Description
get_fee_estimates Rates for 1/3/6/25/144 block targets
get_fee_recommendation Plain-English send/wait advice
estimate_smart_fee Custom confirmation target
compare_fee_estimates Side-by-side urgency labels + cost for 140vB tx

Mining (2)

Tool Description
get_mining_info Difficulty, hashrate, block size
analyze_next_block Block template: revenue, fee percentiles, top-fee txs

UTXO Set (2)

Tool Description
get_utxo_set_info Total UTXOs, supply, disk size (slow: ~1-2 min)
get_block_count Current block height (fast)

AI Developer Tools (8)

Tool Description
describe_rpc_command Structured help for any RPC command
list_rpc_commands All commands grouped by category
search_blockchain Smart router: auto-detects txid, block hash/height, or address
explain_script Decode script hex into readable opcodes
get_address_utxos Scan UTXO set for an address
validate_address Validate and classify address type (P2PKH/P2SH/P2WPKH/P2WSH/P2TR)
get_difficulty_adjustment Epoch progress, estimated adjustment percentage
compare_blocks Side-by-side block statistics comparison

Lightning (1)

Tool Description
decode_bolt11_invoice Decode a BOLT11 Lightning invoice (no LN node needed)

6 Agent Workflow Prompts

Pre-built multi-step analysis templates that agents can invoke:

Prompt Description
analyze_fee_environment Fee market analysis with send/wait recommendation
investigate_transaction Deep-dive transaction investigation
monitor_mempool_fees Watch for fee drops below threshold
taproot_adoption_report P2TR adoption trends over recent blocks
network_health_report Comprehensive network health assessment
track_transaction Track a tx from mempool to confirmation

7 Resources

Static data endpoints for AI agents:

  • bitcoin://node/status — node summary
  • bitcoin://fees/current — fee estimates
  • bitcoin://mempool/snapshot — mempool analysis
  • bitcoin://connection/status — connection status + troubleshooting hints
  • bitcoin://protocol/script-opcodes — Bitcoin Script opcodes reference
  • bitcoin://protocol/address-types — address type properties and BIPs
  • bitcoin://protocol/sighash-types — signature hash types

Example Configs

See examples/ for ready-to-use config snippets:

What Makes This Different

Feature bitcoin-mcp Competitors
Official MCP Registry Yes No
Tools / Prompts / Resources 35 / 6 / 7 Fewer
Data source Your local node Third-party APIs
No-node fallback Satoshi API remote N/A
Mempool analysis Fee bucketing, congestion, CPFP Basic stats only
Inscription detection Yes No
Pool identification Yes No
SegWit/Taproot metrics Yes No
Next-block prediction Yes No
Agent workflow prompts 6 built-in None
Rate limits None API-dependent
Typed responses Pydantic models Raw JSON

CLI

bitcoin-mcp              # Start MCP server (default)
bitcoin-mcp --version    # Print version
bitcoin-mcp --check      # Test RPC connection and exit

Requirements

  • Python 3.10+
  • Bitcoin Core or Bitcoin Knots with server=1 in bitcoin.conf
  • txindex=1 recommended for transaction lookups

Related

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitcoin_mcp-0.3.0.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bitcoin_mcp-0.3.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file bitcoin_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: bitcoin_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for bitcoin_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 69fc9c0bd33068b8b29dd1879e7500e6893fcd0d8083128ae1040e195706b91b
MD5 316952ded132ad6389505495996200b0
BLAKE2b-256 80478f07512a9ec1d699cd42327d45987a33ba7a3790ddab80babd79fec7c5ec

See more details on using hashes here.

File details

Details for the file bitcoin_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: bitcoin_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for bitcoin_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2566818d67b645c64d68015dda79eaa7caef49d041e5a100caad24e1acb2d4df
MD5 e94384bcab3ec1f7f28386912026d7a4
BLAKE2b-256 96afdd4eaafb37ac0fdc72dbe751a138bcaa1841e358d5ac4b3ec39481d78230

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page