MCP サーバーで dotenv 利用したときの起動時強制 stdout を抑制するメモ

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 設定側もシンプルにできるのもいいところです。