subscribe_blocksLABSCO SUMMARY
Subscriptions are the part you cannot get from a REST wrapper.
Most Bitcoin servers stop at lookups, which answers what is true now but not what changed. Keeping a WebSocket open — with reconnect intervals and ping timeouts as settings rather than assumptions — lets an agent be told when a block lands or when a watched address moves. The lookup tools then answer the follow-up. No key means nothing to provision before trying it, and no quota to blow through.
What it is
A wrapper over both halves of mempool.space: the WebSocket feed for anything live and the REST API for anything you look up. That means an assistant can subscribe to new blocks or watch an address in real time, and separately query balances, UTXOs, transactions and fee recommendations — without you running a Bitcoin node.
What you get
subscribe_blocks,subscribe_mempool_blocksandsubscribe_statsstream new blocks, the expected next block template and mempool statisticstrack_addresswatches a specific address for activity, andsubscribe_live_chartstreams fee movementget_address_info,get_address_balance,get_address_utxosandget_address_transactionscover an address by queryget_transaction_info,get_block_infoandget_block_heightreturn transaction and block detailget_recommended_feesandget_mempool_inforeport what a transaction should pay right nowget_connection_statusandunsubscribe_clientmanage the live subscriptionsvalidate_bitcoin_addresschecks an address is well formed before you use it
Requirements
Python 3.11+, or the supplied Docker Compose setup — docker-compose up mcp-mempool-prod brings it up on port 8000. Locally, uv sync then uv run python -m mempool_ws_mcp_server.main (package mcp-mempool, version 0.1.0). No account and no API key: it reads the public mempool.space endpoints, configurable through MEMPOOL_WS_URL and MEMPOOL_API_URL. Reconnection interval, ping timing and retry counts are all environment variables.
Setup effort
Build from source — git clone https://github.com/jaducku/mcp-mempool
USE CASES
Deciding what fee to pay right now
Read the recommended fee rates alongside current mempool state.
Watching an address for incoming funds
Subscribe to it and be told when something arrives, rather than polling.
Checking what a wallet holds and can spend
Pull the balance and the UTXO list for the address.
Following a transaction to confirmation
Read its current state and check the block height as new blocks arrive.
17 tools
Listed in project docs. Your client may show a different list.
subscribe_mempool_blockssubscribe_statssubscribe_live_charttrack_addressget_connection_statusunsubscribe_clientget_address_infoget_address_balanceget_address_utxosget_address_transactionsget_transaction_infoget_block_infoget_block_heightget_recommended_feesget_mempool_infovalidate_bitcoin_addressBEFORE YOU INSTALL
What to know first
Tools you get
17 tools named in the project's documentation.
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/jaducku/mcp-mempool
cd mcp-mempool
docker-compose up mcp-mempool-prodOr, without Docker (Python 3.11+ and uv), run it locally instead:
uv sync
uv run python -m mempool_ws_mcp_server.mainMCP Clients
Claude Desktop — mcp-remote
{
"mcpServers": {
"mcp-mempool": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8000/mcp"
]
}
}
}Amazon Q
{
"mcpServers": {
"mcp-mempool": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8000/mcp"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
}