MCP サーバーで dotenv 利用したときの起動時強制 stdout を抑制するメモ
MCP サーバーで dotenv 利用したときの起動時強制 stdout を抑制するメモです。
背景
MCP サーバーで dotenv 利用しているときに起動したらメッセージが発生します。
[dotenv@17.0.0] injecting env (55) from .env – 🔐 encrypt with dotenvx: https://dotenvx.com
こんなかんじ。MCP クライアント側が JSON-RPC 通信をしてるのでエラーになります。つらいです。MCP がこわちゃったりします。
ちなみに dotenv は v17 です。どうも v16 以下は大丈夫そうなんですけどね。
対処法
いろいろやり方はありますが、コード側で抑制するのが好きです。
import dotenv from 'dotenv';
dotenv.config({ quiet: true });
このように dotenv.config({ quiet: true }); で抑制できます。
v17 が使えないからって v16 へダウングレードで利用し続けるのもつらいので、こうできてよかった~。起動オプションとか環境変数が増えないので MCP 設定側もシンプルにできるのもいいところです。