mcpField
M
mcp-code-sanitizer

mcp-code-sanitizer

ローカル
github.com/notasandy開発ツール324 週間前に更新

mcp-code-sanitizer について

mcp-code-sanitizerは、Groqを使ってコードやファイルのバグ、セキュリティ上の問題を調べる開発者向けMCPサーバーです。差分比較、テスト生成、HTMLレポートに加え、プルリクエストの自動レビューにも対応します。

主な機能

  1. 01バグやセキュリティ問題の分析
  2. 02変更比較と回帰検出
  3. 03経験レベル別のコード解説
  4. 04pytest、jest、go testの生成
  5. 05ファイル分析とHTMLレポート作成
  6. 06GitHub Actionによるプルリクエストレビュー

活用シーン

  1. 01マージ前の脆弱性チェック
  2. 02リファクタリング前後の比較
  3. 03境界値やセキュリティテストの生成
  4. 04プルリクエストへの構造化レビュー投稿

MCP 対応

コード分析、比較、解説、テスト生成、ファイル分析、レポート、キャッシュのツールをMCPクライアントに公開します。Groq APIを使用し、GROQ_API_KEYが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"notasandy-mcp-code-sanitizer": {
"command": "uvx",
"args": [
"mcp-code-sanitizer"
],
"env": {
"GROQ_API_KEY": "<GROQ_API_KEY>"
}
}
}
}
起動コマンドuvx mcp-code-sanitizer
設定が必要な環境変数
GROQ_API_KEYシークレットGroq API key from console.groq.com/keys

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-code-sanitizer0.1.0

ツール

7

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
codestringはい確認するコードスニペット。
contextstringいいえ任意の説明 — コードの機能と入手元。
languagestringいいえプログラミング言語(python、javascript、go、rust など)。

詳細

mcp-code-sanitizer

Claude Desktop、Cursor、VS Code、Claude Code CLI 向けの、厳格な AI コードレビューツールです。 Groq(無料 API)を利用して、バグ、脆弱性、セキュリティ上の問題を検出します。

Python PyPI FastMCP Groq License

Claude / Cursor / VS Code  ──MCP──►  code-sanitizer  ──REST──►  Groq API
                                        (server.py)              (llama-3.3-70b)

demo


特徴

ツール機能
analyze_code厳格なレビュー — バグ、セキュリティ上の問題、0〜100 のスコア
compare_code2 つのバージョンを比較し、リグレッションを検出して、merge/request_changes を推奨します
explain_codeジュニア/ミドル/シニア向けの段階的な解説
generate_testspytest/jest/go test を生成 — 正常系、エッジケース、セキュリティ
analyze_file並列チャンク処理で、ディスク上のファイル全体を分析します
generate_report任意の分析結果から HTML レポートを作成します
cache_infoキャッシュの統計情報とクリア
出力例
{
  "summary": "Critical SQL injection and secret exposed in logs",
  "score": 23,
  "issues": [
    {
      "severity": "critical",
      "line": 2,
      "title": "SQL Injection",
      "description": "f-string directly interpolates user_id into query",
      "fix": "cursor.execute('SELECT * FROM users WHERE id = %s', (user_id,))"
    }
  ],
  "warnings": [{"title": "No exception handling", "description": "..."}],
  "suggestions": ["Consider using an ORM instead of raw SQL"]
}

インストール

前提条件: console.groq.com/keys で無料の Groq API キーを取得してください。クレジットカードは不要です。

Claude Code CLI
claude mcp add code-sanitizer -e GROQ_API_KEY=gsk_your_key -- uvx mcp-code-sanitizer
Claude Desktop
OS設定ファイル
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "code-sanitizer": {
      "command": "uvx",
      "args": ["mcp-code-sanitizer"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}
Cursor

プロジェクト内に .cursor/mcp.json(または全体設定用に ~/.cursor/mcp.json)を作成します。

{
  "mcpServers": {
    "code-sanitizer": {
      "command": "uvx",
      "args": ["mcp-code-sanitizer"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}
VS Code

GitHub Copilot を利用した VS Code 1.99 以降が必要です。プロジェクト内に .vscode/mcp.json を作成します。

{
  "servers": {
    "code-sanitizer": {
      "command": "uvx",
      "args": ["mcp-code-sanitizer"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}

または、Ctrl+Shift+P → "MCP: Add Server" から全体設定に追加します。

uvx がインストールされていませんか? pip install uv でインストールしてから、上記のコマンドを使用してください。


手動インストール(別の方法)

リポジトリをクローンする場合:

git clone https://github.com/notasandy/mcp-code-sanitizer
cd mcp-code-sanitizer
pip install -r requirements.txt
cp .env.example .env   # add your GROQ_API_KEY
python server.py

次に、クライアントの設定で以下を指定します。

{
  "command": "python",
  "args": ["/full/path/to/server.py"],
  "env": { "GROQ_API_KEY": "gsk_your_key_here" }
}

GitHub Action — PR の自動レビュー

5 行の設定で、任意のリポジトリに AI コードレビューを追加できます。 この Action は、スコア、問題点、修正案を含む構造化されたコメントをすべての PR に投稿します。

# .github/workflows/ai-review.yml
name: AI Code Review
on:
  pull_request:
    types: [opened, synchronize]

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: notasandy/mcp-code-sanitizer@v1
        with:
          groq_api_key: ${{ secrets.GROQ_API_KEY }}

リポジトリのシークレットに GROQ_API_KEY を追加します → Settings → Secrets → Actions。

この Action は自動的に以下を行います。

  • 変更されたファイルのみをレビューします(PR ごとに最大 10 ファイル)
  • スコアと構造化された問題一覧を PR コメントとして投稿します
  • 重大な問題が見つかった場合、チェックを失敗させます

チャットでの使い方

接続したら、自然な言葉で入力するだけです。

Review this code for vulnerabilities:

def get_user(user_id):
    query = f"SELECT * FROM users WHERE id = {user_id}"
    return db.execute(query)

または、ツールを明示的に呼び出します。

analyze_file /path/to/my_script.py
generate_tests for this function: ...
compare_code — before vs after refactor, did it get better?
generate_report and save to /tmp/report.html

アーキテクチャ

mcp-code-sanitizer/
├── server.py          # FastMCP entry point
├── config.py          # Constants — keys, limits, extension map
├── groq_client.py     # Async Groq client with auto-retry on 429
├── cache.py           # In-memory LRU cache with TTL
├── prompts.py         # System prompts for all tools
└── tools/
    ├── analyze.py     # analyze_code
    ├── compare.py     # compare_code
    ├── explain.py     # explain_code
    ├── tests.py       # generate_tests
    ├── file_tool.py   # analyze_file — chunking + parallel analysis
    ├── cache_tool.py  # cache_info
    └── report.py      # generate_report — HTML output

設定

すべての設定は .env または環境変数で行います。

変数デフォルト値説明
GROQ_API_KEY—必須です。 console.groq.com で取得してください
GROQ_MODELllama-3.3-70b-versatile使用する Groq モデル
CACHE_TTL3600キャッシュの TTL(秒)
CACHE_MAX200キャッシュするエントリの最大数
利用可能な Groq モデル
モデル速度品質
llama-3.3-70b-versatile高速最高(デフォルト)
llama-3.1-8b-instant最速良好
mixtral-8x7b-32768高速とても良好

コントリビューション

PR と Issue を歓迎します。特に次のコントリビューションをお待ちしています。

  • 他の LLM プロバイダー(OpenAI、Anthropic)のサポート
  • 新しいツール:依存関係の監査、複雑度スコア、docstring ジェネレーター
  • プロンプトの改善と新しい言語のサポート

ライセンス

MIT — ご自由にお使いください。スターを付けていただけると嬉しいです。


リンク

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。