Skip to main content
Glama
test_mcp_functions.py3.59 kB
#!/usr/bin/env python3 """ Test script for CodeBase Optimizer MCP functions """ import sys import os import asyncio # Add current directory to path sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from codebase_optimizer_engine import CodebaseAnalyzer async def test_all_functions(): """Test all analysis functions""" project_path = "/Users/liadgez/Documents/technologia/merged-implementations" print("🧪 Testing CodeBase Optimizer Functions") print("=" * 50) print(f"Project: {project_path}") print() analyzer = CodebaseAnalyzer(project_path) # Test 1: Project Structure Analysis print("1️⃣ Testing project structure analysis...") structure_result = analyzer.analyze_project_structure() print(f" Result: {'✅ Success' if structure_result.success else '❌ Failed'}") print(f" Recommendations: {len(structure_result.recommendations)}") print(f" Architecture: {structure_result.data.get('architecture_type', 'Unknown')}") print() # Test 2: Duplicate Detection print("2️⃣ Testing duplicate detection...") duplicates_result = analyzer.detect_code_duplicates() print(f" Result: {'✅ Success' if duplicates_result.success else '❌ Failed'}") print(f" Duplication: {duplicates_result.data.get('duplication_percentage', 0):.1f}%") print(f" Function duplicates: {len(duplicates_result.data.get('function_duplicates', []))}") print() # Test 3: Microservices Validation print("3️⃣ Testing microservices validation...") microservices_result = analyzer.validate_microservices_architecture() print(f" Result: {'✅ Success' if microservices_result.success else '❌ Failed'}") print(f" Is microservices: {microservices_result.data.get('is_microservices', False)}") print(f" Services detected: {len(microservices_result.data.get('services_detected', []))}") print() # Test 4: Configuration Optimization print("4️⃣ Testing configuration optimization...") config_result = analyzer.optimize_configurations() print(f" Result: {'✅ Success' if config_result.success else '❌ Failed'}") print(f" Config files: {len(config_result.data.get('config_files', []))}") print(f" Security issues: {len(config_result.data.get('security_issues', []))}") print() # Test 5: Comprehensive Report print("5️⃣ Testing comprehensive report generation...") results = { 'structure': structure_result, 'duplicates': duplicates_result, 'microservices': microservices_result, 'configuration': config_result } report = analyzer.generate_improvement_report(results) print(f" Health Score: {report.get('health_score', 0)}/100") print(f" Total Recommendations: {len(report.get('prioritized_recommendations', []))}") print(f" Action Plan Phases: {len(report.get('action_plan', []))}") print() # Summary print("🎯 Test Summary") print("=" * 50) # Show top 3 recommendations print("Top 3 Recommendations:") for i, rec in enumerate(report.get('prioritized_recommendations', [])[:3], 1): priority = rec.get('priority', 'medium').upper() recommendation = rec.get('recommendation', '') print(f" {i}. [{priority}] {recommendation}") print() print("✅ All functions tested successfully!") print(f"📊 Project Health: {report.get('health_score', 0)}/100") return report if __name__ == "__main__": asyncio.run(test_all_functions())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liadgez/codebase-optimizer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server