Python security scanner with Model Context Protocol (MCP) integration for AI assistants
Project description
MCP Security Scanner ๐ก๏ธ
A powerful Model Context Protocol (MCP) agent for automated Python code quality and security scanning. Integrates seamlessly with AI assistants like Claude Code while providing comprehensive security analysis and professional reporting.
๐ค For Claude Code Sessions: This project has automatic startup protocol. When starting a new session, Claude will automatically read project context, activate virtual environment, and present development options. See
CLAUDE.mdfor details.
๐ Key Features
๐ Comprehensive Code Analysis
- 10+ integrated tools: Ruff, MyPy, Bandit, Safety, Pylint, Black, isort, pytest, Coverage
- Custom security scanners: FastAPI security, AI/LLM security analysis
- Real vulnerability detection: SQL injection, XSS, SSTI, prompt injection, and more
๐ก๏ธ Enterprise Security
- OWASP compliance mapping: Top 10 2021, API Top 10, LLM Top 10, Mobile Top 10
- Professional reporting: Executive summaries, technical reports, SARIF format
- Risk scoring: Automated compliance scoring and risk assessment
๐ค AI Assistant Integration
- MCP server: Native integration with Claude Code and other AI assistants
- JSON-RPC protocol: Standardized communication via stdio
- 8 specialized tools: From basic scanning to enterprise reporting
๐ง Developer Experience
- CLI and programmatic APIs: Use standalone or integrate into workflows
- Multiple output formats: JSON, Markdown, YAML, text, SARIF
- Configuration presets: default, strict, security, fast
- Auto-fixing: Safe automatic resolution of code quality issues
๐ฆ Installation
Quick Start (End Users)
# Install from PyPI
pip install mcp-for-code-quality-security
# Verify installation
mcpcqs --version
# Start scanning
mcpcqs scan ./your-project
Development Setup
# Clone and setup virtual environment
git clone https://github.com/lgtkgtv/mcp_agent--code_quality_security_tools.git
cd mcp_agent--code_quality_security_tools
uv venv .venv --python 3.12
source .venv/bin/activate
uv pip install -e ".[dev]"
๐ Documentation:
- Setup Guide - Complete installation for all user types
- User Guide - How to use the scanner effectively
- AI Integration - Claude Code & other AI assistants
- Docker Examples - Container usage patterns
๐ฏ Usage
CLI Commands: Use either
mcp-for-code-quality-security(full name) ormcpcqs(short alias)
CLI Usage
# Basic project scan
mcpcqs scan ./your-project
# Security-focused scan
mcpcqs scan ./your-project --config security
# Quick scan with JSON output
mcpcqs scan ./your-project --config fast --output json
# Auto-fix safe issues
mcpcqs scan ./your-project --fix --safe-only
# Generate enterprise security report
mcpcqs security ./your-project --output-dir ./reports --company "Acme Corp"
# Get project information
mcpcqs info ./your-project
MCP Server Integration
Claude Code Integration
Add to your Claude Code configuration:
{
"mcpServers": {
"mcp-for-code-quality-security": {
"command": "mcpcqs",
"args": ["serve"]
}
}
}
Start MCP Server
# Start MCP server
mcpcqs serve
# With custom configuration
mcpcqs serve --config strict
Programmatic Usage
from mcp_code_scanner import CodeScanner, ScanConfig
# Basic scanning
scanner = CodeScanner()
results = await scanner.scan_project("./your-project")
# Custom configuration
config = ScanConfig.get_preset("security")
results = await scanner.scan_project("./your-project", config)
# Security-focused scan
security_results = await scanner.security_scan("./your-project")
๐ Professional Reporting
Executive Reports
Perfect for C-level stakeholders with business impact analysis:
- Overall risk assessment and compliance scoring
- ROI expectations and investment recommendations
- Strategic security roadmap and timeline
- Regulatory compliance status
Technical Reports
Detailed analysis for development teams:
- Vulnerability analysis by tool and category
- Code-level security findings with line numbers
- OWASP mappings and remediation guidance
- Priority-based action plans
SARIF Integration
Industry-standard format for security dashboards:
- GitHub Security tab integration
- Azure DevOps security reports
- GitLab security dashboards
- Third-party SIEM compatibility
๐ก๏ธ Security Capabilities
FastAPI Security Analysis
| Vulnerability Type | Detection | OWASP Mapping | Severity |
|---|---|---|---|
| SQL Injection | โ | A03:2021 | Critical |
| NoSQL Injection | โ | A03:2021 | Critical |
| SSTI | โ | A03:2021 | High |
| Path Traversal | โ | A01:2021 | High |
| Missing Authentication | โ | A07:2021 | High |
| Insecure Dependencies | โ | A06:2021 | Medium |
AI/LLM Security Analysis
| Vulnerability Type | Detection | OWASP LLM | Severity |
|---|---|---|---|
| Prompt Injection | โ | LLM01 | Critical |
| Model Extraction | โ | LLM06 | High |
| Training Data Poisoning | โ | LLM03 | High |
| Unsafe Plugin Execution | โ | LLM07 | High |
| Model Denial of Service | โ | LLM04 | Medium |
๐ CI/CD Integration
GitHub Actions Example
name: Security Scan
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: MCP Security Scan
run: |
pip install mcp-for-code-quality-security
mcp-scanner comprehensive-scan . --save-reports
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: security_results.sarif
Pre-commit Hooks
repos:
- repo: https://github.com/your-org/mcp-for-code-quality-security
rev: v2.0.0
hooks:
- id: mcp-security-scan
args: [--config, security, --critical-only]
๐๏ธ Architecture
Built with proven architectural patterns from experimental projects:
- V1 Pattern: Comprehensive error handling and tool-specific parsers
- V2 Pattern: Simple YAML configuration per tool
- V3 Pattern: Category-based plugin discovery with priority ordering
Key Components
mcp-for-code-quality-security/
โโโ src/mcp_code_scanner/
โ โโโ scanners/ # FastAPI & AI security scanners
โ โโโ compliance/ # OWASP compliance mapping
โ โโโ reports/ # Enterprise report generators
โ โโโ parsers/ # Enhanced tool result processing
โ โโโ plugins/ # Extensible plugin architecture
โ โโโ mcp/ # MCP server integration
โ โโโ cli/ # Command-line interface
โโโ configs/ # Tool and category configurations
โ โโโ categories/ # Plugin category definitions
โ โโโ tools/ # Individual tool configurations
โโโ tests/ # Comprehensive test suite
โ Current Features vs ๐ง Planned Features
What Works Today (v0.3.1)
- โ 10+ Security Tools - Integrated Ruff, MyPy, Bandit, Safety, Pylint, and more
- โ MCP Server - Full integration with Claude Code and AI assistants
- โ Multiple Report Formats - JSON, Markdown, YAML, SARIF
- โ CLI Interface - Comprehensive command-line tools
- โ Configuration Presets - default, strict, security, fast modes
- โ Auto-fixing - Safe automatic issue resolution
- โ FastAPI Security Scanner - Custom security analysis
- โ AI/LLM Security Scanner - Prompt injection detection
On the Roadmap
- ๐ง OWASP Compliance Dashboard - Track security scores (Q1 2025)
- ๐ง Multi-Project Tracking - Monitor multiple projects (Q1 2025)
- ๐ง Threat Model Profiles - Context-aware scanning (Q2 2025)
- ๐ง Web Dashboard - Visual security status (Q2 2025)
- ๐ง Educational Mode - Learn security as you code (Future)
- ๐ง AI Transparency Layer - Explain security decisions (Future)
See ROADMAP.md for detailed development plans.
๐ Performance & Scale
- Scan Speed: 2-5 seconds for typical projects
- Report Generation: 1-3 seconds per report type
- File Support: Handles projects with 15,000+ lines
- Tool Integration: 10+ security and quality tools
- Memory Efficient: Minimal resource usage during scanning
๐ค Contributing
We welcome contributions! See our Contributing Guide for details.
Plugin Development
Create custom security tools with our plugin framework:
from mcp_code_scanner.plugins.base_plugin import BasePlugin
class CustomSecurityPlugin(BasePlugin):
async def scan(self, project_path: Path) -> PluginResult:
# Your custom security analysis logic
pass
Development Setup
git clone https://github.com/lgtkgtv/mcp_agent--code_quality_security_tools.git
cd mcp_agent--code_quality_security_tools
uv venv .venv --python 3.12
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
๐ Requirements
- Python: 3.12 or higher
- Dependencies: pydantic, pyyaml, click, rich, fastmcp
- Optional: Docker for containerized scanning
๐ Related Projects
- Model Context Protocol - AI assistant integration standard
- Claude Code - AI-powered development environment
- OWASP - Web application security standards
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
- OWASP for security frameworks and guidelines
- Anthropic for the Model Context Protocol standard
- FastAPI community for security best practices
- AI/LLM Security researchers for vulnerability classifications
๐ Ready to secure your Python applications?
Start with pip install mcp-for-code-quality-security and integrate enterprise-grade security analysis into your workflow today!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_for_code_quality_security-0.3.2.tar.gz.
File metadata
- Download URL: mcp_for_code_quality_security-0.3.2.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
878da81b9d7d01adf5b9c2a93f633be42abe607607385f337ce1ab1bded5acd7
|
|
| MD5 |
19b5afd2ba57abf1ecc0a31b8e76ad1c
|
|
| BLAKE2b-256 |
89b8b1c357eef5dd1dad12faa9a5f1c00e4f942e94d9acc4fd5f493817b8078a
|
File details
Details for the file mcp_for_code_quality_security-0.3.2-py3-none-any.whl.
File metadata
- Download URL: mcp_for_code_quality_security-0.3.2-py3-none-any.whl
- Upload date:
- Size: 108.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
263262677e5b06819342e8688b5cfcfd000c4a285132301c2d73e5f39b826d23
|
|
| MD5 |
c944a9b155472095c05cc6e597889667
|
|
| BLAKE2b-256 |
6bc162f7277a07b8d10608c3e95b160f97100ac1a990970f1e09e94cfbafcf9d
|