项目简介
Semgrep MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它集成了 Semgrep 静态代码分析工具,允许开发者通过 MCP 协议在开发环境中使用 Semgrep 进行代码扫描、规则管理和结果分析。
主要功能点
- 代码扫描: 可以扫描指定目录中的代码,使用 Semgrep 进行静态代码分析,并返回扫描结果。
- 规则管理: 支持列出 Semgrep 规则、创建自定义规则。
- 结果分析: 能够分析 Semgrep 扫描结果,包括结果过滤、导出和比较。
- 工具集成: 通过 MCP 协议提供标准化的接口,方便集成到各种支持 MCP 协议的客户端,例如代码编辑器或 IDE。
安装步骤
- 克隆仓库:
git clone [repository-url] cd semgrep-mcp-server - 安装依赖:
npm install - 构建项目:
npm run build
服务器配置
MCP 客户端需要配置以下信息以连接到 Semgrep MCP Server:
{ "serverName": "semgrep-server", "command": "npm", "args": ["start"] // 或者使用开发模式启动: // "args": ["run", "dev"] }
配置参数说明:
- 'serverName': 服务器名称,设置为 "semgrep-server"。
- 'command': 启动服务器的命令,这里使用 'npm' (Node 包管理器)。
- 'args': 启动命令的参数。
- '["start"]': 在生产模式下启动服务器 (执行 'npm start' 命令)。
- '["run", "dev"]': 在开发模式下启动服务器 (执行 'npm run dev' 命令)。 开发模式可能提供额外的日志或调试功能。
注意: 确保你的系统已安装 Node.js 和 npm,并且 Semgrep MCP Server 仓库的依赖已正确安装。首次运行时,服务器会自动检查并安装 Semgrep 工具,但可能需要 Python 和 pip3 环境。
基本使用方法
-
启动服务器: 根据上述配置,在 MCP 客户端中启动 Semgrep MCP Server。
-
调用工具: 在 MCP 客户端中,你可以调用以下工具来使用 Semgrep 的功能:
- 'scan_directory': 扫描指定目录的代码。
- 'list_rules': 列出可用的 Semgrep 规则。
- 'analyze_results': 分析 Semgrep 扫描结果文件。
- 'create_rule': 创建新的 Semgrep 规则。
- 'filter_results': 过滤扫描结果。
- 'export_results': 导出扫描结果到不同格式。
- 'compare_results': 比较两次扫描结果。
每个工具的具体参数和使用方法,请参考仓库 'README.md' 文件或源代码中的工具定义 (inputSchema)。
信息
分类
开发者工具