mcpField
C
configdoc

configdoc

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

configdoc について

configdocは渡されたソーステキストから環境変数の直接参照を検出し、デフォルト値、参照数、ファイル位置を含む一覧を作成します。設定項目を整理するチーム向けで、スキャンはローカルで完結し、追加のファイル読み込みやネットワーク通信は行いません。

主な機能

  1. 01process.envとimport.meta.envの参照を抽出
  2. 02??や||の後にあるリテラル値を取得
  3. 03参照数を集計しソースファイルを列挙
  4. 04結果作成前に入力を検証
  5. 05コマンドラインとMCPサーバーを提供

活用シーン

  1. 01複数のソースファイルの環境変数を整理
  2. 02各設定項目が参照されるファイルを確認
  3. 03設定のデフォルト値と参照数を確認

MCP 対応

MCPサーバーはextract_config_optionsツールを提供します。クライアントはpathとcontentを含むソースファイルオブジェクトを渡し、設定一覧を受け取ります。

設定

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

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

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

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

ツール

1

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

パラメーター型必須説明
filesarrayはいスキャンするソースファイル(1 つ以上)

詳細

configdoc

コード内のすべての設定オプションとそのデフォルト値を、1つのドキュメントにまとめます。configdoc にソースファイルをテキストとして渡すと、ほとんどのコードベースで実際に使われている設定の範囲である、環境変数の直接参照をスキャンし、1つの一覧を返します。

  • 両方の読み取り形式 — process.env.NAME と import.meta.env.NAME を抽出します。NAME は大文字の環境変数の規則([A-Z_][A-Z0-9_]*)に従います。 小文字または大文字と小文字が混在する名前は一致せず、分割代入による読み取り(const { X } = process.env)や環境変数以外の設定オブジェクトは、意図的に対象外としています。
  • デフォルト値 — 読み取りの直後に ?? または || とリテラルが続く場合、そのリテラルを読み取りのデフォルト値として扱います。文字列リテラルの場合は引用符の間のテキストをそのまま取得し(エスケープは解釈しません)、数値リテラルの場合は記述された値を取得します。フォールバックが識別子、関数呼び出し、その他の値の場合、デフォルト値は取得されません。
  • オプションごとに1件 — 異なる名前はそれぞれ1回だけ、昇順で表示されます。デフォルト値には、その名前の読み取りのうち、デフォルト値を取得できた最初のもの(スキャン順:入力順のファイル、上から下の行、左から右の一致)を使用します。取得できる読み取りがない場合は null です。また、すべてのファイルにおけるその名前の読み取り総数と、読み取りがあったファイルの一覧を昇順で表示します。

入力は厳密に検証されます。ファイルセットがない、または空である場合、ファイルに path または content がない場合、path が空、文字列以外、または重複している場合、あるいは content が文字列以外の場合は、エラーとなり、該当するパスが示されます(例:files[0].content must be a string)。部分的な一覧は生成されません。スキャンは純粋かつローカルで実行されます。ネットワークや設定は不要で、渡された入力以外のファイルを読み取ることもありません。

CLI

npx @reneturcios/configdoc extract --input args.json
npx @reneturcios/configdoc --version

args.json には引数オブジェクト全体が含まれます。

{
  "files": [
    {
      "path": "src/config.ts",
      "content": "const port = process.env.PORT ?? 8080;\nconst host = process.env.HOST ?? \"localhost\";"
    },
    {
      "path": "web/env.ts",
      "content": "export const api = import.meta.env.API_URL;"
    }
  ]
}

一覧は JSON として出力されます。

{
  "options": [
    { "name": "API_URL", "default": null, "reads": 1, "files": ["web/env.ts"] },
    { "name": "HOST", "default": "localhost", "reads": 1, "files": ["src/config.ts"] },
    { "name": "PORT", "default": "8080", "reads": 1, "files": ["src/config.ts"] }
  ],
  "total_options": 3,
  "files_scanned": 2
}

終了コード:成功時は 0、実行時エラー(読み取り不能または無効な入力ファイル、無効な入力を含む)の場合は 1、使用方法のエラーの場合は 2。

MCP サーバー

npx -y @reneturcios/configdoc mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "configdoc": {
      "command": "npx",
      "args": ["-y", "@reneturcios/configdoc", "mcp"]
    }
  }
}
ツール
  • extract_config_options — コード内で読み取られるすべての設定オプションと、それぞれの読み取り時にフォールバックするデフォルト値を、1つの一覧にまとめます。

    • files(配列、必須、1件以上) — {path, content} オブジェクト形式のソースファイル。path はセット内で一意であり、content はソーステキスト全体です(空でもかまいません)。

    {options, total_options, files_scanned} を返します。各オプションは {name, default, reads, files} です。

Docker

docker run -i ghcr.io/cloudcorprecords/configdoc
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/configdoc extract --input /w/args.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 つのサーバーを複数のクライアントで再利用できます。