AI Auditor MCP 服务器套件
使用说明
-
项目简介
- 该仓库实现了两台独立的 MCP 服务器:AI Auditor 的“扫描器服务器(Scanner MCP)”用于执行静态分析、依赖检查、代码审计等工具并输出聚合后的发现;以及“报告服务器(Reporter MCP)”用于基于发现生成合规报告(Markdown/SARIF),并可供 LLM 客户端调用。两台服务器通过 MCP 标准的 Request/Response 机制对接客户端,支持 ListTools 与 CallTool 等常见请求。
-
主要功能点
- 扫描器服务器:暴露工具集合,例如 run_sast_scan、run_dep_scan、run_dast_scan 等,执行 Semgrep、Trivy、DAST、Gitleaks、Evidence 等扫描并返回结构化结果。
- 报告服务器:提供生成合规报告的工具,支持输出 Markdown 和 SARIF 格式,并按 CASA、CISSP、SOC2 等配置生成相应报告。
- 支持 JSON-RPC 的请求/响应模式,便于与 LLM 客户端集成。
- 集成了抗污染的结果聚合、去重与等级映射逻辑,提供可读性强的报告。
-
安装步骤
- 安装依赖并构建工作区(Monorepo),如项目根目录执行相应的安装与构建命令。
- 分别启动两台 MCP 服务器:
- Scanner MCP:在仓库内找到 mcp-scanner 模块的入口脚本,使用 Node 直接运行其 dist 产物(例如 node packages/mcp-scanner/dist/index.js)。
- Reporter MCP:在仓库内找到 mcp-reporter 模块的入口脚本,使用 Node 直接运行其 dist 产物(例如 node packages/mcp-reporter/dist/index.js)。
- 启动后两端通过 MCP 客户端配置进行连接与交互。
-
服务器配置(MCP 客户端需要的配置信息,JSON 格式,包含 server name、command、args)
说明:以下配置用于 MCP 客户端在本地通过标准输入输出(stdio)方式启动对应的 MCP 服务器进程并连接。每条配置对应一个服务器实例,serverName 与实际启动脚本路径需要按项目结构正确设置。-
Scanner MCP 配置示例 { "serverName": "ai-auditor-scanner", "command": "node", "args": ["packages/mcp-scanner/dist/index.js"], "description": "AI Auditor 扫描器 MCP 服务器(用于执行 SAST/依赖/证据等扫描)" }
-
Reporter MCP 配置示例 { "serverName": "ai-auditor-reporter", "command": "node", "args": ["packages/mcp-reporter/dist/index.js"], "description": "AI Auditor 报告生成 MCP 服务器(根据发现生成 Markdown/SARIF 报告)" }
注释说明
- serverName 用于标识该 MCP 服务器的名称,clients 在对接时以该名称进行识别。
- command 为启动服务器的命令,这里固定为 node。
- args 指向 MCP 服务器入口脚本的相对路径,需指向 dist/index.js 产物(构建后的产物)。
- 以上配置仅用于 MCP 客户端启动服务器的演示,实际使用中请将路径和名称调整为实际环境中的路径结构。
-
-
基本使用方法
- 在具备 Node.js 环境的前提下,先安装并构建整个工作区,然后分别启动 Scanner MCP 与 Reporter MCP。
- 客户端(通常是集成在 LLM 应用中的 MCP 客户端)通过指定 serverName、对应的启动命令和参数来启动并连接到这两台 MCP 服务器,之后可以通过 ListTools 获取工具列表,通过 CallTool 调用具体的工具并获取结果,进而由 AI Auditor 的流程进行整合和报告生成。
- 使用时可结合示例命令或集成脚本完成自动化对接与工作流编排。