io.github.Anselmoo/mcp-server-analyzer
MCP server for Python, JavaScript, and TypeScript code analysis with Ruff, ty, Vulture, and Biome
Que pouvez-vous faire avec io.github.Anselmoo/mcp-server-analyzer ?
- 🔍 RUFF Analysis: Comprehensive Python linting with auto-fixes
- 🧠 ty Type Checking: Fast Python type analysis with rule-based diagnostics
- 🧹 Dead Code Detection: Find unused imports, functions, and variables with VULTURE
- ⚡ Biome JS/TS Analysis: Fast linting and formatting for JavaScript and TypeScript
- 📊 Quality Scoring: Combined analysis with quality metrics
- 🚀 FastMCP Framework: High-performance MCP server implementation
- 🐳 Docker Ready: Multi-architecture containers with security signing
- 🔒 Secure: All releases signed with Sigstore for supply chain security
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
mcp-server-analyzerclaude mcp add mcp-server-analyzer -- uvx mcp-server-analyzer==0.4.1
{
"mcpServers": {
"mcp-server-analyzer": {
"command": "uvx",
"args": [
"mcp-server-analyzer==0.4.1"
]
}
}
}
ghcr.io/anselmoo/mcp-server-analyzer:0.4.1claude mcp add mcp-server-analyzer -- docker run -i --rm ghcr.io/anselmoo/mcp-server-analyzer:0.4.1
{
"mcpServers": {
"mcp-server-analyzer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/anselmoo/mcp-server-analyzer:0.4.1"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
MCP Server Analyzer for Python 🐍🔍
A powerful Model Context Protocol (MCP) server that provides comprehensive Python code analysis using **Ruff** for linting, **ty** for type checking, and **Vulture** for dead code detection. Perfect for AI assistants, IDEs, and automated code review workflows.
🚀 Quick Start
VS Code Integration (One-Click Install)
For quick installation, use one of the one-click install buttons below...
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).
Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.
Note that the
mcpkey is needed when using themcp.jsonfile.
Using uvx (recommended):
{
"mcp": {
"servers": {
"analyzer": {
"command": "uvx",
"args": ["mcp-server-analyzer"]
}
}
}
}
Using Docker:
{
"mcp": {
"servers": {
"analyzer": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/anselmoo/mcp-server-analyzer"]
}
}
}
}
Universal Installation
# Install with uvx (recommended)
uvx install mcp-server-analyzer
# Install with pip
pip install mcp-server-analyzer
# Run with Docker
docker run ghcr.io/anselmoo/mcp-server-analyzer:latest
# Install from source
git clone https://github.com/anselmoo/mcp-server-analyzer.git
cd mcp-server-analyzer
uv sync --dev
uv run mcp-server-analyzer
📋 Features
- 🔍 RUFF Analysis: Comprehensive Python linting with auto-fixes
- 🧠 ty Type Checking: Fast Python type analysis with rule-based diagnostics
- 🧹 Dead Code Detection: Find unused imports, functions, and variables with VULTURE
- ⚡ Biome JS/TS Analysis: Fast linting and formatting for JavaScript and TypeScript
- 📊 Quality Scoring: Combined analysis with quality metrics
- 🚀 FastMCP Framework: High-performance MCP server implementation
- 🐳 Docker Ready: Multi-architecture containers with security signing
- 🔒 Secure: All releases signed with Sigstore for supply chain security
📈 Analysis Examples
RUFF Linting Preview
See comprehensive linting analysis examples: 📋 RUFF Analysis Preview
VULTURE Dead Code Detection Preview
Explore dead code detection capabilities: 🧹 VULTURE Analysis Preview
🛠️ Available Tools
| Tool | Description | Use Case |
|---|---|---|
ruff-check | Lint Python code with RUFF | Style violations, potential errors |
ruff-format | Format Python code with RUFF | Code formatting and consistency |
ruff-check-ci | CI/CD optimized RUFF output | GitHub Actions, GitLab CI |
ty-check | Type-check Python code with ty | Type safety, incorrect return values |
vulture-scan | Dead code detection | Unused imports, functions, variables |
biome-check | Lint JS/TS code with Biome | Style violations, potential errors |
biome-format | Format JS/TS code with Biome | Code formatting and consistency |
analyze-code | Combined Ruff + ty + Vulture analysis | Complete code quality assessment |
🔧 Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"analyzer": {
"command": "uvx",
"args": ["mcp-server-analyzer"]
}
}
}
Zed
Add to your Zed settings.json:
"context_servers": {
"analyzer": {
"command": "uvx",
"args": ["mcp-server-analyzer"]
}
}
Claude Code (project-level)
Place .mcp.json at your project root:
{
"mcpServers": {
"analyzer": {
"command": "uvx",
"args": ["mcp-server-analyzer"]
}
}
}
🧪 Development
Prerequisites
Setup
# Clone repository
git clone https://github.com/anselmoo/mcp-server-analyzer.git
cd mcp-server-analyzer
# Install Python dependencies
uv sync --dev
# Install Biome (JS/TS analyzer)
npm ci
# Run tests
uv run pytest
# Run type checks
uv run ty check src tests
# Run pre-commit hooks
uv tool run pre-commit run --all-files
# Build Docker image
docker build -t mcp-server-analyzer .
Testing
# Run all tests
uv run pytest tests/ -v
# Run with coverage
uv run pytest --cov=src/mcp_server_analyzer --cov-report=html
# Test specific functionality
uv run pytest tests/test_server.py::TestAnalyzers::test_ruff_with_sample_code
📊 Quality Metrics
The server provides quality scoring based on:
- Ruff Issues: Style violations, potential bugs, complexity metrics
- ty Diagnostics: Static typing errors and warnings
- Dead Code Detection: Unused imports, functions, variables
- Combined Score: Weighted quality assessment (0-100)
🔒 Security
- Signed Releases: All releases signed with Sigstore
- Container Signing: Docker images signed with Cosign
- Trusted Publishing: PyPI releases use GitHub OIDC trusted publishing
- Vulnerability Scanning: Automated security scanning in CI/CD
- Supply Chain Security: SLSA Build Level 3 compliance
- Security Policy: See SECURITY.md for vulnerability reporting
🔍 Data Handling & Transparency
- In-memory only: Code passed to tools is written to a temporary file, analyzed, and the file is deleted immediately — nothing is persisted between calls.
- No network calls: The server makes no outbound network connections during analysis.
- No telemetry: No usage data, analytics, or crash reports are collected.
- Subprocess isolation: ruff, ty, and vulture are invoked with fixed argument lists — no shell expansion or arbitrary command execution.
📚 Documentation
- Full Documentation - GitHub Pages docs
- Tools Reference - Detailed tool parameters and return types
- MCP Specification - Learn about Model Context Protocol
- FastMCP Framework - High-performance MCP implementation
- Ruff Documentation - Python linter and formatter
- ty Documentation - Python type checker and language server
- Vulture Documentation - Dead code finder
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using Conventional Commits
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Astral for RUFF and uv
- Jendrik Seipp for VULTURE
- Model Context Protocol team
- FastMCP framework
Made with ❤️ for better Python code quality
Questions fréquentes
Qu'est-ce que io.github.Anselmoo/mcp-server-analyzer ?
MCP server for Python, JavaScript, and TypeScript code analysis with Ruff, ty, Vulture, and Biome
Comment installer io.github.Anselmoo/mcp-server-analyzer ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mcp-server-analyzer -- uvx mcp-server-analyzer==0.4.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.Anselmoo/mcp-server-analyzer ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.Anselmoo/mcp-server-analyzer est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.Anselmoo/mcp-server-analyzer ?
Il est publié par Anselmoo. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.