A comprehensive Model Context Protocol (MCP) server that brings Bitcoin data and functionality directly to AI assistants like Claude, ChatGPT, and other MCP-compatible platforms.
For any questions send me a message on discord : teamsutxo
- What is MCP?
- Why Use Bitcoin MCP Server?
- Features
- Installation
- API Information
- Use Cases
- Available Tools
- Configuration
- Usage Considerations
- Roadmap
- Contributing
- License
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. Think of it as a universal adapter that lets AI models interact with your applications, databases, and APIs in a standardized way.
- Plug-and-Play Integration: Connect AI assistants to external tools without custom code
- Secure: Controlled access to data and operations
- Universal: Works across different AI platforms (Claude, ChatGPT, etc.)
- Modular: Easy to add, remove, or update capabilities
Learn more at modelcontextprotocol.io
The Bitcoin MCP Server empowers AI assistants with real-time Bitcoin data and analysis capabilities:
- Real-time Data: Access current Bitcoin prices, market data, and network statistics
- Blockchain Analysis: Query blocks, transactions, and addresses directly
- Mining Insights: Get hashrate, difficulty, and mining pool information
- Market Intelligence: Track price movements, volume, and market capitalization
- Network Health: Monitor mempool status, fee estimates, and node statistics
No Bitcoin expertise required - just ask questions in natural language, and the AI handles the technical queries for you!
- Network Overview: Real-time Bitcoin network statistics including hashrate, difficulty, block production, and transaction volume
- Transaction Analysis: Detailed transaction information with input/output breakdown, fee analysis, and confirmation status
- Address Intelligence: Complete address analytics including balance, transaction history and UTXO management
- Block Explorer: Access to block data with mining pool information, transaction counts, fees, and timestamps
- Market Data: Real-time Bitcoin price, market capitalization, trading volume, and multi-timeframe performance analysis
- Mining Insights: Top mining pools ranking, hashrate distribution, network dominance statistics, and 3-month historical trends
- Fee Recommendations: Dynamic fee estimates for different confirmation speeds (fastest, half-hour, standard, economy)
- Market Sentiment: Community sentiment tracking and Fear & Greed Index with 7-day historical data
- Trending Analytics: Discover trending cryptocurrencies, NFT collections, and categories
You can use these examples :
- Transaction : a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d
- Address : 1Ay8vMC7R1UbyCCZRVULMV7iQpHSAbguJP
- Block (height) : 933135
- Python 3.12 installed on your system
- UV package manager (obligatory)
- An MCP-compatible AI client (e.g., Claude Desktop)
- Install UV (if not already installed) UV is a fast Python package installer and resolver.
- Linux :
curl -LsSf https://astral.sh/uv/install.sh | sh- Windows :
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Restart your command-line window after installing this.
- Clone the repository:
git clone https://github.com/teamssUTXO/bitcoin_mcp.git
cd bitcoin_mcp- Install dependencies:
uv venv
uv pip install -e .- Install to Claude Desktop:
uv run mcp install src/main.pyCheck How to configure MCP Server
- Clone the repository:
git clone https://github.com/teamssutxo/bitcoin_mcp.git
cd bitcoin_mcp- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run the server with Claude Desktop:
Follow the Claude configuration guide: : Config.README.md
See README.Docker.md for detailed Docker deployment instructions.
To check that the server is working correctly, use the endpoint /health.
Customize the port with --port 8000 or -p 8000. Default: 3000.
The Bitcoin MCP Server provides the following tools organized by category:
get_address_overviewget_info_about_address
get_10_latest_blocks_informationsget_block_hash_with_heightget_summary_of_latest_block
get_bitcoin_transaction_infosget_transaction_input_outputget_transactions_of_address
get_bitcoin_price_usdget_bitcoin_market_dataget_cryptomarket_overviewget_bitcoin_market_sentimentget_trending_coinsget_trending_categoriesget_trending_nfts
get_mining_pools_hashrates_3monthget_top_10_mining_pools_rankget_bitcoin_network_mining_pools_statisticsget_top1_mining_poolget_mining_pool_by_slugl
get_bitcoin_network_overviewget_bitcoin_network_recommended_feesget_bitcoin_network_health
Total: 20+ tools and growing!
For detailed tool documentation, see the inline help in each tool module or use the MCP Inspector.
After installation, configure Claude Desktop to use the Bitcoin MCP Server:
uv run mcp install src/main.pyThis command automatically:
- Detects your Claude Desktop installation
- Creates the necessary configuration
- Registers all Bitcoin tools
Then restart Claude Desktop to activate the server.
For detailed manual configuration instructions for Claude Desktop and other platforms, see how to configure MCP Server.
You can customize the server behavior by editing the configuration file located at src/config.py.
API Endpoints
MEMPOOL_API_URL: Mempool.space API endpoint (default:https://mempool.space/api)COINGECKO_API_URL: CoinGecko API endpoint (default:https://api.coingecko.com/api/v3)BLOCKCHAIN_INFO_API_URL: Blockchain.info API endpoint (default:https://blockchain.info)HIRO_API_URL: Hiro API endpoint (default:https://api.hiro.so)ALTERNATIVE_API_URL: Alternative.me API endpoint (default:https://api.alternative.me)
Bitcoin Constants
SATOSHI: Satoshi conversion factor (default:100_000_000)
Performance & Reliability
ENABLE_CACHE: Enable response caching (default:True)ENABLE_RETRY: Enable automatic retries on failures (default:True)CACHE_TTL_TIME: Cache time-to-live in seconds (default:60)MAX_RETRIES: Maximum retry attempts for failed requests (default:3)
Timeout Settings
API_CONNECT_TIMEOUT: Connection timeout in seconds (default:5.0)API_READ_TIMEOUT: Read timeout in seconds (default:30.0)API_WRITE_TIMEOUT: Write timeout in seconds (default:10.0)API_POOL_TIMEOUT: Connection pool timeout in seconds (default:5.0)
Logging Configuration
LOGGER_NAME: Logger name (default:"bitcoin_mcp_server")LOG_DIR: Directory for log files (default:"../logs")LOG_LEVEL: Logging level -DEBUG,INFO,WARNING,ERROR(default:"INFO")LOGGER_BACKUP_COUNT: Number of log files to retain (default:30)LOGGER_CONSOLE_OUTPUT: Enable console logging (default:True)
Edit src/config.py and change the values:
# Example: Increase cache time and reduce retries
CACHE_TTL_TIME: int = 300 # 5 minutes instead of 1
MAX_RETRIES: int = 2 # 2 retries instead of 3
# Example: Enable debug logging
LOG_LEVEL: str = "DEBUG"Note: Restart the server after making configuration changes for them to take effect.
The Bitcoin MCP Server uses free, public APIs that don't require authentication or API keys. This makes setup incredibly simple - just install and go!
The server aggregates data from multiple reliable sources:
While these APIs are free and don't require keys, please use them responsibly:
- Avoid excessive requests: Don't spam the APIs with rapid-fire queries
- Rate limiting: The server implements reasonable delays between requests
- Be respectful: These services are provided free of charge to the community
- Cache when possible: Results are cached to minimize redundant requests
Note: If you plan to use this server at high volume or in a production environment, consider using API keys or self-hosting Bitcoin Core nodes for data access.
Using MCP servers will consume more tokens from your AI assistant's message allowance because:
- Each tool call requires additional context to be sent
- Results from APIs add to the total token count
- Complex queries may require multiple tool calls
Impact: You may reach your daily message limit faster when using Bitcoin MCP tools extensively.
While the APIs are free, rate limits apply. Intensive usage may result in temporary blocks. Please refer to the client website for specific API usage limits.
The current configuration allows requests from any origin, which is acceptable for local development but should be explicitly restricted before any production deployment.
Note also that combining allow_origins=["*"] with allow_credentials=True is technically invalid per the CORS spec β browsers will reject credentialed cross-origin requests when the origin is a wildcard. Consider either disabling credentials or explicitly listing allowed origins.
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated β€οΈ.
- Fork the repository
- Create a feature branch
- Make your changes
- Test with MCP Inspector
- Commit your changes
- Push to your branch
- Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
For security concerns or vulnerability reports, please see our Security Policy.
This project was not vibe-coded.



