このディレクトリには、さまざまなプログラミング言語で記述された完全で動作するMCPクライアントの例が含まれています。各クライアントは、メインのREADME.mdチュートリアルで説明されているすべての機能を示しています。
- トランスポート: HTTP経由のSSE (Server-Sent Events)
- ターゲットサーバー:
http://localhost:8080 - 機能:
- 接続の確立とping
- ツールのリスト表示
- 計算機操作(加算、減算、乗算、除算、ヘルプ)
- エラー処理と結果の抽出
実行方法:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- トランスポート: Stdio (標準入力/出力)
- ターゲットサーバー: dotnet runを介したローカル.NET MCPサーバー
- 機能:
- Stdioトランスポートによる自動サーバー起動
- ツールとリソースのリスト表示
- 計算機操作
- JSON結果の解析
- 包括的なエラー処理
実行方法:
dotnet run- トランスポート: Stdio (標準入力/出力)
- ターゲットサーバー: ローカルNode.js MCPサーバー
- 機能:
- MCPプロトコルの完全サポート
- ツール、リソース、プロンプト操作
- 計算機操作
- リソースの読み取りとプロンプトの実行
- 強力なエラー処理
実行方法:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- トランスポート: Stdio (標準入力/出力)
- ターゲットサーバー: ローカルPython MCPサーバー
- 機能:
- 非同期処理(async/await)パターンの利用
- ツールとリソースの発見
- 計算機操作のテスト
- リソース内容の読み取り
- クラスベースの構成
実行方法:
python client_example_python.py各クライアント実装は以下を示します:
-
接続管理
- MCPサーバーへの接続の確立
- 接続エラーの処理
- 適切なクリーンアップとリソース管理
-
サーバー探索
- 利用可能なツールのリスト表示
- 利用可能なリソースのリスト表示(対応している場合)
- 利用可能なプロンプトのリスト表示(対応している場合)
-
ツールの呼び出し
- 基本的な計算機操作(加算、減算、乗算、除算)
- サーバー情報のヘルプコマンド
- 適切な引数の渡しと結果の処理
-
エラー処理
- 接続エラー
- ツール実行エラー
- 優雅な失敗とユーザーへのフィードバック
-
結果の処理
- レスポンスからテキストコンテンツを抽出
- 読みやすい形式での出力
- 異なるレスポンス形式の処理
これらのクライアントを実行する前に、以下を確認してください:
- 対応するMCPサーバーが実行中であること (
../01-first-server/から) - 選択した言語の必要な依存関係がインストールされていること
- 適切なネットワーク接続 (HTTPベースのトランスポートの場合)
| 言語 | トランスポート | サーバー起動方法 | 非同期モデル | 主なライブラリ |
|---|---|---|---|---|
| Java | SSE/HTTP | 外部 | 同期 | WebFlux, MCP SDK |
| C# | Stdio | 自動 | Async/Await | .NET MCP SDK |
| TypeScript | Stdio | 自動 | Async/Await | Node MCP SDK |
| Python | Stdio | 自動 | AsyncIO | Python MCP SDK |
| Rust | Stdio | 自動 | Async/Await | Rust MCP SDK, Tokio |
これらのクライアント例を探索した後:
- クライアントを修正して新しい機能や操作を追加
- 独自のサーバーを作成し、これらのクライアントでテスト
- 異なるトランスポートを試す (SSE vs. Stdio)
- MCP機能を統合したより複雑なアプリケーションを構築
- 接続拒否: MCPサーバーが期待されるポート/パスで実行されていることを確認
- モジュールが見つからない: 選択した言語のMCP SDKをインストール
- アクセス拒否: Stdioトランスポートのファイル権限を確認
- ツールが見つからない: サーバーが期待されるツールを実装していることを確認
- MCP SDKで詳細ログを有効化
- サーバーログを確認してエラーメッセージを探す
- クライアントとサーバー間でツール名とシグネチャが一致していることを確認
- まずMCPインスペクターでテストしてサーバー機能を検証
免責事項:
この文書は、AI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。