Maestro MCP Server

Maestro MCP Server

A Model Context Protocol (MCP) server exposing Bitcoin blockchain data through the Maestro API platform. Provides tools to explore blocks, transactions, addresses, inscriptions, runes, and other metaprotocol data.

253

35 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

Maestro MCP Server MCP Server

A Model Context Protocol (MCP) server exposing Bitcoin blockchain data through the Maestro API platform. Provides tools to explore blocks, transactions, addresses, inscriptions, runes, and other metaprotocol data.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/maestro-mcp-server
Authormaestro-org
Repositoryhttps://github.com/maestro-org/maestro-mcp-server
Dockerfilehttps://github.com/maestro-org/maestro-mcp-server/blob/main/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/maestro-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceApache License 2.0

Available Tools (35)

Tools provided by this ServerShort Description
get_address_activityList satoshi balance change activity for an address.
get_address_balanceGet current satoshi balance for an address (confirmed only).
get_address_balance_historicalGet historical satoshi balances per block, with USD valuation.
get_address_brc20List BRC-20 balances for an address (total and available).
get_address_brc20_transfer_inscriptionsList unspent BRC-20 transfer inscriptions at an address.
get_address_inscriptionsList inscriptions currently controlled by an address.
get_address_inscription_activityList inscription send/receive/self-transfer activity for an address.
get_address_runesList Rune balances for an address (total and available).
get_address_rune_activityList Rune balance increases/decreases/self-transfers for an address.
get_address_rune_utxosList UTXOs at an address containing Runes.
get_address_statisticsGet address stats: tx counts, UTXOs, sat balance, runes/inscriptions flags.
get_address_txsList transactions that spent/produced UTXOs for an address.
get_address_utxosList UTXOs for an address; supports dust and metaprotocol filtering.
get_mempool_address_balanceGet address satoshi balance including mempool-aware estimates.
get_mempool_address_runesGet mempool-aware Rune balances for an address.
list_brc20_assetsList BRC-20 tickers deployed on-chain.
get_brc20_infoGet BRC-20 metadata and current state.
list_supported_dexsList supported DEX identifiers for market endpoints.
get_dex_ohlcGet OHLCV candles for a DEX and symbol.
get_btc_price_by_timestampGet BTC-USD price at a given UTC timestamp.
get_rune_price_by_timestampGet Rune price (USD and sats) at a given UTC timestamp.
rpc_chain_infoBitcoin node and chain status from Node RPC.
rpc_mempool_infoCurrent mempool size, usage, fee thresholds, RBF state.
rpc_mempool_transactionsList transaction IDs currently in the mempool.
rpc_block_miner_infoGet miner metadata for a given block.
rpc_block_volumeGet total transaction output volume (sats) for a block.
event_healthcheckEvent Manager healthcheck.
event_list_logsList event logs produced by triggers.
event_get_logGet a single event log by id.
event_list_triggersList all triggers.
event_create_triggerCreate a new trigger for on-chain events.
event_get_triggerGet a trigger by id.
event_update_triggerUpdate an existing trigger by id.
event_delete_triggerDelete a trigger by id.
event_list_trigger_condition_optionsList condition picklist options for triggers.

Tools Details

Tool: get_address_activity

List satoshi balance change activity for an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
orderstringasc or desc.
countintegerResults per page.
fromintegerMin block height.
tointegerMax block height.
cursorstringPagination cursor.
activity_kindstringincrease
exclude_self_transfersbooleanExclude self-transfers.

Tool: get_address_balance

Get current satoshi balance for an address (confirmed only).

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).

Tool: get_address_balance_historical

Get historical satoshi balances per block, with USD valuation.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
orderstringasc or desc.
countintegerResults per page.
fromintegerMin height or timestamp.
tointegerMax height or timestamp.
cursorstringPagination cursor.
height_paramsbooleanIf true, from/to are heights; false means timestamps.

Tool: get_address_brc20

List BRC-20 balances for an address (total and available).

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).

Tool: get_address_brc20_transfer_inscriptions

List unspent BRC-20 transfer inscriptions at an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
tickerstringOptional BRC-20 ticker filter.
countintegerResults per page.
orderstringasc or desc.
cursorstringPagination cursor.

Tool: get_address_inscriptions

List inscriptions currently controlled by an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
countintegerResults per page.
cursorstringPagination cursor.

Tool: get_address_inscription_activity

List inscription send/receive/self-transfer activity for an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
orderstringasc or desc.
countintegerResults per page.
fromintegerMin block height.
tointegerMax block height.
cursorstringPagination cursor.
inscription_idstringFilter by inscription id.
activity_kindstringsend
exclude_self_transfersbooleanExclude self-transfers.

Tool: get_address_runes

List Rune balances for an address (total and available).

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).

Tool: get_address_rune_activity

List Rune balance increases/decreases/self-transfers for an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
orderstringasc or desc.
countintegerResults per page.
fromintegerMin block height.
tointegerMax block height.
cursorstringPagination cursor.
runestringRune ID (e.g., 840000:28) or name.
activity_kindstringincreased
exclude_self_transfersbooleanExclude self-transfers.

Tool: get_address_rune_utxos

List UTXOs at an address containing Runes.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
runestringRune ID or name filter.
order_bystringheight
orderstringasc or desc.
countintegerResults per page.
cursorstringPagination cursor.
fromintegerMin block height.
tointegerMax block height.

Tool: get_address_statistics

Get address stats: tx counts, UTXOs, sat balance, runes/inscriptions flags.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).

Tool: get_address_txs

List transactions that spent/produced UTXOs for an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
countintegerResults per page.
confirmationsintegerMinimum confirmations.
orderstringasc or desc.
fromintegerMin block height.
tointegerMax block height.
cursorstringPagination cursor.

Tool: get_address_utxos

List UTXOs for an address; supports dust and metaprotocol filtering.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).
filter_dustbooleanExclude UTXOs < 100k sats.
filter_dust_thresholdintegerCustom dust threshold (sats).
exclude_metaprotocolsbooleanExclude Rune/inscription UTXOs.
ignore_used_brc20booleanKeep UTXOs with used BRC-20 if excluding metaprotocols.
countintegerResults per page.
orderstringasc or desc.
fromintegerMin block height.
tointegerMax block height.
cursorstringPagination cursor.

Tool: get_mempool_address_balance

Get address satoshi balance including mempool-aware estimates.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).

Tool: get_mempool_address_runes

Get mempool-aware Rune balances for an address.

ParametersTypeDescription
addressstringBech32 or scriptPubKey (hex).

Tool: list_brc20_assets

List BRC-20 tickers deployed on-chain.

ParametersTypeDescription
countintegerResults per page.
cursorstringPagination cursor.

Tool: get_brc20_info

Get BRC-20 metadata and current state.

ParametersTypeDescription
tickerstringBRC-20 ticker (e.g., ORDI).

Tool: list_supported_dexs

List supported DEX identifiers for market endpoints.

Tool: get_dex_ohlc

Get OHLCV candles for a DEX and symbol.

ParametersTypeDescription
dexstringall
symbolstringTrading pair, e.g., BTC-840000:28.
mempoolstringincluded
resolutionstring1m,5m,15m,30m,1h,4h,1d,1w,1M.
fromintegerUnix seconds start.
tointegerUnix seconds end.

Tool: get_btc_price_by_timestamp

Get BTC-USD price at a given UTC timestamp.

ParametersTypeDescription
timestampintegerUnix seconds.

Tool: get_rune_price_by_timestamp

Get Rune price (USD and sats) at a given UTC timestamp.

ParametersTypeDescription
rune_idstringRune ID in :<tx_index>.
timestampintegerUnix seconds.

Tool: rpc_chain_info

Bitcoin node and chain status from Node RPC.

Tool: rpc_mempool_info

Current mempool size, usage, fee thresholds, RBF state.

Tool: rpc_mempool_transactions

List transaction IDs currently in the mempool.

Tool: rpc_block_miner_info

Get miner metadata for a given block.

ParametersTypeDescription
height_or_hashstringBlock height or block hash.

Tool: rpc_block_volume

Get total transaction output volume (sats) for a block.

ParametersTypeDescription
height_or_hashstringBlock height or block hash.

Tool: event_healthcheck

Event Manager healthcheck.

Tool: event_list_logs

List event logs produced by triggers.

ParametersTypeDescription
pageintegerPage number (1+).
limitintegerItems per page (1–100).
trigger_idstringFilter by trigger id.
chainstringFilter by chain (bitcoin).
networkstringFilter by network (mainnet/testnet).

Tool: event_get_log

Get a single event log by id.

ParametersTypeDescription
idstringEvent log id.

Tool: event_list_triggers

List all triggers.

Tool: event_create_trigger

Create a new trigger for on-chain events.

ParametersTypeDescription
namestringTrigger name.
chainstringbitcoin.
networkstringmainnet or testnet.
typestringtransaction.
webhook_urlstringWebhook endpoint (URL).
filtersarrayFilter objects per schema.
confirmationsintegerRequired confirmations.
statusstringactive or paused.

Tool: event_get_trigger

Get a trigger by id.

ParametersTypeDescription
idstringTrigger id.

Tool: event_update_trigger

Update an existing trigger by id.

ParametersTypeDescription
idstringTrigger id.
namestringUpdated name.
chainstringbitcoin.
networkstringmainnet or testnet.
typestringtransaction.
webhook_urlstringWebhook endpoint (URL).
filtersarrayFilter objects per schema.
confirmationsintegerRequired confirmations.
statusstringactive or paused.

Tool: event_delete_trigger

Delete a trigger by id.

ParametersTypeDescription
idstringTrigger id.

Tool: event_list_trigger_condition_options

List condition picklist options for triggers.

ParametersTypeDescription
trigger_typestringtransaction.

Use this MCP Server

{
  "mcpServers": {
    "maestro-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "API_KEY_API_KEY",
        "mcp/maestro-mcp-server"
      ],
      "env": {
        "API_KEY_API_KEY": "your-maestro-api-key"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers