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
Seamless access to top MCP servers powering the future of AI integration.