A Model Context Protocol compliant server that integrates Semgrep static analysis tool with AI assistants like Anthropic Claude, enabling advanced code analysis, security vulnerability detection, and code quality improvements through a conversational interface.
This project was initially inspired by robustness of Semgrep tool, The Replit Team and their Agent V2, as well as the implementation by stefanskiasan/semgrep-mcp-server, but has evolved with significant architectural changes for enhanced and easier installation and maintenance.
MCP Server Semgrep is a Model Context Protocol compliant server that integrates the powerful Semgrep static analysis tool with AI assistants like Anthropic Claude. It enables advanced code analysis, security vulnerability detection, and code quality improvements directly through a conversational interface.
Semgrep MCP Server provides the following tools:
The easiest way to install and use MCP Server Semgrep is through Smithery.ai:
This is the recommended method for Claude Desktop and other MCP clients as it handles all dependencies and configuration automatically.
# Using npm npm install -g mcp-server-semgrep # Using pnpm pnpm add -g mcp-server-semgrep # Using yarn yarn global add mcp-server-semgrep
The package is also available on other registries:
# Using npm npm install -g git+https://github.com/Szowesgad/mcp-server-semgrep.git # Using pnpm pnpm add -g git+https://github.com/Szowesgad/mcp-server-semgrep.git # Using yarn yarn global add git+https://github.com/Szowesgad/mcp-server-semgrep.git
git clone https://github.com/Szowesgad/mcp-server-semgrep.git cd mcp-server-semgrep
# Using pnpm (recommended) pnpm install # Using npm npm install # Using yarn yarn install
# Using pnpm pnpm run build # Using npm npm run build # Using yarn yarn build
Note: The installation process will automatically check for Semgrep availability. If Semgrep is not found, you'll receive instructions on how to install it.
Semgrep can be installed in several ways:
Via package managers:
# Using pnpm pnpm add -g semgrep # Using npm npm install -g semgrep # Using yarn yarn global add semgrep
Python pip:
pip install semgrep
Homebrew (macOS):
brew install semgrep
Linux:
sudo apt-get install semgrep # or curl -sSL https://install.semgrep.dev | sh
Windows:
pip install semgrep
There are two ways to integrate MCP Server Semgrep with Claude Desktop:
claude_desktop_config.json
) and add this to your servers section:{ "mcpServers": { "semgrep": { "command": "node", "args": [ "/your_path/mcp-server-semgrep/build/index.js" ], "env": { "SEMGREP_APP_TOKEN": "your_semgrep_app_token" } } } }
Could you scan my source code in the /projects/my-application directory for potential security issues?
Analyze the z-index values in the project's CSS files and identify inconsistencies and potential layer conflicts.
Create a Semgrep rule that detects improper use of input sanitization functions.
Show me only scan results related to SQL injection vulnerabilities.
Find all "magic numbers" in the code and suggest replacing them with named constants.
You can create custom rules for your project's specific needs. Here are examples of rules you can create:
rules: - id: inconsistent-z-index pattern: z-index: $Z message: "Z-index $Z may not comply with the project's layering system" languages: [css, scss] severity: WARNING
rules: - id: deprecated-import pattern: import $X from 'old-library' message: "You're using a deprecated library. Consider using 'new-library'" languages: [javascript, typescript] severity: WARNING
pnpm test
├── src/
│ ├── config.ts # Server configuration
│ └── index.ts # Main entry point and all handler implementations
├── scripts/
│ └── check-semgrep.js # Semgrep detection and installation helper
├── build/ # Compiled JavaScript (after build)
└── tests/ # Unit tests
Detailed information on using the tool can be found in:
This project is licensed under the MIT License - see the LICENSE file for details.
bash
a half year agoThe journey from CLI novice to MCP tool developer
🤖 Developed with the ultimate help of Claude Code and MCP Tools
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!