MegaLinter MCP服务器
Down At The Bottom Of The Mole Hole banner
注: 这是一个由社区维护的MCP服务器。它不是官方的模型上下文协议服务器,但它是 受到牛安全公司的制裁 作为其官方MegaLinter工具的补充。
  ](https://registry.npmjs.org/@downatthebottomofthemolehole/megalinter-mcp-server)  ](https://nodejs.org/)
用于运行的模型上下文协议(MCP)服务器 牛安全MegaLinter 通过 mega-linter-runner.适用于任何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按语言、安全重点和自动修复功能发现可用的linter。megalinter_get_security_info按威胁类别对安全入侵者进行分组。megalinter_get_reporters列出支持的报告输出格式和CI目标报告器。megalinter_parse_reports解析JSON或SARIF报告工件。megalinter_get_issue_summary按linter和严重程度汇总报告问题。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操作 --与工作流集成
- ✅ GitLab CI/CD --在GitLab管道中使用
- ✅ Azure DevOps --在Azure管道中运行
- ✅ CircleCI、Jenkins、Bitbucket管道 --任何支持Docker的CI/CD平台
- ✅ 人工智能代理和复制品 --通过MCP进行自动代码质量检查
唯一的要求是Docker(或兼容的容器运行时,如Colima)。
工具矩阵
| 工具 | 类别 | 典型结果 |
|---|---|---|
megalinter_quick_action | 交互式 | 使用默认值处理简短的自然请求 |
scan | 别名 | 用于快速扫描的超短别名 |
summary | 别名 | 错误摘要的超短别名 |
parse | 别名 | 用于报表解析的超短别名 |
help_quick | 别名 | 用于上下文感知帮助的超短别名 |
megalinter_help_quick | 帮助 | 针对项目的上下文感知建议 |
megalinter_run | 执行 | 运行linting并生成报告工件 |
megalinter_write_config | 配置 | 生成基线 .mega-linter.yml |
megalinter_list_flavors | 发现 | 确定适合你的口味 |
megalinter_get_linters | 发现 | 按语言、安全性和自动修复支持筛选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(字符串,可选):简短指令。违约:quick scan.action(字符串,可选):显式快速操作(scan,config,flavors,linters,security,reporters,parse,summary,recommendations).scanMode(字符串,可选):扫描预设(quick,full,security,fix).target(字符串,可选):要扫描的目录。违约:..workingDirectory(string,可选):命令工作目录。reportsPath(字符串,可选):报告目录。违约:megalinter-reports.reportType(字符串,可选):解析格式(json或sarif).severity(字符串,可选):摘要筛选器(error,warning,info).language(字符串,可选):用于linter查询的语言过滤器。对于扫描,映射到风味提示(python,javascript,terraform和类似)。securityOnly(boolean,可选):在linter查询中仅返回安全linter。对于扫描,力security风味。autoFixOnly(boolean,可选):仅返回linter查询中的自动修复linter。timeoutMinutes(数字,可选):扫描操作超时。违约:20.summaryOnly(boolean,可选):返回扫描的简洁输出。违约:true.flavor(string,可选):扫描操作的可选风味覆盖。fix(布尔值,可选):强制自动修复扫描操作。targetPath(string,可选):配置写入配置请求的输出路径。
示例:
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(字符串,可选):映射到风味的目标语言(例如。,python,javascript,terraform).scanMode(字符串,可选):扫描预设(quick,full,security,fix).违约:quick.summaryOnly(boolean,可选):返回简洁的输出。违约:true.
例子: @megalinter scan 以简洁的输出运行快速扫描。
summary (超短别名)
用最少的输入总结上次MegaLinter运行的错误。
输入:
severity(字符串,可选):按严重性筛选(error,warning,info).linterFilter(string,可选):按门楣名称过滤。
例子: @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.
跑 mega-linter-runner 通过 npx.
输入:
workingDirectory(string,可选):命令工作目录。默认为当前进程目录。path(字符串,可选):lint的目录路径。flavor(字符串,可选):MegaLinter风味。违约:all.release(字符串,可选):MegaLinter图像标签。违约:v9.image(string,可选):完全Docker镜像覆盖。env(string,可选):传递给的环境变量字符串--env.fix(布尔值,可选):应用自动修复。help(布尔值,可选):显示mega-linter-runner帮助。install(布尔值,可选):生成MegaLinter启动器配置。containerName(string,可选):Docker容器名称覆盖。removeContainer(boolean,可选):运行后删除容器。configFile(字符串,可选):路径.mega-linter.yml.reportsPath(字符串,可选):报告目录。违约:megalinter-reports.disableLinters(字符串,可选):要禁用的逗号分隔的过梁列表。lintChangedFilesOnly(布尔值,可选):集合VALIDATE_ALL_CODEBASE=false如果是真的。runnerVersion(string,可选):npm版本mega-linter-runner(例如latest).timeoutSeconds(数字,可选):超时秒数。违约:3600.summaryOnly(boolean,可选):返回简洁的日志。违约:false.extraArgs(string\[\],可选):其他CLI参数。
megalinter_write_config
写入最小的MegaLinter配置。
输入:
targetPath(字符串,可选):输出文件路径。违约:.mega-linter.yml.applyFixes(字符串,可选):值APPLY_FIXES默认值:none.showElapsedTime(boolean,可选):值SHOW_ELAPSED_TIME默认值:true.flavorSuggestions(boolean,可选):值FLAVOR_SUGGESTIONS默认值:false.disableLinters(string\[\],可选):的值DISABLE_LINTERS.
megalinter_list_flavors
返回常见口味的内置列表(all, javascript, python, terraform和其他)。
megalinter_get_linters
从内置目录返回linter元数据,并支持有针对性的过滤。
输入:
language(字符串,可选):按语言筛选(例如python,javascript,terraform).securityOnly(boolean,可选):仅返回以安全为重点的linters。autoFixOnly(boolean,可选):仅返回具有自动修复功能的过梁。
megalinter_get_security_info
返回按SAST、机密、供应链、容器和基础设施等类别分组的安全信息。
输入:
- 没有。
megalinter_get_reporters
返回可用的MegaLinter报告器,包括CI目标格式。
输入:
- 没有。
megalinter_parse_reports
从报告目录解析MegaLinter报告文件。
输入:
reportsPath(字符串,可选):报告目录路径。违约:megalinter-reports.reportType(字符串,可选):报告类型(json或sarif).违约:json.
megalinter_get_issue_summary
总结以下问题 megalinter-report.json 并且可以应用严重性/短绒过滤器。
输入:
reportsPath(字符串,可选):报告目录路径。违约:megalinter-reports.severityFilter(字符串,可选):按严重性筛选结果(error,warning,info).linterFilter(字符串,可选):按门楣名称筛选结果。
megalinter_get_security_recommendations
基于解析后的报告数据中的活动linter生成安全建议。
输入:
reportsPath(字符串,可选):报告目录路径。违约:megalinter-reports.
提示食谱
在Copilot Chat中使用这些复制/粘贴提示 @megalinter. 当没有给出路径时,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期望输出:执行linters并报告所有语言中发现的问题。创造 megalinter-reports/ 使用JSON、SARIF和文本报告。
创建配置(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期望输出:具有激活方法的报告者列表(控制台、json、sarif、github评论等)。
解析报告(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期望输出:按严重程度和linter输入过滤的问题摘要,按linter与总计和运行计数汇总。
安全建议(megalinter_get_security_recommendations)
@megalinter generate security recommendations using megalinter-reports期望输出:可操作的安全建议,按严重程度排序,包括linter名称、规则ID和建议的后续步骤。
依赖项
系统依赖
- Node.js
>=24.0.0 - npm(与Node.js捆绑在一起)
- Docker引擎或Docker桌面(必须正在运行
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聊天
此工作区已在中预配置 .vscode/mcp.json:
{
"servers": {
"megalinter": {
"type": "stdio",
"command": "node",
"args": ["./dist/index.js"]
}
}
}重新加载VS代码(Cmd+Shift+P → Developer: Reload Window)在更改MCP配置后。
然后通过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.
测试
看 docs/TEST.md 用于Copilot聊天场景、手动JSON-RPC检查和故障排除指导。
Copilot聊天中的快速验证提示:
@megalinter list available flavors交互式VS代码工作流
1.左移安全分类
- 让Copilot运行扫描:
@megalinter run megalinter on this repository with reports enabled- 解析生成的报告:
@megalinter parse the json report in megalinter-reports- 总结并确定优先顺序:
@megalinter summarise error-level issues and top failing linters- 请求安全指导:
@megalinter generate security recommendations from the current report2.语言特定的Linter入职培训
- 为您的堆叠找到过梁:
@megalinter list python security linters with autofix support- 生成启动器配置:
@megalinter create a megalinter config file with apply fixes set to none- 禁用不合适的过梁并迭代。
3.CI/CD报告器选择
- 记者名单:
@megalinter list available reporters- 为您的管道选择格式(例如用于安全工具的SARIF,用于人类可读摘要的Markdown)。
最佳实践
- 从...开始
megalinter_write_config,然后逐步收紧规则。 - 使用
lintChangedFilesOnly在CI中的快速反馈循环和全扫描期间。 - 保持
reportsPath稳定,因此下游分析工具总是从已知位置读取。 - 更喜欢
megalinter_get_issue_summary在请求完整报告转储之前进行分类。 - 跑
megalinter_get_security_recommendations定期保持左移覆盖。
其他用例
- 合并前质量门:运行
megalinter_run在PR检查中,发布SARIF输出。 - 回购入职培训包:使用
megalinter_get_linters和megalinter_list_flavors快速选择基线。 - 安全基线报告:合并
megalinter_parse_reports和megalinter_get_issue_summary用于重复快照。 - 合规性证据:将生成的报告和摘要存储为CI工件,以便进行审计跟踪。
- 开发人员自助服务:让贡献者直接通过Copilot Chat查询可用的过客/记者。
相关项目
MegaLinter官方资源
- MegaLinter网站 --全面的文档和配置指南
- MegaLinter存储库 --源代码和问题跟踪
- 巨型过梁转轮 --此服务器使用的npm包
CI/CD集成
- MegaLinter Azure DevOps扩展 --ADO任务由同一作者完成(也受到Ox Security的制裁)
- GitHub操作:使用MegaLinter官方
- GitLab CI/CD:见 MegaLinter GitLab集成文档
- Jenkins、CircleCI和其他人:在任何CI/CD管道中通过Docker运行MegaLinter
模型上下文协议
社区与贡献
归属和许可
由卡尔·道森维护 在鼹鼠洞的底部 组织。
根据MIT许可证获得许可。MegaLinter由以下公司管理 牛安全.
