mcpField
E
Env Validator

Env Validator

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

Env Validator について

Env Validatorは、ローカルの開発環境を調べるGo製MCPサーバーです。不足・旧版のCLIツール、環境変数の不備、設定ファイルの欠落や検証エラーをMCP対応アシスタントに報告します。

主な機能

  1. 01CLIツールの導入とバージョン確認
  2. 02環境変数の検証
  3. 03ファイルとディレクトリの確認
  4. 04JSONと必須キーの検証
  5. 05構造化レポートの生成

活用シーン

  1. 01プロジェクト開始前にツールを確認
  2. 02必須環境変数を検証
  3. 03設定ファイルの欠落や不備を特定
  4. 04環境全体を一括チェック

MCP 対応

stdioトランスポートで環境確認ツールをMCPクライアントに提供します。Claude Desktop、Cursor、Gemini CLIなどに対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

env-validator-mcp

Go MCP SDK License: MIT

ローカルの開発環境を検査し、不足している依存関係、バージョンの不一致、設定に誤りのある環境変数を、MCP 互換の AI アシスタントに報告する MCP(Model Context Protocol)サーバーです。

Claude Desktop、Cursor、Gemini CLI、および stdio トランスポートの MCP サーバーに対応するその他のクライアントで動作します。


機能

MCP ツール内容
check_tool_versionCLI ツールがインストールされているかを確認します。任意で semver の制約(例:>=1.21.0)を検証します
check_env_vars環境変数が設定されているか、空でないか、または正規表現パターンに一致するかを確認します
check_config_filesファイル/ディレクトリの存在を確認します。任意で JSON ファイルを検証し、必須キーを確認します
validate_environment全項目を一括検査します:ツール、環境変数、設定ファイルを確認し、構造化された JSON レポートを返します
list_checksこのサーバーが検査できる項目をすべて一覧表示します

対応 CLI ツール: go、node、npm、docker、git、python3、pip3、make、curl、jq、kubectl、terraform、helm、rustc、java


クイックスタート

1. ビルド
git clone https://github.com/pouyasadri/env-validator-mcp.git
cd env-validator-mcp
make build
# → bin/env-validator-mcp
2. Claude Desktop の設定

~/Library/Application Support/Claude/claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "env-validator": {
      "command": "/Users/pouyasadri/Desktop/Projects/env-validator-mcp/bin/env-validator-mcp"
    }
  }
}

Claude Desktop を再起動します。次のように質問できます:

「Go、Docker、Node がインストールされていて、指定した最低バージョン要件を満たしているか確認してください」

「DATABASE_URL 環境変数は設定されていますか?」

「環境全体を検証して、不足しているものを教えてください」

3. Cursor/その他の MCP クライアントの設定

ほとんどのクライアントは同じ JSON 設定形式に対応しています。command にバイナリのパスを指定してください。


応答例

validate_environment
{
  "results": [
    {
      "name": "go",
      "status": "ok",
      "found_version": "1.24.2",
      "expected_range": ">=1.21.0",
      "message": "go 1.24.2 is installed and satisfies >=1.21.0"
    },
    {
      "name": "docker",
      "status": "missing",
      "message": "docker is not found or not executable: executable file not found in $PATH"
    },
    {
      "name": "HOME",
      "status": "ok",
      "message": "environment variable HOME is set"
    }
  ],
  "summary": "6 OK, 2 issue(s) found",
  "ok_count": 6,
  "issue_count": 2
}
check_tool_version
// Arguments: { "tool": "node", "constraint": ">=18.0.0" }
{
  "name": "node",
  "status": "outdated",
  "found_version": "16.0.0",
  "expected_range": ">=18.0.0",
  "message": "node 16.0.0 does not satisfy constraint >=18.0.0"
}

Semver 制約の構文

演算子例意味
>=>=1.21.0バージョンは 1.21.0 以上である必要があります
>>1.20.0バージョンは 1.20.0 より大きい必要があります
<=<=3.0.0バージョンは 3.0.0 以下である必要があります
<<3.0.0バージョンは 3.0.0 より小さい必要があります
==1.24.2バージョンが完全に一致する必要があります
(空)""任意のバージョン。インストールされているかどうかだけを確認します

開発

前提条件
  • Go 1.24+
コマンド
make build      # Compile binary to bin/
make test       # Run all tests
make test-race  # Run with race detector
make coverage   # Generate HTML coverage report
make lint       # Run golangci-lint
make clean      # Remove build artifacts
プロジェクト構成
env-validator-mcp/
├── cmd/server/          # Entry point (main.go)
├── internal/
│   ├── checker/         # Tool, env, and file checkers (interfaces + implementations)
│   ├── report/          # Result and Report types
│   └── semver/          # Version extraction and constraint checking
├── mcp/                 # MCP server setup and tool handlers
├── Makefile
└── go.mod
アーキテクチャ:TDD のための依存性注入

外部とのやり取りはすべてインターフェースの背後に隠されています:

Commander   → exec.Command (real) / MockCommander (tests)
EnvReader   → os.LookupEnv (real) / MockEnvReader (tests)
FileSystem  → os.Stat/ReadFile (real) / MockFileSystem (tests)

これにより、プロセスの起動、実際の環境、ファイルシステムへの I/O を使わずに、すべてのチェッカーを完全に独立してテストできます。


ライセンス

MIT

コメント

MCP は初めてですか?

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

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