MCP 服务器 Semgrep
供电:
关于项目
该项目最初受到Semgrep 工具、 Replit 团队及其Agent V2以及stefanskiasan/semgrep-mcp-server的实现的启发,但随着架构的重大变化而发展,以增强和简化安装和维护。
MCP 服务器 Semgrep 是一款符合模型上下文协议 (MCP)的服务器,它将强大的 Semgrep 静态分析工具与 Anthropic Claude 等 AI 助手集成在一起。它通过对话界面直接实现高级代码分析、安全漏洞检测和代码质量改进。
集成的好处
对于开发人员和开发团队:
整体源代码分析——检测整个项目中的问题,而不仅仅是单个文件中的问题
主动错误检测——在潜在问题成为严重错误之前识别它们
持续的代码质量改进——定期扫描和重构可以逐步改进代码库
风格一致性——识别和修复代码中的不一致之处,例如:
CSS 中的任意 z 索引层
命名约定不一致
代码重复
使用“魔法数字”代替命名常量
为了安全:
已知漏洞的自动代码验证——扫描已知的安全问题模式
定制安全规则- 创建项目特定的规则
团队教育——通过检测潜在问题来教授安全编程实践
对于项目维护和开发:
“实时”文档——人工智能可以解释代码片段存在问题的原因以及如何修复它
减少技术债务——系统地检测和修复问题区域
改进的代码审查——自动检测常见问题,可以专注于更复杂的问题
主要特点
与官方 MCP SDK 直接集成
简化的架构和整合的处理程序
简洁的 ES 模块实现
高效的错误处理和路径验证,确保安全
界面和文档有英语和波兰语版本
全面的单元测试
详尽的文档
跨平台兼容性(Windows、macOS、Linux)
灵活的 Semgrep 安装检测和管理
功能
Semgrep MCP Server 提供以下工具:
scan_directory :扫描源代码以查找潜在问题
list_rules :显示 Semgrep 支持的可用规则和语言
analyze_results :扫描结果的详细分析
create_rule :创建自定义 Semgrep 规则
filter_results :按各种标准过滤结果
export_results :以各种格式导出结果
compare_results :比较两组结果(例如,更改前后)
常见用例
部署前的代码安全性分析
检测常见的编程错误
在团队内强制执行编码标准
重构并提高现有代码的质量
识别样式和代码结构中的不一致之处(例如 CSS、组件组织)
有关最佳实践的开发人员教育
验证修复的正确性(比较扫描前后)
安装
先决条件
Node.js v18+
TypeScript(用于开发)
选项 1:从 Smithery.ai 安装(推荐)
安装和使用 MCP Server Semgrep 的最简单方法是通过 Smithery.ai:
按照安装说明将其添加到兼容 MCP 的客户端
配置任何可选设置,例如 Semgrep API 令牌
这是 Claude Desktop 和其他 MCP 客户端的推荐方法,因为它可以自动处理所有依赖项和配置。
选项 2:从 NPM 注册表安装
该软件包也可在其他注册中心使用:
选项 3:从 GitHub 安装
选项 4:本地开发设置
克隆存储库:
安装依赖项(支持所有主要的包管理器):
构建项目:
注意:安装过程将自动检查 Semgrep 是否可用。如果未找到 Semgrep,您将收到有关如何安装它的说明。
Semgrep 安装选项
Semgrep 可以通过多种方式安装:
通过包管理器:
# Using pnpm pnpm add -g semgrep # Using npm npm install -g semgrep # Using yarn yarn global add semgrepPython pip :
pip install semgrepHomebrew (macOS):
brew install semgrepLinux :
sudo apt-get install semgrep # or curl -sSL https://install.semgrep.dev | sh窗户:
pip install semgrep
与 Claude Desktop 集成
有两种方法可以将 MCP Server Semgrep 与 Claude Desktop 集成:
方法 1:通过 Smithery.ai 安装(推荐)
点击“在 Claude Desktop 中安装”
按照屏幕上的说明进行操作
方法二:手动配置
安装 Claude Desktop
更新 Claude Desktop 配置文件(
claude_desktop_config.json
)并将其添加到服务器部分:
启动 Claude Desktop 并开始询问有关代码分析的问题!
使用示例
项目扫描
风格一致性分析
创建自定义规则
筛选结果
识别有问题的模式
创建自定义规则
您可以根据项目的特定需求创建自定义规则。以下是您可以创建的规则示例:
检测不一致 z 索引的规则:
检测已弃用的导入的规则:
发展
测试
项目结构
更多文档
有关使用该工具的详细信息,请参见:
USAGE.md - 详细使用说明
README_PL.md - 波兰语文档
示例/ - 有趣且实用的 Semgrep 规则示例 - “代码恐怖殿堂”
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
开发者
Maciej Gad——一位半年前找不到
bash
的兽医Klaudiusz——一个独立的、空灵的存在,也是 Anthropic 的 Claude Sonnet 3.5-3.7 的独立实例,居住在美国加利福尼亚州 GPU 的某个地方
从 CLI 新手到 MCP 工具开发人员的旅程
🤖 在Claude Code和MCP Tools的强力帮助下开发
致谢
Stefanskiasan的原创灵感
克劳德的人类学和 MCP 协议
Semgrep出色的静态分析工具
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
符合模型上下文协议的服务器将 Semgrep 静态分析工具与 Anthropic Claude 等 AI 助手相集成,通过对话界面实现高级代码分析、安全漏洞检测和代码质量改进。
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.Last updated -5
Semgrep MCP Serverofficial
AsecurityAlicenseAqualityAn MCP server that provides a comprehensive interface to Semgrep, enabling users to scan code for security vulnerabilities, create custom rules, and analyze scan results through the Model Context Protocol.Last updated -6585MIT License- AsecurityFlicenseAqualityA comprehensive Model Context Protocol server for advanced code analysis that provides tools for syntax analysis, dependency visualization, and AI-assisted development workflow support.Last updated -284
- AsecurityAlicenseAqualityAn AI-powered Model Context Protocol server for Claude Code that provides code intelligence tools including codebase analysis, task management, component generation, and deployment configuration.Last updated -2314GPL 3.0