项目简介

Semgrep MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它集成了 Semgrep 静态代码分析工具,允许开发者通过 MCP 协议在开发环境中使用 Semgrep 进行代码扫描、规则管理和结果分析。

主要功能点

  • 代码扫描: 可以扫描指定目录中的代码,使用 Semgrep 进行静态代码分析,并返回扫描结果。
  • 规则管理: 支持列出 Semgrep 规则、创建自定义规则。
  • 结果分析: 能够分析 Semgrep 扫描结果,包括结果过滤、导出和比较。
  • 工具集成: 通过 MCP 协议提供标准化的接口,方便集成到各种支持 MCP 协议的客户端,例如代码编辑器或 IDE。

安装步骤

  1. 克隆仓库:
    git clone [repository-url]
    cd semgrep-mcp-server
  2. 安装依赖:
    npm install
  3. 构建项目:
    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 环境。

基本使用方法

  1. 启动服务器: 根据上述配置,在 MCP 客户端中启动 Semgrep MCP Server。

  2. 调用工具: 在 MCP 客户端中,你可以调用以下工具来使用 Semgrep 的功能:

    • 'scan_directory': 扫描指定目录的代码。
    • 'list_rules': 列出可用的 Semgrep 规则。
    • 'analyze_results': 分析 Semgrep 扫描结果文件。
    • 'create_rule': 创建新的 Semgrep 规则。
    • 'filter_results': 过滤扫描结果。
    • 'export_results': 导出扫描结果到不同格式。
    • 'compare_results': 比较两次扫描结果。

    每个工具的具体参数和使用方法,请参考仓库 'README.md' 文件或源代码中的工具定义 (inputSchema)。

信息

分类

开发者工具