Maestro MCP Server
A Model Context Protocol (MCP) server for interacting with Bitcoin via the Maestro API platform. This package provides a set of tools for exploring blocks, transactions, addresses, and other aspects of the Bitcoin blockchain.
Installation
Requirements
- Python >=3.10
- Python MCP SDK >= 1.2.0
uv
Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh
Setup Virual Environment
# Create a virtual environment
uv venv
# Activate virtual environment
# Linux/MacOS
source .venv/bin/activate
# Windows
# .venv\Scripts\activate
# Install dependencies
uv pip install .
Configure Claude (Desktop)
Download Claude Desktop here.
Steps
-
Open Claude Desktop settings
-
Select
Edit Config
-
Open the Claude App configuration file located at:
~/Library/Application Support/Claude/claude_desktop_config.json
and copy the below contents into this file
You will need 3 things:
- Absolute path to
uv
; ie,which uv
- Absolute path to
mcp-maestro
repo - Maestro API key
{
"mcpServers": {
"maestro-mcp": {
"command": "/ABSOLUTE/PATH/TO/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/maestro-mcp",
"run",
"maestro.py"
],
"env": {
"MAESTRO_BASE_URL": "https://xbt-mainnet.gomaestro-api.org/v0",
"MAESTRO_API_KEY": "<MAESTRO_API_KEY>"
}
}
}
}
Usage
- Restart Claude after any change to either the
claude_desktop_config.json
or the source code.
-
Launch Claude Desktop
-
Locate hammer icon
-
View available MCP tools
-
Prompt Claude
-
"Fetch the latest Bitcoin block"
-
"Get the blockchain info for Bitcoin"
NOTE: You will need to approve the request within Claude.
Debugging
CLI inspector tool
Logs
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-maestro-mcp.log
Supported Endpoints
- /mempool/addresses/:id/utxos
- /transactions/:id
- /rpc/general/info
- /rpc/block/latest
- /rpc/transaction/:id
- /rpc/transaction/submit
- /assets/runes
- /assets/runes/:id
- /addresses/:id/runes
- /addresses/:id/utxos
- /addresses/:id/runes/:id
- /addresses/:id/txs
All Maestro API specifications can be found in our Postman workspace.
Support
If you are experiencing any trouble with the above, open an issue or reach out on Discord.