mcpField
E
envdiff

envdiff

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

envdiff について

envdiffはローカルとCIの環境記述を比較し、環境差異の調査を支援します。変数の値は出力せず、名前だけを報告します。

主な機能

  1. 01Node、OS、ロックファイル項目の比較
  2. 02片側だけにある環境変数の検出
  3. 03値が異なる変数名の報告
  4. 04JSON形式で差異数を出力

活用シーン

  1. 01ローカルとCIの環境差異の調査
  2. 02機密値を出さずに環境を比較

MCP 対応

MCP サーバーは、必須のローカル環境記述とCI環境記述を比較する `diff_environments` ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-envdiff": {
"command": "npx",
"args": [
"-y",
"@reneturcios/envdiff"
]
}
}
}
起動コマンドnpx -y @reneturcios/envdiff

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/envdiff0.1.0
ocighcr.io/cloudcorprecords/envdiff:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
ciobjectはいCI 環境の記述
ci.osstringいいえオペレーティングシステム識別子
ci.envobjectいいえ文字列マップ形式の環境変数(値は比較しますが、表示しません)
ci.nodestringいいえNode.js のバージョン文字列
ci.lockfile_presentbooleanいいえロックファイルが存在するかどうか
localobjectはいローカル環境の記述
local.osstringいいえオペレーティングシステム識別子
local.envobjectいいえ文字列マップ形式の環境変数(値は比較しますが、表示しません)
local.nodestringいいえNode.js のバージョン文字列
local.lockfile_presentbooleanいいえロックファイルが存在するかどうか

詳細

envdiff

「自分のマシンでは動く」――マシンのどの部分でしょうか? envdiff は 2 つの環境記述を比較し、通常は開発者の ローカル環境と CI 環境を比較して、どこが異なるかを正確に報告します。

  • Node のバージョン、OS、ロックファイルの有無を フィールドとして比較します(フィールドがない場合は null として報告されます)。
  • 片方にしか存在しない環境変数をキー単位で報告します。
  • 値が異なる環境変数をキー名のみで報告します。値は 比較されますが、レポートに出力されることはありません。そのため、 記述にシークレットが含まれていても漏えいしません。

記述は小さな JSON オブジェクトです。 {"node": "20.11.0", "os": "linux", "env": {"CI": "true"}, "lockfile_present": true} ――すべてのフィールドは省略可能です。

純粋なローカル処理です。ネットワークも設定も必要ありません。

CLI

npx @reneturcios/envdiff diff local.json ci.json
npx @reneturcios/envdiff --version

出力は比較レポートを JSON 形式で示し、 summary.total_differences に差異の合計数が含まれます。終了コード:成功時は 0 (差異はエラーではなく、結果です)、実行時エラー時は 1 (記述を読み取れない、または無効な場合)、使用方法のエラー時は 2 です。

MCP サーバー

npx -y @reneturcios/envdiff mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "envdiff": {
      "command": "npx",
      "args": ["-y", "@reneturcios/envdiff", "mcp"]
    }
  }
}
ツール
  • diff_environments — 2 つの環境記述を比較します。

    • local(オブジェクト、必須)— ローカルの記述
    • ci(オブジェクト、必須)— CI の記述

    各記述:node(文字列)、os(文字列)、env (文字列のマップ)、lockfile_present(ブール値)。すべて省略可能です。

Docker

docker run -i ghcr.io/cloudcorprecords/envdiff
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/envdiff diff /w/local.json /w/ci.json

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。