← 学習メニュー
CCDV-F 練習問題 57
CCDV-F
社内向けの MCP サーバーを stdio で作りました。動作を確かめるために、処理の途中経過を console.log(標準出力)に書いていたところ、クライアントとの接続が不安定になり、ツールの一覧も取得できないことがあります。原因と対処として最も適切なのはどれですか。
スポンサーリンク
選択肢を押して回答
正解と解説
正解:A
判断のポイント
MCP の stdio では、標準出力はプロトコル専用です。ログは標準エラー出力へ書きます。複数のクライアントから使う遠隔のサーバーには Streamable HTTP を使います。
A. stdio では標準出力がプロトコルのメッセージに使われるので、ログは標準エラー出力に書く(正解)
stdio の通信では、標準出力に MCP のメッセージ以外を書いてはいけません。ログは標準エラー出力などに出します。
B. ログの量が多すぎるのが原因なので、ログの出力を1秒に1回に減らす(不正解)
量を減らしても、標準出力にプロトコル以外の内容が混ざる問題は残ります。
C. クライアント側のタイムアウトを延ばせば、ログの影響を受けずに接続できる(不正解)
メッセージの形式が壊れる問題は、待ち時間では解決しません。
D. stdio は不安定なので、ログはそのままにして Streamable HTTP に切り替える(不正解)
原因は通信方式ではなく、標準出力へのログの書き込みです。
出題範囲:CCDV-F 分野8「ツールとMCP」・項目8.2 MCP サーバーの開発(tools・resources・prompts・通信方式)
参考資料(公式ドキュメント)
公開資料をもとにした独自解説です。本番の問題・難易度・合否を再現するものではありません。
