what is Semgrep Server?
Semgrep Server is a Model Context Protocol (MCP) server designed for integrating Semgrep into development environments, enabling static code analysis and management of Semgrep rules directly via the MCP protocol.
how to use Semgrep Server?
To use Semgrep Server, clone the repository, install dependencies, and start the server in either production or development mode.
key features of Semgrep Server?
- Conducts static code analysis using Semgrep
- Manages Semgrep rules through various MCP tools
- Provides functionalities like scanning directories, listing rules, analyzing results, and exporting results in different formats.
use cases of Semgrep Server?
- Performing static code analysis on software projects.
- Managing and creating custom Semgrep rules for code quality checks.
- Analyzing and comparing scan results for better code insights.
FAQ from Semgrep Server?
- What programming languages does Semgrep support?
Semgrep supports a wide range of programming languages including JavaScript, Python, Java, and more.
- Is Semgrep Server free to use?
Yes! Semgrep Server is open-source and free to use.
- How can I contribute to the Semgrep Server project?
Contributions are welcome! You can submit issues or pull requests on the GitHub repository.
Semgrep Server
Ein Model Context Protocol (MCP) Server für die Integration von Semgrep in die Entwicklungsumgebung. Dieser Server ermöglicht die Durchführung von statischen Code-Analysen und die Verwaltung von Semgrep-Regeln direkt über das MCP-Protokoll.
Installation
# Repository klonen
git clone [repository-url]
cd semgrep-server
# Abhängigkeiten installieren
npm install
# Server bauen
npm run build
Verwendung
Der Server kann auf folgende Weise gestartet werden:
# Produktionsmodus
npm start
# Entwicklungsmodus
npm run dev
Verfügbare Tools
Der Server stellt folgende MCP-Tools zur Verfügung:
scan_directory
: Führt einen Semgrep-Scan in einem Verzeichnis auslist_rules
: Listet verfügbare Semgrep-Regeln aufanalyze_results
: Analysiert die Scan-Ergebnissecreate_rule
: Erstellt eine neue Semgrep-Regelfilter_results
: Filtert Scan-Ergebnisse nach verschiedenen Kriterienexport_results
: Exportiert Scan-Ergebnisse in verschiedene Formatecompare_results
: Vergleicht zwei Scan-Ergebnisse
Entwicklung
Das Projekt ist in TypeScript geschrieben und verwendet das MCP SDK für die Server-Implementierung.
Projektstruktur
semgrep-server/
├── src/ # Quellcode
├── build/ # Kompilierte JavaScript-Dateien
├── test.js # Testdateien
└── test-rule.yaml # Beispiel Semgrep-Regel
Abhängigkeiten
- Node.js & npm
- TypeScript
- MCP SDK
- Axios für HTTP-Anfragen
Lizenz
Dieses Projekt steht unter der ISC-Lizenz. Weitere Details finden Sie in der LICENSE Datei.