Python Code Quality Analysis with pyscn MCP
Use the pyscn MCP tools for Python code quality analysis.
Available Tools
| Tool | Purpose |
|---|---|
get_health_score | Overall code health score (0-100) with grade |
analyze_code | Comprehensive analysis (complexity, dead code, clones, coupling, deps) |
check_complexity | Cyclomatic complexity of functions |
detect_clones | Duplicate code detection |
find_dead_code | Unreachable code detection |
check_coupling | Class coupling (CBO) metrics |
Tool Selection Guide
| User Request | Tool |
|---|---|
| "How healthy is this code?" | get_health_score |
| "Analyze code quality" | analyze_code |
| "Find complex functions" | check_complexity |
| "Find duplicate code" | detect_clones |
| "Find dead code" | find_dead_code |
| "Check class coupling" | check_coupling |
Common Parameters
- •
path(required): Path to Python file or directory - •
recursive(analyze_code): Recursively analyze directories (default: true) - •
analyses(analyze_code): Array of analyses to run -complexity,dead_code,clone,cbo,deps
Examples
Quick Health Check
Use get_health_score for a quick overview:
- •Returns score 0-100 with letter grade (A-F)
- •Category breakdowns for maintainability, reliability, etc.
Detailed Analysis
Use analyze_code with specific analyses:
- •
analyses: ["complexity"]- Only complexity - •
analyses: ["clone"]- Only duplicates - •
analyses: ["dead_code"]- Only dead code - •
analyses: ["complexity", "dead_code"]- Multiple
Complexity Thresholds
Use check_complexity with:
- •
min_complexity: Minimum to report (default: 1) - •
max_complexity: Maximum allowed (default: 0 = no limit)
Clone Detection
Use detect_clones with:
- •
similarity_threshold: 0.0-1.0 (default: 0.8) - •
min_lines: Minimum lines to consider (default: 5)
Always explain results and suggest improvements based on findings.