mcpField
M
megalinter

megalinter

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

megalinter について

MegaLinter MCP Serverは、MCPインターフェース経由でOx Security MegaLinterをローカルまたはCI/CDで実行する開発者向けサーバーです。設定可能なスキャンに加え、リンターの検索、レポート解析、問題の集計、安全上の推奨事項を提供します。

主な機能

  1. 01設定可能なMegaLinterスキャンの実行
  2. 02最小構成の.mega-linter.ymlを生成
  3. 03言語や機能でリンターを検索
  4. 04JSONおよびSARIFレポートを解析
  5. 05重要度やリンター別に問題を集計
  6. 06セキュリティ対策を提案

活用シーン

  1. 01リポジトリの簡易スキャンやセキュリティスキャン
  2. 02MegaLinterの基本設定を作成
  3. 03スキャンレポートの問題を確認・絞り込み
  4. 04言語やセキュリティ用途に合うリンターを特定

MCP 対応

MCPクライアントに、MegaLinterの実行、設定、検索、レポート分析のツールを公開します。

設定

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

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

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

パッケージ
npm@downatthebottomofthemolehole/megalinter-mcp-server3.0.2

ツール

9

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

パラメーター型必須説明
envstringいいえ--env に渡す環境変数文字列(例:DISABLE_LINTERS=SPELL_CSPELL,MARKDOWN_MARKDOWNLINT)。
fixbooleanいいえ自動修正を適用します。
helpbooleanいいえmega-linter-runner のヘルプを表示します。
pathstringいいえLint 対象ディレクトリのパス。
imagestringいいえ任意の Docker イメージ完全指定値。
flavorstringいいえMegaLinter のフレーバー。
installbooleanいいえMegaLinter のスターター設定ファイルを生成します。
releasestringいいえMegaLinter Docker イメージのタグ。
extraArgsarrayいいえ追加する CLI 引数。
configFilestringいいえ.mega-linter.yml ファイルのパス。
reportsPathstringいいえレポートの書き込み先ディレクトリ。
containerNamestringいいえDocker コンテナー名(任意)。
runnerVersionstringいいえmega-linter-runner の npm バージョン。'latest' または特定のバージョンを指定します。
disableLintersstringいいえ無効にするリンターのカンマ区切りリスト。
timeoutSecondsnumberいいえコマンドのタイムアウト(秒)。
removeContainerbooleanいいえ完了後にコンテナーを削除します。
workingDirectorystringいいえコマンドを実行するディレクトリ。デフォルトは現在のプロセスのディレクトリです。
lintChangedFilesOnlybooleanいいえtrue の場合、VALIDATE_ALL_CODEBASE=false を設定して、変更されたファイルのみを lint します。

詳細

MegaLinter MCP サーバー

Down At The Bottom Of The Mole Hole banner

注記: これはコミュニティによって保守されている MCP サーバーです。公式の Model Context Protocol サーバーではありませんが、公式 MegaLinter ツールを補完するものとして Ox Security の承認を受けています。

CI/Publish Coverage npm License: MIT Node Version

mega-linter-runner を通じて Ox Security MegaLinter を実行する Model Context Protocol(MCP)サーバーです。CI/CD プラットフォーム(GitHub Actions、GitLab CI、Azure DevOps、CircleCI、Jenkins)でもローカルでも利用できます。

概要

このサーバーは、実行、検出、分析の各ワークフローに対応する、合計 15 個の MCP ツールを提供します。内訳は、コアツール 10 個と便利なエイリアス 5 個です。

  • megalinter_quick_action:適切なデフォルト設定で、簡潔な自然なリクエストを実行します。
  • megalinter_run:ランタイムとランナーのオプションを設定して MegaLinter を実行します。
  • megalinter_write_config:最小限の .mega-linter.yml ファイルを生成します。
  • megalinter_list_flavors:一般的な MegaLinter フレーバーを返します。
  • megalinter_get_linters:言語、セキュリティの重点分野、自動修正機能に基づいて、利用可能なリンターを検出します。
  • megalinter_get_security_info:セキュリティリンターを脅威カテゴリ別に分類します。
  • megalinter_get_reporters:サポートされているレポート出力形式と、CI 向けレポーターを一覧表示します。
  • megalinter_parse_reports:JSON または SARIF 形式のレポート成果物を解析します。
  • megalinter_get_issue_summary:レポートの問題をリンター別および重大度別に集計します。
  • megalinter_get_security_recommendations:セキュリティに重点を置いた修正ガイダンスを生成します。
クイックスタート(短いプロンプト)

短いプロンプトを使いたい場合は、まず megalinter_quick_action を使用してください。

  • @megalinter quick scan this repository
  • @megalinter security scan
  • @megalinter summarise errors
  • @megalinter list python security linters
  • @megalinter write config

または、入力を最小限にできる 超短縮エイリアスを使用できます。

  • @megalinter scan — デフォルト設定でクイックスキャンを実行します
  • @megalinter summary — 前回の実行で検出されたエラーを要約します
  • @megalinter parse — JSON レポートを解析します
  • @megalinter help_quick — プロジェクトに応じたヘルプを表示します
プラットフォーム互換性

この MCP サーバーは プラットフォームに依存せず、幅広く利用できます。

  • ✅ ローカル — IDE またはコマンドラインから MegaLinter を実行できます
  • ✅ GitHub Actions — ワークフローに統合できます
  • ✅ GitLab CI/CD — GitLab パイプラインで使用できます
  • ✅ Azure DevOps — Azure Pipelines で実行できます
  • ✅ CircleCI、Jenkins、Bitbucket Pipelines — Docker に対応するあらゆる CI/CD プラットフォームで使用できます
  • ✅ AI エージェントと Copilot — MCP を介してコード品質チェックを自動化できます

必要なのは Docker(または Colima などの互換性のあるコンテナランタイム)だけです。

ツール一覧
ツールカテゴリー一般的な結果
megalinter_quick_actionインタラクティブ短い自然なリクエストをデフォルト設定で処理します
scanエイリアスクイックスキャン用の非常に短いエイリアスです
summaryエイリアスエラー概要用の非常に短いエイリアスです
parseエイリアスレポート解析用の非常に短いエイリアスです
help_quickエイリアスコンテキストに応じたヘルプ用の非常に短いエイリアスです
megalinter_help_quickヘルププロジェクトに応じた提案を表示します
megalinter_run実行リンティングを実行し、レポート成果物を生成します
megalinter_write_config設定ベースラインの .mega-linter.yml を生成します
megalinter_list_flavors検索技術スタックに適したフレーバーを特定します
megalinter_get_linters検索言語、セキュリティ、自動修正のサポート状況でリンターを絞り込みます
megalinter_get_security_info検索SAST、シークレット、コンテナー、IaC ごとに分類されたセキュリティリンターを表示します
megalinter_get_reporters検索ローカルおよび CI ワークフロー向けの出力/レポート形式を選択します
megalinter_parse_reports分析JSON または SARIF のレポートを構造化された形式で読み取ります
megalinter_get_issue_summary分析問題の合計数と失敗数の多いリンターを要約します
megalinter_get_security_recommendations分析シフトレフトのための実践的なセキュリティ対策を提示します

ツール

megalinter_quick_action

短いリクエストを受け付け、適切なワークフローに振り分けるインタラクティブなショートカットです。

入力:

  • request(string、任意):短い指示です。デフォルト:quick scan。
  • action(string、任意):明示的なクイックアクション(scan、config、flavors、linters、security、reporters、parse、summary、recommendations)。
  • scanMode(string、任意):スキャンのプリセット(quick、full、security、fix)。
  • target(string、任意):スキャン対象のディレクトリです。デフォルト:.。
  • workingDirectory(string、任意):コマンドの作業ディレクトリです。
  • reportsPath(string、任意):レポートのディレクトリです。デフォルト:megalinter-reports。
  • reportType(string、任意):解析形式(json または sarif)。
  • severity(string、任意):概要のフィルター(error、warning、info)。
  • language(string、任意):リンターの検索に使用する言語フィルターです。スキャンの場合は、フレーバーのヒント(python、javascript、terraform など)に対応付けられます。
  • securityOnly(boolean、任意):リンターの検索ではセキュリティリンターのみを返します。スキャンの場合は、フレーバーを security に固定します。
  • autoFixOnly(boolean、任意):リンターの検索では自動修正に対応するリンターのみを返します。
  • timeoutMinutes(number、任意):スキャンアクションのタイムアウトです。デフォルト:20。
  • summaryOnly(boolean、任意):スキャンの簡潔な出力を返します。デフォルト:true。
  • flavor(string、任意):スキャンアクションの任意のフレーバー上書きです。
  • fix(boolean、任意):スキャンアクションで自動修正を強制します。
  • targetPath(string、任意):write-config リクエストの設定出力パスです。

例:

  • request: "quick scan" -> 変更されたファイルに対して ci_light を実行します。
  • request: "full scan" -> all フレーバーを実行します。
  • request: "security scan" -> security フレーバーを実行します。
  • request: "summarise errors" -> エラーに絞り込んだ問題の概要を返します。
  • request: "parse sarif report" -> SARIF 出力を解析します。
  • action: "summary", severity: "error" -> フレーズ解析を行わず、決定的な概要を返します。
  • action: "scan", scanMode: "security" -> 決定的なセキュリティスキャンを実行します。
scan(非常に短いエイリアス)

入力を最小限にしてクイックスキャンを実行します。カスタマイズ用の任意パラメーターを受け付けます。

入力:

  • language(string、任意):フレーバーに対応付けられる対象言語(例:python、javascript、terraform)。
  • scanMode(string、任意):スキャンのプリセット(quick、full、security、fix)。デフォルト:quick。
  • summaryOnly(boolean、任意):簡潔な出力を返します。デフォルト:true。

例:@megalinter scan は、簡潔な出力でクイックスキャンを実行します。

summary(超短縮エイリアス)

最小限の入力で、直近の MegaLinter 実行時のエラーを要約します。

入力:

  • severity(文字列、任意):重要度で絞り込みます(error、warning、info)。
  • linterFilter(文字列、任意):リンター名で絞り込みます。

例:@megalinter summary を実行すると、エラーと警告の合計がすべて表示されます。

parse(超短縮エイリアス)

最小限の入力で、MegaLinter のレポートファイルを解析します。

入力:

  • reportType(文字列、任意):レポート形式(json または sarif)。デフォルト:json。
  • reportsPath(文字列、任意):レポートディレクトリのパス。

例:@megalinter parse を実行すると、JSON レポートが解析されます。

megalinter_help_quick

現在のリポジトリに応じたヘルプを表示します。言語、フレームワーク、Docker、Terraform、セキュリティ関連のファイルを検出し、関連するコマンドを提案します。

入力は不要です。

例:@megalinter help_quick を実行すると、プロジェクトに合わせた提案が返されます。

megalinter_run

引数を細かく制御する必要がある場合は、このツールを使用してください。短いプロンプトでは、megalinter_quick_action を優先してください。

npx を介して mega-linter-runner を実行します。

入力:

  • workingDirectory(文字列、任意):コマンドの作業ディレクトリ。デフォルトは現在のプロセスのディレクトリです。
  • path(文字列、任意):リンティング対象のディレクトリパス。
  • flavor(文字列、任意):MegaLinter のフレーバー。デフォルト:all。
  • release(文字列、任意):MegaLinter イメージのタグ。デフォルト:v9。
  • image(文字列、任意):Docker イメージの完全な上書き指定。
  • env(文字列、任意):--env に渡す環境変数の文字列。
  • fix(ブール値、任意):自動修正を適用します。
  • help(ブール値、任意):mega-linter-runner のヘルプを表示します。
  • install(ブール値、任意):MegaLinter のスターター設定を生成します。
  • containerName(文字列、任意):Docker コンテナー名の上書き指定。
  • removeContainer(ブール値、任意):実行後にコンテナーを削除します。
  • configFile(文字列、任意):.mega-linter.yml のパス。
  • reportsPath(文字列、任意):レポートディレクトリ。デフォルト:megalinter-reports。
  • disableLinters(文字列、任意):無効にするリンターをコンマ区切りで指定します。
  • lintChangedFilesOnly(ブール値、任意):true の場合、VALIDATE_ALL_CODEBASE=false を設定します。
  • runnerVersion(文字列、任意):mega-linter-runner の npm バージョン(例:latest)。
  • timeoutSeconds(数値、任意):タイムアウト時間(秒)。デフォルト:3600。
  • summaryOnly(ブール値、任意):簡潔なログを返します。デフォルト:false。
  • extraArgs(文字列[]、任意):追加の CLI 引数。
megalinter_write_config

最小限の MegaLinter 設定を書き込みます。

入力:

  • targetPath(文字列、任意):出力ファイルのパス。デフォルト:.mega-linter.yml。
  • applyFixes(文字列、任意):APPLY_FIXES の値。デフォルト:none。
  • showElapsedTime(ブール値、任意):SHOW_ELAPSED_TIME の値。デフォルト:true。
  • flavorSuggestions(ブール値、任意):FLAVOR_SUGGESTIONS の値。デフォルト:false。
  • disableLinters(文字列[]、任意):DISABLE_LINTERS の値。
megalinter_list_flavors

一般的な組み込みフレーバー(all、javascript、python、terraform など)の一覧を返します。

megalinter_get_linters

組み込みカタログからリンターのメタデータを返し、条件を指定した絞り込みにも対応します。

入力:

  • language(文字列、任意):言語で絞り込みます(例:python、javascript、terraform)。
  • securityOnly(ブール値、任意):セキュリティに特化したリンターのみを返します。
  • autoFixOnly(ブール値、任意):自動修正機能を備えたリンターのみを返します。
megalinter_get_security_info

SAST、シークレット、サプライチェーン、コンテナー、インフラストラクチャなどのカテゴリ別に、セキュリティリンターを返します。

入力:

  • なし。
megalinter_get_reporters

CI 向けの形式を含む、利用可能な MegaLinter レポーターを返します。

入力:

  • なし。
megalinter_parse_reports

レポートディレクトリから MegaLinter のレポートファイルを解析します。

入力:

  • reportsPath(string、任意):レポートディレクトリのパス。デフォルト:megalinter-reports。
  • reportType(string、任意):レポートの種類(json または sarif)。デフォルト:json。
megalinter_get_issue_summary

megalinter-report.json の問題を要約し、重大度やリンターでフィルタリングできます。

入力:

  • reportsPath(string、任意):レポートディレクトリのパス。デフォルト:megalinter-reports。
  • severityFilter(string、任意):重大度(error、warning、info)で結果をフィルタリングします。
  • linterFilter(string、任意):リンター名で結果をフィルタリングします。
megalinter_get_security_recommendations

解析済みのレポートデータで有効なリンターに基づいて、セキュリティに関する推奨事項を生成します。

入力:

  • reportsPath(string、任意):レポートディレクトリのパス。デフォルト:megalinter-reports。

プロンプト集

@megalinter を使って、Copilot Chat で以下のプロンプトをコピーして貼り付けてください。 パスが指定されていない場合、CLI ツールは現在のワークスペースのルートをデフォルトで使用します。 Copilot のコンテキストとしてファイルまたはフォルダー(#file または #folder)を追加した場合は、プロンプトでそれを参照してください。ツールはそのパスを対象にします。

クイックアクション(megalinter_quick_action)
@megalinter quick scan
@megalinter full scan
@megalinter security scan
@megalinter summarise errors
@megalinter parse sarif report
@megalinter write config

期待される出力:各短いリクエストを、適切なデフォルト設定で正しいツールに振り分けます。

明示的なアクションフィールドを使った、決定的な代替方法:

@megalinter run quick action with action summary and severity error
@megalinter run quick action with action parse and reportType sarif
@megalinter run quick action with action scan and scanMode security
MegaLinter を実行(megalinter_run)
@megalinter run megalinter with flavor all on . with reports in megalinter-reports

期待される出力:リンターを実行し、すべての言語で見つかった問題を報告します。JSON、SARIF、テキスト形式のレポートを含む megalinter-reports/ を作成します。

設定を作成(megalinter_write_config)
@megalinter create a MegaLinter config at .mega-linter.yml

期待される出力:指定された設定を含み、カスタマイズ可能な .mega-linter.yml を作成します。

フレーバーを一覧表示(megalinter_list_flavors)
@megalinter list all available MegaLinter flavors

期待される出力:フレーバー(all、python、javascript、go など)を、説明とユースケースとともに一覧表示します。

リンターを検索(megalinter_get_linters)
@megalinter list python security linters with autofix support

期待される出力:現在のカタログから、Python 関連および多言語対応のセキュリティリンターのうち、自動修正に対応するもの(クエリに一致する場合)を絞り込んで一覧表示します。

セキュリティカテゴリ(megalinter_get_security_info)
@megalinter show MegaLinter security linter categories

期待される出力:セキュリティカテゴリ(例:sast、secrets、supply-chain、container、infrastructure)と、それに関連するリンター(gitleaks、trivy など)を一覧表示します。

レポーターを一覧表示(megalinter_get_reporters)
@megalinter list available MegaLinter reporters

期待される出力:有効化方法とともに、レポーター(console、json、sarif、github-comment など)を一覧表示します。

レポートを解析(megalinter_parse_reports)
@megalinter parse the json report from megalinter-reports

期待される出力:解析済みの MegaLinter JSON または SARIF レポートの内容を構造化データとして返します(生のレポートペイロード)。

問題の要約(megalinter_get_issue_summary)
@megalinter summarise issues from megalinter-reports with severity error

期待される出力:重大度とリンターの入力でフィルタリングした問題の要約を、合計数と実行回数とともにリンターごとに集計します。

セキュリティに関する推奨事項(megalinter_get_security_recommendations)
@megalinter generate security recommendations using megalinter-reports

期待される出力:重大度の高い順に優先順位を付けた、実行可能なセキュリティ推奨事項を、リンター名、ルール ID、推奨される次の手順とともに提示します。

依存関係

システム依存関係
  • Node.js >=24.0.0
  • npm(Node.js に同梱)
  • Docker Engine または Docker Desktop(megalinter_run の実行時に起動している必要があります)
  • Colima などの任意のローカルコンテナランタイムラッパー
npm 依存関係

実行時:

  • @modelcontextprotocol/sdk(MCP サーバー SDK)

開発時:

  • typescript(ビルド/コンパイル)
  • tsx(開発用ランナー)
  • @types/node(Node.js の型定義)

実行時の注意:

  • mega-linter-runner は実行時に npx 経由で実行され、ツール入力の runnerVersion でバージョンを固定できます。

インストール

npm install
npm run build

設定

VS Code Copilot Chat での使用方法

このワークスペースは .vscode/mcp.json で事前設定されています。

{
  "servers": {
    "megalinter": {
      "type": "stdio",
      "command": "node",
      "args": ["./dist/index.js"]
    }
  }
}

MCP の設定を変更した後は、VS Code を再読み込みしてください(Cmd+Shift+P → Developer: Reload Window)。

次に、Copilot Chat で @megalinter を使ってサーバーに問い合わせます。例:

@megalinter list available flavors
@megalinter list security linters for javascript
その他の MCP クライアントでの使用方法

コンパイル済みのエントリーポイントを実行する stdio サーバー設定を使用します。

{
  "name": "megalinter-mcp-server",
  "type": "stdio",
  "command": "node",
  "args": ["/absolute/path/to/megalinter-mcp/dist/index.js"]
}

まず npm run build でビルドしてから、MCP クライアントを起動します。

実行方法

npm start

開発モード:

npm run dev

デバッグ

.vscode/launch.json を使用します。

  • Debug MCP Server(npm run dev を実行)
  • Debug MCP Server (Built)(ビルド後に dist/index.js を実行)

src/index.ts にブレークポイントを設定し、F5 を押します。

テスト

Copilot Chat のシナリオ、手動での JSON-RPC チェック、トラブルシューティングのガイダンスについては、docs/TESTING.md を参照してください。

Copilot Chat での簡易検証プロンプト:

@megalinter list available flavors

対話型 VS Code ワークフロー

1. セキュリティトリアージのシフトレフト
  1. Copilot にスキャンの実行を依頼します。
@megalinter run megalinter on this repository with reports enabled
  1. 生成されたレポートを解析します。
@megalinter parse the json report in megalinter-reports
  1. 要約して優先順位を付けます。
@megalinter summarise error-level issues and top failing linters
  1. セキュリティに関するガイダンスを依頼します。
@megalinter generate security recommendations from the current report
2. 言語別リンターの導入
  1. 使用している技術スタックに対応するリンターを確認します。
@megalinter list python security linters with autofix support
  1. 初期設定を生成します。
@megalinter create a megalinter config file with apply fixes set to none
  1. 適さないリンターを無効にして、調整を繰り返します。
3. CI/CD レポーターの選択
  1. レポーターの一覧を表示します。
@megalinter list available reporters
  1. パイプラインに適した形式を選択します(たとえば、セキュリティツールには SARIF、人が読みやすい要約には Markdown)。
ベストプラクティス
  • まず megalinter_write_config を使い、その後、ルールを少しずつ厳しくします。
  • 素早いフィードバックループでは lintChangedFilesOnly を使用し、CI では全件スキャンを実行します。
  • 下流の分析ツールが常に既知の場所から読み取れるよう、reportsPath を固定します。
  • トリアージでは、レポート全体の出力を求める前に megalinter_get_issue_summary を使用します。
  • シフトレフトの対応範囲を維持するため、定期的に megalinter_get_security_recommendations を実行します。

その他のユースケース

  • マージ前の品質ゲート:PR チェックで megalinter_run を実行し、SARIF 出力を公開します。
  • リポジトリ導入パック:megalinter_get_linters と megalinter_list_flavors を使って、すばやくベースラインを選択します。
  • セキュリティベースラインのレポート作成:megalinter_parse_reports と megalinter_get_issue_summary を組み合わせて、定期的なスナップショットを作成します。
  • コンプライアンスの証跡:生成されたレポートと要約を CI アーティファクトとして保存し、監査証跡にします。
  • 開発者のセルフサービス:コントリビューターが Copilot Chat を通じて、利用可能なリンターやレポーターを直接確認できるようにします。

関連プロジェクト

MegaLinter 公式リソース
CI/CD インテグレーション
Model Context Protocol

コミュニティとコントリビューション

帰属およびライセンス

Down At The Bottom Of The Mole Hole 組織のもと、Carl Dawson がメンテナンスしています。

MIT License のもとでライセンスされています。MegaLinter は Ox Security が管理しています。

コメント

MCP は初めてですか?

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

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