← 学習メニュー

CCDV-F 練習問題 57

CCDV-F

社内向けの MCP サーバーを stdio で作りました。動作を確かめるために、処理の途中経過を console.log(標準出力)に書いていたところ、クライアントとの接続が不安定になり、ツールの一覧も取得できないことがあります。原因と対処として最も適切なのはどれですか。

スポンサーリンク
1つ選択してください

選択肢を押して回答

正解と解説

正解: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・通信方式)

参考資料(公式ドキュメント)

公開資料をもとにした独自解説です。本番の問題・難易度・合否を再現するものではありません。