MCP Server Semgrep

MCP Server Semgrep

site icon
2025.03.20 11
JavaScript代码静态分析工具安全漏洞检测平台代码质量改进助手开发效率
MCP Server Semgrep 是一个符合 Model Context Protocol 标准的服务器,集成了强大的 Semgrep 静态分析工具与 AI 助手(如 Anthropic Claude)。它通过对话界面提供高级代码分析、安全漏洞检测和代码质量改进功能。 ### 产品定位 - 代码静态分析工具 - 安全漏洞检测平台 - 代码质量改进助手 ### 核心功能 1. 集成 Semgrep 静态分析工具 2. 提供多种代码分析工具 3. 支持自定义规则创建 4. 跨平台兼容性 5. 多语言支持(英语和波兰语) ### 适用场景 - 代码安全分析 - 编程错误检测 - 编码标准执行 - 代码重构和质量改进 - 开发者教育
View on GitHub

Overview

基本能力

核心功能

  • 目录扫描:扫描源代码查找潜在问题
  • 规则列表:显示 Semgrep 支持的规则和语言
  • 结果分析:详细分析扫描结果
  • 规则创建:创建自定义 Semgrep 规则
  • 结果过滤:按各种条件过滤结果
  • 结果导出:以多种格式导出结果
  • 结果比较:比较两组结果(如更改前后)

使用场景

  • 部署前的代码安全分析
  • 常见编程错误检测
  • 团队内编码标准执行
  • 现有代码重构和质量改进
  • 样式和代码结构不一致识别
  • 开发者最佳实践教育
  • 修复正确性验证

工具列表

  1. scan_directory:扫描源代码查找潜在问题
  2. list_rules:显示可用规则和支持的语言
  3. analyze_results:详细分析扫描结果
  4. create_rule:创建自定义 Semgrep 规则
  5. filter_results:按各种条件过滤结果
  6. export_results:以多种格式导出结果
  7. compare_results:比较两组扫描结果

常见问题解答

  1. Semgrep 未安装:安装过程中会自动检查 Semgrep 是否安装,若未安装会提供安装指导
  2. 跨平台兼容性:支持 Windows、macOS 和 Linux 系统
  3. 语言支持:提供英语和波兰语界面和文档

使用教程

使用依赖

  • Node.js v18+
  • TypeScript(用于开发)

安装教程

推荐安装方式(通过 Smithery.ai)

  1. 访问 MCP Server Semgrep on Smithery.ai
  2. 按照安装说明将其添加到 MCP 兼容客户端
  3. 配置可选设置,如 Semgrep API 令牌

其他安装方式

# 使用 npm
npm install -g mcp-server-semgrep

# 使用 pnpm
pnpm add -g mcp-server-semgrep

# 使用 yarn
yarn global add mcp-server-semgrep

本地开发设置

  1. 克隆仓库:
git clone https://github.com/Szowesgad/mcp-server-semgrep.git
cd mcp-server-semgrep
  1. 安装依赖:
# 使用 pnpm(推荐)
pnpm install

# 使用 npm
npm install

# 使用 yarn
yarn install
  1. 构建项目:
# 使用 pnpm
pnpm run build

# 使用 npm
npm run build

# 使用 yarn
yarn build

Semgrep 安装选项

# 使用 npm
npm install -g semgrep

# 使用 pip
pip install semgrep

# 使用 Homebrew(macOS)
brew install semgrep

# 使用 Linux apt-get
sudo apt-get install semgrep

调试方式

# 运行测试
pnpm test

与 Claude Desktop 集成

推荐方法(通过 Smithery.ai)

  1. 访问 MCP Server Semgrep on Smithery.ai
  2. 点击 "Install in Claude Desktop"
  3. 按照屏幕上的说明操作

手动配置

  1. 安装 Claude Desktop
  2. 更新 Claude Desktop 配置文件 (claude_desktop_config.json),在 servers 部分添加:
{
  "mcpServers": {
    "semgrep": {
      "command": "node",
      "args": [
        "/your_path/mcp-server-semgrep/build/index.js"
      ],
        "env": {
          "SEMGREP_APP_TOKEN": "your_semgrep_app_token"
      }
    }
  }
}
  1. 启动 Claude Desktop 并开始询问有关代码分析的问题!

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。