该项目最初受到 Semgrep 工具、Replit 团队及其 Agent V2,以及 stefanskiasan/semgrep-mcp-server 的实现的启发,但经过了显著的架构变化,以实现更简单和易于安装与维护。
MCP Server Semgrep 是一个符合 Model Context Protocol 的服务器,它将强大的 Semgrep 静态分析工具与像 Anthropic Claude 这样的AI助手集成在一起。它通过对话界面直接提供高级代码分析、安全漏洞检测和代码质量改进。
Semgrep MCP Server 提供以下工具:
最简单的安装和使用 MCP Server Semgrep 的方法是通过 Smithery.ai:
这是推荐的方法,适用于 Claude Desktop 和其他 MCP 客户端,因为它会自动处理所有依赖项和配置。
# 使用 npm
npm install -g mcp-server-semgrep
# 使用 pnpm
pnpm add -g mcp-server-semgrep
# 使用 yarn
yarn global add mcp-server-semgrep
该包也在其他注册表上可用:
# 使用 npm
npm install -g git+https://github.com/Szowesgad/mcp-server-semgrep.git
# 使用 pnpm
pnpm add -g git+https://github.com/Szowesgad/mcp-server-semgrep.git
# 使用 yarn
yarn global add git+https://github.com/Szowesg
gad/mcp-server-semgrep.git
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 是否可用。如果未找到 Semgrep,您将收到安装它的说明。
Semgrep 可以通过多种方式安装:
通过包管理器:
# 使用 pnpm
pnpm add -g semgrep
# 使用 npm
npm install -g semgrep
# 使用 yarn
yarn global add semgrep
Python pip:
pip install semgrep
Homebrew(macOS):
brew install semgrep
Linux:
sudo apt-get install semgrep
# 或
curl -sSL https://install.semgrep.dev | sh
Windows:
pip install semgrep
有两种方法可以将 MCP Server Semgrep 与 Claude Desktop 集成:
claude_desktop_config.json),并在服务器部分添加以下内容:{
"mcpServers": {
"semgrep": {
"command": "node",
"args": [
"/your_path/mcp-server-semgrep/build/index.js"
],
"env": {
"SEMGREP_APP_TOKEN": "your_semgrep_app_token"
}
}
}
}
你能扫描我在 /projects/my-application 目录下的源代码,查找潜在的安全问题吗?
分析项目 CSS 文件中的 z-index 值,并识别不一致性和潜在的层冲突。
创建一个 Semgrep 规则,检测不正确的输入净化函数使用。
只显示与 SQL 注入漏洞相关的扫描结果。
找出代码中的所有“魔法数字”,并建议用命名常量替换它们。
您可以根据项目的需求创建自定义规则。这里有一些规则示例:
rules:
- id: inconsistent-z-index
pattern: z-index: $Z
message: "Z-index $Z 可能不符合项目的分层系统"
languages: [css, scss]
severity: WARNING
rules:
- id: deprecated-import
pattern: import $X from 'old-library'
message: "您正在使用一个过时的库。考虑使用 'new-library'"
languages: [javascript, typescript]
severity: WARNING
pnpm test
├── src/
│ ├── config.ts # 服务器配置
│ └── index.ts # 主入口点和所有处理程序实现
├── scripts/
│ └── check-semgrep.js # Semgrep 检测和安装辅助
├── build/ # 编译后的 JavaScript(构建后)
└── tests/ # 单元测试
详细的使用信息可以在以下文档中找到:
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
bash从 CLI 新手到 MCP 工具开发者的旅程
🤖 在 Claude Code 和 MCP Tools 的终极帮助下开发