1. Conduid
  2. AI
  3. io.github.notasandy/mcp-code-sanitizer
MCP server · AI

io.github.notasandy/mcp-code-sanitizer

Strict AI code reviewer powered by Groq. Finds bugs and vulnerabilities.

Unclaimed ai
37Low

Scored 5 months ago · breakdown

About io.github.notasandy/mcp-code-sanitizer

io.github.notasandy/mcp-code-sanitizer is an MCP server published by notasandy in the AI category: strict AI code reviewer powered by Groq. Finds bugs and vulnerabilities.

The repository has 3 stars and 0 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

uvx
uvx mcp-code-sanitizer
pip
pip install mcp-code-sanitizer

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (7)

analyze_codeStrict review — bugs, security issues, score 0–100

Parameters not published.

analyze_fileAnalyzes a whole file from disk with parallel chunking

Parameters not published.

cache_infoCache statistics and clearing

Parameters not published.

compare_codeCompares two versions, detects regressions, recommends merge/request_changes

Parameters not published.

explain_codeStep-by-step explanation for junior / middle / senior audience

Parameters not published.

generate_reportBuilds an HTML report from any analysis result

Parameters not published.

generate_testsGenerates pytest / jest / go test — happy path, edge cases, security

Parameters not published.

Ask AI

✦

Ask AI about io.github.notasandy/mcp-code-sanitizer

Powered by Claude · Grounded in docs

I know everything about io.github.notasandy/mcp-code-sanitizer. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

🔍 mcp-code-sanitizer

A strict AI-powered code reviewer that runs your code through Groq LLM directly from Claude Desktop, Cursor, or any MCP-compatible agent.

Python FastMCP Groq License

Claude Desktop  ──MCP──►  code-sanitizer  ──REST──►  Groq API
                            (server.py)               (llama-3.3-70b)

✨ Features

Tool Description
analyze_code Strict code review — bugs, vulnerabilities, score 0–100
compare_code Compares two versions, finds regressions, recommends merge/request_changes
explain_code Step-by-step explanation for junior/middle/senior audience
generate_tests Generates pytest/jest/go test with happy path, edge cases, security tests
analyze_file Analyzes a whole file from disk with parallel chunking
generate_report Builds a beautiful HTML report from any analysis result
cache_info Cache statistics and clearing

Example response

{
  "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"]
}

🚀 Quick Start

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/mcp-code-sanitizer
cd mcp-code-sanitizer

2. Create virtual environment and install dependencies

python -m venv venv

# macOS / Linux
source venv/bin/activate

# Windows
venv\Scripts\activate

pip install -r requirements.txt

3. Add your Groq API key

Get a free key at console.groq.com/keys

cp .env.example .env
# Open .env and set GROQ_API_KEY=gsk_...

4. Test the server

python server.py

Silence means it's working — the server is listening for MCP requests via stdio.


🔌 Connect to Claude Desktop

Find your config file and add the mcpServers section:

OS Config path
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": "/full/path/to/venv/bin/python",
      "args": ["/full/path/to/server.py"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}

Restart Claude Desktop — you'll see the 🔧 icon in chat.


🔌 Connect to Cursor

Create .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "code-sanitizer": {
      "command": "/full/path/to/venv/bin/python",
      "args": ["/full/path/to/server.py"],
      "env": {"GROQ_API_KEY": "gsk_your_key_here"}
    }
  }
}

🧪 Testing via MCP Inspector

source venv/bin/activate  # or venv\Scripts\activate on Windows
fastmcp dev inspector server.py

A browser UI opens with full tool testing interface.


💬 Usage in chat

After connecting to Claude Desktop, just write:

Review this code for vulnerabilities:

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

Or explicitly call a tool:

Use analyze_file on /path/to/my_script.py
Generate tests for this function: ...
Compare these two versions and tell me if it got better: ...

🏗️ Architecture

mcp-code-sanitizer/
├── server.py          # FastMCP entry point (39 lines)
├── config.py          # Constants — keys, limits, mappings
├── groq_client.py     # Groq API client with auto-retry on rate limits
├── cache.py           # In-memory 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)

⚙️ Configuration

All settings via environment variables or .env:

Variable Default Description
GROQ_API_KEY — Required. Get at console.groq.com
GROQ_MODEL llama-3.3-70b-versatile Groq model
CACHE_TTL 3600 Cache TTL in seconds
CACHE_MAX 200 Max cache entries

Available Groq models

Model Speed Quality
llama-3.3-70b-versatile ⚡⚡ ⭐⭐⭐⭐⭐ (default)
llama-3.1-8b-instant ⚡⚡⚡ ⭐⭐⭐
mixtral-8x7b-32768 ⚡⚡ ⭐⭐⭐⭐

📦 Requirements

fastmcp>=2.3.0
httpx>=0.27.0
python-dotenv>=1.0.0

🤝 Contributing

PRs and Issues are welcome! Especially interested in:

  • Support for other LLM providers (OpenAI, Anthropic)
  • New tools (security audit, dependency check, complexity analysis)
  • Prompt improvements

📄 License

MIT — do whatever you want. A GitHub star would be appreciated ⭐


🔗 Links

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.notasandy/mcp-code-sanitizer

How do I install io.github.notasandy/mcp-code-sanitizer?

Run uvx mcp-code-sanitizer, then add the server to your MCP client's configuration.

Is io.github.notasandy/mcp-code-sanitizer safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.notasandy/mcp-code-sanitizer still maintained?

Yes — the last commit was 5 months ago. The repository has 3 stars and 0 forks.