
MCP Server Semgrep

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 规则
- 结果过滤:按各种条件过滤结果
- 结果导出:以多种格式导出结果
- 结果比较:比较两组结果(如更改前后)
使用场景
- 部署前的代码安全分析
- 常见编程错误检测
- 团队内编码标准执行
- 现有代码重构和质量改进
- 样式和代码结构不一致识别
- 开发者最佳实践教育
- 修复正确性验证
工具列表
- scan_directory:扫描源代码查找潜在问题
- list_rules:显示可用规则和支持的语言
- analyze_results:详细分析扫描结果
- create_rule:创建自定义 Semgrep 规则
- filter_results:按各种条件过滤结果
- export_results:以多种格式导出结果
- compare_results:比较两组扫描结果
常见问题解答
- Semgrep 未安装:安装过程中会自动检查 Semgrep 是否安装,若未安装会提供安装指导
- 跨平台兼容性:支持 Windows、macOS 和 Linux 系统
- 语言支持:提供英语和波兰语界面和文档
使用教程
使用依赖
- Node.js v18+
- TypeScript(用于开发)
安装教程
推荐安装方式(通过 Smithery.ai)
- 访问 MCP Server Semgrep on Smithery.ai
- 按照安装说明将其添加到 MCP 兼容客户端
- 配置可选设置,如 Semgrep API 令牌
其他安装方式
# 使用 npm
npm install -g mcp-server-semgrep
# 使用 pnpm
pnpm add -g mcp-server-semgrep
# 使用 yarn
yarn global add mcp-server-semgrep
本地开发设置
- 克隆仓库:
git clone https://github.com/Szowesgad/mcp-server-semgrep.git
cd mcp-server-semgrep
- 安装依赖:
# 使用 pnpm(推荐)
pnpm install
# 使用 npm
npm install
# 使用 yarn
yarn install
- 构建项目:
# 使用 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)
- 访问 MCP Server Semgrep on Smithery.ai
- 点击 "Install in Claude Desktop"
- 按照屏幕上的说明操作
手动配置
- 安装 Claude Desktop
- 更新 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"
}
}
}
}
- 启动 Claude Desktop 并开始询问有关代码分析的问题!