Bitcoin MCP Server について
Bitcoin MCP Serverは、分類されたRPC操作を通じてBitcoin CoreノードにアクセスするためのGoサービスです。開発者や運用担当者向けに、ブロックチェーン、メンプール、UTXO、管理操作を文書化されたインターフェースにまとめています。
主な機能
- 01MCP経由のBitcoin RPCインターフェース
- 02ブロックチェーンとブロックデータの操作
- 03メンプール操作
- 04UTXO操作
- 05認証とエラーハンドリング
活用シーン
- 01ブロックチェーンやブロック情報の照会
- 02メンプールデータの確認
- 03MCPクライアントからBitcoinノードを操作
MCP 対応
BitcoinノードのRPC機能を、機能別に整理してMCPクライアントへ公開します。RPCを有効にしたBitcoin Coreノードが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bitcoin MCP Server
Model Context Protocol(MCP)を使用し、さまざまな RPC コマンドを通じて Bitcoin ノードとやり取りするための、Go ベースのサービスです。サーバーは Bitcoin RPC の機能を論理的なカテゴリに整理し、ブロックチェーンのデータや操作にアクセスするための、わかりやすく文書化された API を提供します。
機能
- Model Context Protocol を使用した包括的な Bitcoin RPC インターフェース
- 機能別カテゴリに整理:
- ブロックチェーン操作
- メモリプール操作
- UTXO 操作
- ブロックチェーン管理
- セキュアな認証
- 包括的なエラー処理
- わかりやすく文書化された API
前提条件
- Go 1.24 以降
- RPC が有効な Bitcoin Core ノード
- Bitcoin RPC コマンドの基礎知識
インストール
- リポジトリをクローンします:
git clone https://github.com/moncho/bitcoin-mcp.git
cd bitcoin-mcp
- 依存関係をインストールします:
go mod download
- サーバーをビルドします:
go build -o bitcoin-mcp
設定
次の構造で設定ファイル(config.json)を作成します:
{
"bitcoin": {
"rpc_url": "http://localhost:8332",
"username": "your_rpc_username",
"password": "your_rpc_password"
},
"server": {
"port": 8080,
"host": "localhost"
}
}
サーバーの実行
- RPC を有効にして Bitcoin Core ノードを起動します:
bitcoind -server -rpcuser=your_rpc_username -rpcpassword=your_rpc_password
- MCP サーバーを起動します:
./bitcoin-mcp -config config.json
または、環境変数を使用します:
BITCOIN_RPC_URL=http://localhost:8332 \
BITCOIN_RPC_USER=your_rpc_username \
BITCOIN_RPC_PASS=your_rpc_password \
./bitcoin-mcp
API の使用方法
サーバーは Bitcoin RPC コマンドにアクセスするための RESTful API を提供します。以下に例を示します:
ブロックチェーン情報の取得
curl -X POST http://localhost:8080/api/v1/blockchain/info
ブロックデータの取得
curl -X POST http://localhost:8080/api/v1/blockchain/block \
-H "Content-Type: application/json" \
-d '{"blockhash": "0000000000000000000123456789abcdef", "verbose": true}'
メモリプール情報の取得
curl -X POST http://localhost:8080/api/v1/mempool/info
開発
プロジェクト構成
bitcoin-mcp/
├── cmd/
│ └── server/ # Main server application
├── pkg/
│ ├── bitcoin/ # Bitcoin RPC client
│ └── tools/ # RPC command implementations
├── config.json # Configuration file
└── README.md # This file
新しい RPC コマンドの追加
pkg/bitcoin/client.goの Bitcoin クライアントにメソッドを追加しますpkg/tools/に対応するツールを作成または更新します- 適切なカテゴリにツールを登録します
- 新しい機能のテストを追加します
テスト
テストスイートを実行します:
go test ./...
セキュリティに関する考慮事項
- RPC 認証情報を公開リポジトリに決して公開しないでください
- RPC アクセスには安全なパスワードを使用してください
- 公開 API ではレート制限を検討してください
- すべての入力パラメーターを検証してください
- エラーメッセージをサニタイズしてください
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- Pull Request を作成します
変更を提出する際は、コントリビューションガイドラインに従ってください。
ドキュメント
API の詳細なドキュメントと仕様については、以下を参照してください:
ライセンス
[ライセンス情報を指定]
サポート
サポートが必要な場合は、以下をお試しください:
- ドキュメントを確認する
- 既存の Issue を検索する
- 必要に応じて新しい Issue を作成する
謝辞
- Bitcoin Core の開発者
- Go コミュニティ
- このプロジェクトへのすべてのコントリビューター
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。