Bitcoin MCP Server について
Bitcoin MCP Server は、MCP サーバーを通じてビットコイン価格情報を提供します。同梱の Java テストクライアントはサーバー JAR をサブプロセスとして起動し、STDIO 経由で USD 価格ツールを呼び出します。
主な機能
- 01ビットコイン価格情報の提供
- 02STDIO によるサーバー通信
- 03サーバーの JAR ビルド
- 04サブプロセス方式のテストクライアント
活用シーン
- 01USD 建てのビットコイン価格を取得
- 02付属クライアントで MCP ツール呼び出しをテスト
MCP 対応
サーバーは STDIO 経由で MCP クライアントにビットコイン価格ツールを公開します。付属のテストクライアントはサーバー JAR をサブプロセスとして起動し、ツール一覧の取得、価格ツールの呼び出し、接続の終了を行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bitcoin MCP サーバー
このプロジェクトは、Bitcoin の価格情報を提供する Model Context Protocol(MCP)サーバーです。
プロジェクトのビルド
プロジェクトをビルドするには、次のコマンドを実行します。
mvn clean package
これにより、target/bitcoinmcp-0.0.1-SNAPSHOT.jar に JAR ファイルが作成されます。
MCP サーバーの実行
サーバーは、application.yaml ファイルで指定されているとおり、標準入出力(STDIO)を使用して通信するように設定されています。
ClientSTDIO テストクライアントの使用
このプロジェクトには、MCP サーバーへの接続方法を示すテストクライアント(ClientSTDIO)が含まれています。
ClientSTDIO がサーバーの JAR を参照する必要がある理由
ClientSTDIO クラスは、MCP サーバーと通信するために Model Context Protocol(MCP)クライアントライブラリを使用します。サーバーの JAR ファイルを参照する必要がある理由は次のとおりです。
- MCP クライアントは、サーバーを起動するためにサブプロセスの仕組みを使用します。
- JAR ファイルを別個の Java プロセスとして実行し、サーバーを起動します。
- クライアントとサーバーは、標準入出力(STDIO)を介して通信します。
このアーキテクチャにより、サーバーを別途起動したり、ネットワークポートを公開したりすることなく、クライアントがサーバーとやり取りできます。ただし、クライアントがサーバーを起動するには、サーバーの JAR ファイルの場所を把握している必要があります。
JAR ファイルのパスの設定
クライアントは、サーバーの JAR ファイルの場所を把握する必要があります。指定方法は次の 3 つです。
-
システムプロパティ:
java -Dmcp.server.jar.path=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar -cp target/test-classes za.sk.bitconmcp.ClientSTDIO -
環境変数:
export MCP_SERVER_JAR_PATH=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar java -cp target/test-classes za.sk.bitconmcp.ClientSTDIO -
デフォルトパス: システムプロパティも環境変数も設定されていない場合、クライアントは現在の作業ディレクトリを基準に
target/bitcoinmcp-0.0.1-SNAPSHOT.jarに JAR ファイルがあるか確認します。
クライアントの実行
クライアントを実行するには、すべての依存関係がクラスパスに含まれるよう、Maven の exec プラグインを使用します。
# Make sure you're in the project root directory
cd /opt/mcp/server/bitcoinmcp
# Run the client using Maven
mvn exec:java -Dexec.classpathScope=test -Dexec.mainClass="za.sk.bitconmcp.ClientSTDIO"
システムプロパティで JAR のパスを指定することもできます。
mvn exec:java -Dexec.classpathScope=test -Dexec.mainClass="za.sk.bitconmcp.ClientSTDIO" -Dmcp.server.jar.path=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar
クライアントは次の処理を行います。
- MCP サーバーに接続します。
- 利用可能なツールを一覧表示します。
- 通貨に USD を指定して、
getBitcoinProceByCurrencyツールを呼び出します。 - 結果を表示します。
- 接続を閉じます。
トラブルシューティング
「MCP server JAR file not found」のようなエラーが表示された場合は、次の点を確認してください。
mvn clean packageでプロジェクトをビルドしたこと。- 正しいディレクトリからクライアントを実行していること。
- JAR ファイルのパスが正しく指定されていること。
上記の設定方法のいずれかを使用して、JAR ファイルの絶対パスを指定することもできます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。