|
|
--- |
|
|
title: Code Complexity Analyzer |
|
|
emoji: ๐ |
|
|
colorFrom: gray |
|
|
colorTo: pink |
|
|
sdk: gradio |
|
|
sdk_version: 5.49.1 |
|
|
app_file: app.py |
|
|
pinned: false |
|
|
license: mit |
|
|
short_description: An MCP Server to analyse Python code complexity |
|
|
--- |
|
|
|
|
|
# Code Complexity Analyzer MCP Server |
|
|
|
|
|
**Category**: Enterprise MCP Server |
|
|
**Tags**: `building-mcp-track-enterprise` |
|
|
|
|
|
## Overview |
|
|
|
|
|
An MCP server that analyzes Python code complexity and provides actionable insights about code quality, maintainability, and potential refactoring opportunities. |
|
|
|
|
|
## Features |
|
|
|
|
|
### 1. Cyclomatic Complexity Analysis |
|
|
- Calculates cyclomatic complexity metric |
|
|
- Provides complexity level assessment (Low/Moderate/High/Critical) |
|
|
- Offers specific refactoring recommendations |
|
|
|
|
|
### 2. Code Metrics |
|
|
- Lines of Code (LOC) |
|
|
- Source Lines of Code (SLOC) |
|
|
- Comment lines and ratio |
|
|
- Function and class counts |
|
|
- Comment-to-code ratio analysis |
|
|
|
|
|
### 3. Code Smell Detection |
|
|
- Long functions (>50 lines) |
|
|
- Too many parameters (>5) |
|
|
- Deep nesting (>4 levels) |
|
|
- Duplicate code detection |
|
|
|
|
|
### 4. Comprehensive Analysis |
|
|
- Combined report with all metrics |
|
|
- Markdown-formatted output |
|
|
- Clear recommendations |
|
|
|
|
|
## Installation |
|
|
|
|
|
```bash |
|
|
pip install "gradio[mcp]" |
|
|
``` |
|
|
|
|
|
## Usage |
|
|
|
|
|
### Running the MCP Server |
|
|
|
|
|
```bash |
|
|
python server.py |
|
|
``` |
|
|
|
|
|
The server will start on `http://0.0.0.0:7860` with MCP protocol enabled. |
|
|
|
|
|
### MCP Tools Available |
|
|
|
|
|
1. `full_code_analysis` - Complete code analysis with all metrics |
|
|
2. `calculate_cyclomatic_complexity` - Complexity calculation only |
|
|
3. `analyze_code_metrics` - Code metrics only |
|
|
4. `detect_code_smells` - Code smell detection only |
|
|
|
|
|
### Example Usage |
|
|
|
|
|
```python |
|
|
# Example code to analyze |
|
|
code = """ |
|
|
def complex_function(a, b, c, d, e, f): |
|
|
if a > 0: |
|
|
if b > 0: |
|
|
if c > 0: |
|
|
if d > 0: |
|
|
if e > 0: |
|
|
return a + b + c + d + e + f |
|
|
return 0 |
|
|
""" |
|
|
``` |
|
|
|
|
|
## Why This Matters |
|
|
|
|
|
- **For Teams**: Maintain code quality standards across projects |
|
|
- **For Developers**: Get immediate feedback on code complexity |
|
|
- **For Code Reviews**: Automated complexity assessment |
|
|
- **For Legacy Code**: Identify refactoring priorities |
|
|
|
|
|
## Technical Details |
|
|
|
|
|
- Built with Gradio MCP server capabilities |
|
|
- AST-based Python code analysis |
|
|
- Real-time complexity calculation |
|
|
- No external dependencies for analysis |
|
|
|
|
|
## Future Enhancements |
|
|
|
|
|
- Support for more programming languages |
|
|
- Integration with CI/CD pipelines |
|
|
- Historical complexity tracking |
|
|
- Custom complexity thresholds |
|
|
- Team-wide analytics dashboard |
|
|
|