stdio は standard input / standard output の略で、標準入力と標準出力を使ってプロセス間でやり取りする方法です。
ローカルで起動したプログラム同士をつなぐときによく使われます。
まず押さえたいポイント
- 同じマシン上のプロセス間通信でよく使う
- ネットワーク越しではなく、直接起動したプログラム同士のやり取りに向く
- MCP ではローカルサーバー接続の代表例
どんな場面で使うか
- エディタやデスクトップアプリがローカルの MCP サーバーを起動するとき
- CLI ツール同士を連携するとき
- HTTP を使うほどではない近い通信をしたいとき
どんなふうに理解するとよいか
手元のアプリが、手元の別プログラムを起動して直接話す方式 と考えると分かりやすいです。
MCP では、クライアントがサーバープロセスを起動し、その標準入出力へ JSON-RPC メッセージを書いてやり取りします。
押さえておきたい注意点
stdout に余計な文字列を出すとプロトコルが壊れやすいです。
ログは stderr 側へ出す、標準出力には正しいメッセージだけを流す、という考え方が大事です。
実務で見るポイント
- ローカル利用ではかなり扱いやすい
- 余計なログ出力で通信を壊さないようにする
- リモート公開や多人数利用には別方式の方が向くことが多い