Bitcoin MCP について
Bitcoin MCPは、ツール、プロンプト、リソースを通じてAIエージェントにBitcoinのデータと操作機能を提供します。ローカルのBitcoin Core/Knotsノードまたは設定済みの互換APIに接続し、手数料、取引、メンプール、ブロック、マイニング、ネットワーク状態を扱います。
主な機能
- 01手数料の推奨と取引コストの見積もり
- 02ブロック、取引、メンプールの分析
- 03マイニング、ネットワーク、チェーン状態の確認
- 04アドレス、UTXO、スクリプトの検査
- 05コンテキスト注入用のプロンプトとリソース
活用シーン
- 01確認目標別の手数料比較
- 02メンプールの混雑と手数料階層の分析
- 03取引の調査やブロックデータの確認
- 04ノード状態とマイニング情報の監視
MCP 対応
MCPサーバーとして、AIエージェントにBitcoinのツール、プロンプト、リソースを公開します。ローカルのBitcoin Core/Knotsノードまたは明示的に設定した互換APIに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx bitcoin-mcpBITCOIN_RPC_HOSTBitcoin Core RPC host (default: 127.0.0.1)BITCOIN_RPC_PORTBitcoin Core RPC port (default: auto-selected by network)BITCOIN_NETWORKBitcoin network: mainnet, testnet, signet, or regtest (default: mainnet). Sets default RPC port if BITCOIN_RPC_PORT is not set.SATOSHI_API_URLOverride the default hosted API URL (default: https://bitcoinsapi.com). The hosted API is used automatically when no local node is detected.SATOSHI_API_KEYシークレットAPI key for authenticated access to the hosted Satoshi API (get one free at POST /api/v1/register)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
bitcoin-mcp
あらゆる AI エージェントに Bitcoin の強力な機能を提供します。手数料の分析、メンプールの解析、Bitcoin ノードまたは互換 API を利用する 50 種類のツールを備えています。
標準ツール 50 種類 · プロンプト 6 種類 · リソース 8 種類 · Bitcoin Core または互換 API バックエンド · MIT ライセンス
bitcoin-mcp が役に立ったら、スターを付けることをご検討ください。ほかの人がこのプロジェクトを見つけやすくなります。
pip install "bitcoin-mcp>=0.5.2"
bitcoin-mcp には Bitcoin データのバックエンドが必要です。Cookie または RPC 設定からローカルの Bitcoin Core/Knots ノードを自動検出します。ローカルノードがない場合は、SATOSHI_API_URL に互換性のあるデプロイ先を設定してください。
サービス状況: 以前
bitcoinsapi.comでホストされていた公開 Satoshi API は一時停止中であり、デフォルトで利用できるものとして扱わないでください。ローカルノードを使用するか、互換 API を明示的に設定してください。
インストール状況
バージョン 0.5.2 には、MCP SDK 1.x の互換性制約と、バックエンドの明示的な選択が含まれています。これらの修正を適用するには、古いバージョンからアップグレードしてください。
クイックスタート
Claude Desktop
claude_desktop_config.json に追加します:
{
"mcpServers": {
"bitcoin": {
"command": "uvx",
"args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
}
}
}
Claude Code
claude mcp add bitcoin -- uvx --from "bitcoin-mcp>=0.5.2" bitcoin-mcp
Cursor
.cursor/mcp.json に追加します:
{
"mcpServers": {
"bitcoin": {
"command": "uvx",
"args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
}
}
}
VS Code
.vscode/mcp.json に追加します:
{
"servers": {
"bitcoin": {
"command": "uvx",
"args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
}
}
}
Zed
Zed の settings.json の context_servers に追加します:
{
"context_servers": {
"bitcoin": {
"command": "uvx",
"args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
}
}
}
現在の設定ファイルの場所とカスタムサーバーの設定方法については、Zed MCP ドキュメントをご覧ください。
Docker
docker build -t bitcoin-mcp .
docker run -i bitcoin-mcp
または、docker compose を使用します:
docker compose up
環境変数を渡して、ローカルの Bitcoin Core ノードまたは互換 API に接続します:
docker run -i -e BITCOIN_RPC_HOST=host.docker.internal -e BITCOIN_RPC_PORT=8332 bitcoin-mcp
# or
docker run -i -e SATOSHI_API_URL=https://your-api.example bitcoin-mcp
今すぐ Bitcoin を送信すべきか尋ねる
インストール後、最初に役立つ使い方として次の手順をお試しください:
「今日 Bitcoin のトランザクションを送信する必要があります。bitcoin-mcp を使って、今送信するべきか待つべきか判断し、使用した手数料率を示してください。」
想定される流れ:
- エージェントが
get_fee_recommendationを呼び出します。 - 回答には、sat/vB 単位の手数料率とともに、今送信するか待つかの明確な推奨が示されます。
- バックエンドが利用できない場合は、再試行する前にローカルノードを設定するか、
SATOSHI_API_URLを設定してください。
動作を確認できたら、このリポジトリにスターを付け、プロンプト、ツールの呼び出し、結果を含む短い紹介を共有してください。ほかの Bitcoin エージェント開発者も、この利用方法を確認できます。
エージェントとの連携
Bitcoin ツールが必要なリポジトリでは、エージェントの MCP 設定に bitcoin-mcp を追加し、対応するバックエンドのいずれかを設定してください:
- ローカルの Bitcoin Core/Knots RPC 設定:
BITCOIN_RPC_HOST、BITCOIN_RPC_PORT、および必要に応じて認証情報や datadir - 互換性のあるリモート API:
SATOSHI_API_URL、および必要に応じてSATOSHI_API_KEY - Satoshi API のソースと連携リファレンス:https://github.com/Bortlesboat/bitcoin-api/blob/master/docs/AGENT_INTEGRATION.md
生成する HTTP の例では、標準の Satoshi API /api/v1 パスを使用してください。
bitcoin-mcp を選ぶ理由
- 実際のコストを節約する手数料分析 — 送信に最適なタイミングを把握し、手数料の段階を比較して、ブロードキャスト前に正確な費用を見積もれます
- バックエンドを選択可能 — 独自の Bitcoin Core/Knots ノード、または明示的に設定した互換 API を使用できます
- オープンソースの MCP ツール — ツール定義、テスト、クライアント設定の例をこのリポジトリで利用できます
主なユースケース
AI エージェントに次のように尋ねます。
| プロンプト | 機能 |
|---|---|
| "What's the cheapest time to send Bitcoin today?" | 手数料の推奨と節約額の内訳 |
| "Analyze the current mempool congestion" | リアルタイムのメンプール深度、手数料の段階、未承認トランザクション数 |
| "How much would I save waiting 6 blocks vs next block?" | 承認目標ごとの手数料を並べて比較 |
| "Search for this transaction: abc123..." | インスクリプション検出を含むトランザクションの完全なデコード |
| "Give me a situation summary of Bitcoin right now" | 価格、手数料、メンプール、マイニング、難易度を1回の呼び出しで取得 |
ツールの全リファレンス
カテゴリ別の標準ツール50個すべて
手数料インテリジェンス
| ツール | 説明 |
|---|---|
get_fee_recommendation | 緊急度別の最適な手数料率と節約のヒント |
get_fee_estimates | すべての承認目標における手数料の推定 |
estimate_smart_fee | 指定した承認目標に対する手数料の推定 |
compare_fee_estimates | 手数料情報源を並べて比較 |
estimate_transaction_cost | 送信前のトランザクションの正確なコスト推定 |
ブロックとトランザクション
| ツール | 説明 |
|---|---|
analyze_block | 高さまたはハッシュを指定して任意のブロックを詳細に分析 |
get_block_stats | ブロックの統計情報の内訳 |
get_block_count | 現在のチェーンの高さ |
compare_blocks | 2つのブロックを並べて比較 |
search_blocks | ブロック範囲を検索 |
analyze_transaction | インスクリプション検出を含むトランザクションの完全な分析 |
decode_raw_transaction | 生トランザクションの16進数データをデコード |
send_raw_transaction | 署名済みトランザクションをブロードキャスト |
check_utxo | UTXOが使用済みか未使用かを確認 |
メンプール
| ツール | 説明 |
|---|---|
analyze_mempool | メンプールの完全な分析 — 深度、手数料、混雑状況 |
get_mempool_info | メンプールのサイズ、バイト数、手数料下限 |
get_mempool_entry | 特定の未承認トランザクションの詳細 |
get_mempool_ancestors | メンプール内のトランザクションの祖先チェーン |
マイニング
| ツール | 説明 |
|---|---|
get_mining_info | 現在のマイニング難易度、ハッシュレート、ブロック報酬 |
analyze_next_block | 次のブロックテンプレートのプレビュー |
get_mining_pool_rankings | 直近のブロック数に基づく上位マイニングプール |
get_difficulty_adjustment | 次回の難易度変更までの時間と変更率 |
get_halving_countdown | 次回の半減期までのブロック数と推定時間 |
ネットワークとステータス
| ツール | 説明 |
|---|---|
get_blockchain_info | チェーンの状態、検証の進捗状況、ソフトフォークの状態 |
get_network_info | ノードのバージョン、接続数、リレー情報 |
get_node_status | 接続状態とノードの健全性 |
get_peer_info | 接続中のピアの詳細 |
get_chain_tips | アクティブなチェーン先端と古いチェーン先端 |
get_chain_tx_stats | Nブロックにおけるトランザクション処理量 |
get_utxo_set_info | UTXOセットのサイズと総供給量 |
get_supply_info | 流通供給量、インフレ率、採掘済みの割合 |
get_situation_summary | 価格、手数料、メンプール、マイニングの概要を集約 |
get_btc_price | 現在のBTC/USD価格 |
get_market_sentiment | 恐怖・強欲指数と市場指標 |
アドレスとUTXO
| ツール | 説明 |
|---|---|
get_address_utxos | アドレスのUTXO |
validate_address | Bitcoinアドレスを検証して分類 |
インデックス済みアドレス(ブロックチェーンインデクサーが必要)
| ツール | 説明 |
|---|---|
get_address_balance | 受取額、送金額、残高の合計、トランザクション数、初回・最終確認日時 |
get_address_history | 純額の変化を含むページ分割されたトランザクション履歴 |
get_address_transactions | トランザクションごとの金額詳細を含むトランザクション履歴 |
get_indexed_transaction | 入力アドレスと使用済み状態を解決した、詳細情報付きトランザクション |
get_indexer_status | 同期の進捗状況、完了までの推定時間、秒あたりのブロック数 |
ユーティリティ
| ツール | 説明 |
|---|---|
search_blockchain | 万能検索 — アドレス、txid、ブロックハッシュ、または高さ |
generate_keypair | 新しい Bitcoin キーペアを生成 |
explain_script | Bitcoin スクリプトをデコードして説明 |
decode_bolt11_invoice | Lightning Network BOLT11 インボイスをデコード |
describe_rpc_command | 任意の Bitcoin Core RPC コマンドのヘルプテキスト |
list_rpc_commands | 利用可能なすべての RPC コマンドを一覧表示 |
decode_xpub | 拡張公開鍵をデコードして確認 |
オプションのリモート API ツール
query_remote_api は、SATOSHI_API_URL が設定され、l402 エクストラがインストールされている場合にのみ登録されます。明示的に設定されたエンドポイントの正規 /api/v1 ルートにクエリを送信します。
設定
ローカルの Bitcoin Core/Knots ノード、または互換性のあるリモート API のいずれかを設定してください。どちらも利用できない場合、bitcoin-mcp は利用できない公開サービスを暗黙的に選択せず、セットアップエラーを返して接続チェックを終了します。
CLI フラグ
bitcoin-mcp は、次のランタイムフラグに対応しています。
| フラグ | 値 | デフォルト | 説明 |
|---|---|---|---|
--transport | stdio、sse、streamable-http | stdio | 実行する MCP トランスポート |
--host | ホスト名/IP | HTTP トランスポートでは 127.0.0.1 | sse と streamable-http のバインド先ホスト |
--port | 整数 | HTTP トランスポートでは 8000 | sse と streamable-http のバインド先ポート |
--log-level | DEBUG、INFO、WARNING、ERROR | INFO | サーバーログの詳細度 |
例:
bitcoin-mcp --transport sse --host 127.0.0.1 --port 8000 --log-level DEBUG
| 変数 | 説明 | デフォルト |
|---|---|---|
BITCOIN_RPC_HOST | Bitcoin Core RPC ホスト | 127.0.0.1 |
BITCOIN_RPC_PORT | Bitcoin Core RPC ポート | ネットワークに応じて自動設定 |
BITCOIN_NETWORK | mainnet、testnet、signet、または regtest | mainnet |
SATOSHI_API_URL | 互換性のある Satoshi API のベース URL | なし |
SATOSHI_API_KEY | 認証アクセス用の API キー | なし |
ローカルの Bitcoin Core ノードに接続するには:
{
"mcpServers": {
"bitcoin": {
"command": "uvx",
"args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"],
"env": {
"BITCOIN_RPC_HOST": "127.0.0.1",
"BITCOIN_RPC_PORT": "8332"
}
}
}
}
プロンプトとリソース
一般的なワークフロー向けの組み込みプロンプト 6 件:
analyze_fee_environment、investigate_transaction、monitor_mempool_fees、taproot_adoption_report、network_health_report、track_transaction
コンテキスト注入用のリソース 8 件:
bitcoin://connection/status、bitcoin://node/status、bitcoin://fees/current、bitcoin://fees/history、bitcoin://mempool/snapshot、bitcoin://protocol/script-opcodes、bitcoin://protocol/address-types、bitcoin://protocol/sighash-types
リンク
- Satoshi API のソース — オプションの互換バックエンド実装(現在、公開ホスト型サービスは一時停止中)
- MCP Registry —
io.github.Bortlesboat/bitcoin-mcp - PyPI
- GitHub
- ツールの完全なドキュメント
使用例
ドキュメント付きの使用パターンについては、examples/ フォルダーを参照してください。
- 手数料分析 — 送信に最適なタイミングを見つける
- メンプール監視 — 混雑状況を追跡する
- トランザクション調査 — トランザクションをデコードして分析する
- ブロック分析 — ブロックを調査して比較する
このプロジェクトを支援する
bitcoin-mcp は、無料のオープンソース Bitcoin インフラストラクチャです。GitHub Sponsors での開発支援、再現可能な問題報告、ドキュメントの改善、テスト済みのパッチによって、開発を支援できます。
貢献
ユニットテストは python -m pytest tests/ で実行できます。MCP インターフェースを介した任意の Core/Knots チェックについては、実ノード統合テストをご覧ください。
貢献を歓迎します。新しいツールの追加方法や PR チェックリストを含むガイドラインについては、CONTRIBUTING.mdをご覧ください。
セキュリティの脆弱性は非公開で報告してください。詳しくは SECURITY.mdをご覧ください。
概要
bitcoin-mcp は Andrew Barnes が作成・保守しており、Model Context Protocol を通じて AI エージェントと Bitcoin インフラストラクチャをつなぎます。
関連プロジェクト:
- Satoshi API — Bitcoin 手数料インテリジェンス API。108 個のエンドポイントを備え、互換性のあるバックエンドとしてセルフホストできます
- ChainPulse — AI を活用した Bitcoin ネットワークインテリジェンス CLI
- BAIP-1 — Bitcoin エージェント ID プロトコル
- bitcoin-fee-observatory — 手数料市場分析ダッシュボード
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。