Semgrep 服务器是一个用于将 Semgrep 集成到开发环境中的模型上下文协议(MCP)服务器。它支持执行静态代码分析并管理 Semgrep 规则,可通过 MCP 协议直接实现,为开发者提供了便捷的代码分析和规则管理能力。
# 克隆仓库
git clone [仓库地址]
cd semgrep-server
# 安装依赖项
npm install
# 构建服务器
npm run build
服务器可以通过以下方式启动:
# 生产模式
npm start
# 开发模式
npm run dev
该服务器提供以下 MCP 工具:
scan_directory
:在指定目录中执行 Semgrep 扫描list_rules
:列出可用的 Semgrep 规则analyze_results
:分析扫描结果create_rule
:创建新的 Semgrep 规则filter_results
:根据不同条件过滤扫描结果export_results
:将扫描结果导出为多种格式compare_results
:比较两个扫描结果该项目使用 TypeScript 编写,并基于 MCP SDK 实现服务器。
semgrep-server/
├── src/ # 源代码
├── build/ # 编译后的 JavaScript 文件
├── test.js # 测试文件
└── test-rule.yaml # 示例 Semgrep 规则
该项目采用 ISC 许可证。更多详细信息请参阅 LICENSE 文件。