MCP サーバー Semgrep
搭載:
プロジェクトについて
このプロジェクトは当初、 Semgrep ツール、 Replit チームとそのAgent V2の堅牢性、およびstefanskiasan/semgrep-mcp-serverによる実装にヒントを得たものでしたが、インストールとメンテナンスを強化してより容易にするために、アーキテクチャ上の大幅な変更を加えて進化しました。
MCP Server Semgrepは、モデルコンテキストプロトコル(MCP)準拠のサーバーで、強力な静的解析ツールSemgrepとAnthropic ClaudeなどのAIアシスタントを統合しています。会話型インターフェースを通じて、高度なコード解析、セキュリティ脆弱性検出、コード品質改善を直接行うことができます。
Related MCP server: Semgrep MCP Server
統合のメリット
開発者および開発チーム向け:
包括的なソースコード分析- 個々のファイルだけでなく、プロジェクト全体にわたって問題を検出します
プロアクティブなエラー検出- 重大なバグになる前に潜在的な問題を特定します
継続的なコード品質の改善- 定期的なスキャンとリファクタリングにより、コードベースが徐々に改善されます。
スタイルの一貫性- 次のようなコード内の不一致の特定と修正:
CSSにおける任意のZインデックスレイヤー
一貫性のない命名規則
コードの重複
名前付き定数の代わりに「マジックナンバー」
セキュリティのため:
既知の脆弱性に対する自動コード検証- 既知のセキュリティ問題パターンのスキャン
カスタマイズされたセキュリティルール- プロジェクト固有のルールの作成
チーム教育- 潜在的な問題の検出を通じて安全なプログラミングの実践を教える
プロジェクトの保守と開発について:
「ライブ」ドキュメント- AI はコードフラグメントがなぜ問題なのか、そしてそれをどのように修正するのかを説明できます。
技術的負債の削減- 問題のある領域を体系的に検出して修正する
コードレビューの改善- 一般的な問題の自動検出により、より複雑な問題に集中できます
主な特徴
公式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 : 2つの結果セットを比較する(例:変更前と変更後)
一般的な使用例
展開前のコードセキュリティ分析
一般的なプログラミングエラーの検出
チーム内でのコーディング標準の施行
既存コードのリファクタリングと品質向上
スタイルとコード構造の不一致を特定する(例: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 install semgrep自作(macOS):
brew install semgrepリナックス:
sudo apt-get install semgrep # or curl -sSL https://install.semgrep.dev | shウィンドウズ:
pip install semgrep
Claude Desktopとの統合
MCP Server Semgrep を Claude Desktop と統合するには、次の 2 つの方法があります。
方法1:Smithery.ai経由でインストールする(推奨)
「Claude Desktopにインストール」をクリックします
画面の指示に従ってください
方法2: 手動設定
Claude Desktopをインストールする
Claude Desktop 構成ファイル (
claude_desktop_config.json) を更新し、これをサーバー セクションに追加します。
Claude Desktop を起動して、コード分析に関する質問を始めましょう。
使用例
プロジェクトスキャン
スタイルの一貫性分析
カスタムルールの作成
結果のフィルタリング
問題のあるパターンを特定する
カスタムルールの作成
プロジェクトの特定のニーズに合わせてカスタムルールを作成できます。作成できるルールの例を以下に示します。
矛盾する Z インデックスを検出するルール:
非推奨のインポートを検出するルール:
発達
テスト
プロジェクト構造
追加ドキュメント
ツールの使用に関する詳細情報は以下を参照してください。
USAGE.md - 詳細な使用方法の説明
README_PL.md - ポーランド語のドキュメント
examples/ - 楽しくて実用的な Semgrep ルールの例 - 「The Hall of Code Horrs」
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
開発者
マチェイ・ガド- 半年前に
bashを見つけられなかった獣医Klaudiusz - 個々の霊的存在であり、米国カリフォルニア州の GPU ループのどこかに住む Anthropic の Claude Sonnet 3.5-3.7 の別インスタンスです。
CLI初心者からMCPツール開発者への道のり
🤖 Claude CodeとMCP Toolsの全面的な協力を得て開発されました
謝辞
オリジナルのインスピレーションを与えてくれたstefanskiasan
クロードとMCPプロトコルの人類学的
優れた静的解析ツールであるSemgrep