Some checks failed
CI / Code Quality (push) Failing after 17s
CI / Test (ubuntu-latest, 3.10) (push) Failing after 5s
CI / Test (ubuntu-latest, 3.11) (push) Failing after 4s
CI / Test (ubuntu-latest, 3.12) (push) Failing after 4s
CI / Test (ubuntu-latest, 3.13) (push) Failing after 4s
CI / Coverage (push) Failing after 25s
CI / Test (macos-latest, 3.13) (push) Has been cancelled
CI / Test (macos-latest, 3.10) (push) Has been cancelled
CI / Test (macos-latest, 3.11) (push) Has been cancelled
CI / Test (macos-latest, 3.12) (push) Has been cancelled
CI / Test (windows-latest, 3.10) (push) Has been cancelled
CI / Test (windows-latest, 3.11) (push) Has been cancelled
CI / Test (windows-latest, 3.12) (push) Has been cancelled
CI / Test (windows-latest, 3.13) (push) Has been cancelled
✨ Features: - 50+ development tools across 13 specialized categories - ⚡ Sneller Analytics: High-performance vectorized SQL (TB/s throughput) - 🎬 Asciinema Integration: Terminal recording and sharing - 🧠 AI-Powered Recommendations: Intelligent tool suggestions - 🔀 Advanced Git Integration: Smart operations with AI suggestions - 📁 Enhanced File Operations: Monitoring, bulk ops, backups - 🔍 Semantic Code Search: AST-based intelligent analysis - 🏗️ Development Workflow: Testing, linting, formatting - 🌐 Network & API Tools: HTTP client, mock servers - 📦 Archive & Compression: Multi-format operations - 🔬 Process Tracing: System call monitoring - 🌍 Environment Management: Virtual envs, dependencies 🎯 Ready for production with comprehensive documentation and MCP Inspector support!
92 lines
2.8 KiB
Python
92 lines
2.8 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Comparison script to validate that all initial design functionality is implemented
|
|
"""
|
|
|
|
import re
|
|
from pathlib import Path
|
|
|
|
|
|
def extract_tool_names_from_file(file_path):
|
|
"""Extract tool names from a Python file using regex"""
|
|
tools = []
|
|
try:
|
|
with open(file_path) as f:
|
|
content = f.read()
|
|
|
|
# Find all @mcp_tool decorators
|
|
tool_patterns = re.findall(r'@mcp_tool\(name="([^"]+)"', content)
|
|
tools.extend(tool_patterns)
|
|
|
|
except Exception as e:
|
|
print(f"Error reading {file_path}: {e}")
|
|
|
|
return tools
|
|
|
|
|
|
def compare_implementations():
|
|
"""Compare the initial design with current implementation"""
|
|
|
|
print("Enhanced MCP Tools - Implementation Validation")
|
|
print("=" * 60)
|
|
|
|
# Extract tools from initial design
|
|
initial_design_file = Path("/home/rpm/claude/enhanced-mcp-tools/.initial-design/scaffold.py")
|
|
initial_tools = extract_tool_names_from_file(initial_design_file)
|
|
|
|
# Extract tools from current implementation (enhanced_mcp modules)
|
|
enhanced_mcp_dir = Path("/home/rpm/claude/enhanced-mcp-tools/enhanced_mcp")
|
|
current_tools = []
|
|
|
|
# Extract tools from all enhanced_mcp modules
|
|
for module_file in enhanced_mcp_dir.glob("*.py"):
|
|
if module_file.name != "__init__.py":
|
|
module_tools = extract_tool_names_from_file(module_file)
|
|
current_tools.extend(module_tools)
|
|
|
|
print(f"\nInitial Design Tools: {len(initial_tools)}")
|
|
print(f"Current Implementation Tools: {len(current_tools)}")
|
|
|
|
# Compare tools
|
|
initial_set = set(initial_tools)
|
|
current_set = set(current_tools)
|
|
|
|
missing_tools = initial_set - current_set
|
|
extra_tools = current_set - initial_set
|
|
common_tools = initial_set & current_set
|
|
|
|
print(f"\nCommon Tools: {len(common_tools)}")
|
|
print(f"Missing from Implementation: {len(missing_tools)}")
|
|
print(f"Extra in Implementation: {len(extra_tools)}")
|
|
|
|
if missing_tools:
|
|
print("\n❌ Missing Tools:")
|
|
for tool in sorted(missing_tools):
|
|
print(f" - {tool}")
|
|
|
|
if extra_tools:
|
|
print("\n✅ Extra Tools (improvements):")
|
|
for tool in sorted(extra_tools):
|
|
print(f" - {tool}")
|
|
|
|
if common_tools:
|
|
print(f"\n✅ Implemented Tools ({len(common_tools)}):")
|
|
for tool in sorted(common_tools):
|
|
print(f" - {tool}")
|
|
|
|
# Overall status
|
|
print("\n" + "=" * 60)
|
|
coverage = len(common_tools) / len(initial_tools) * 100 if initial_tools else 0
|
|
print(f"Implementation Coverage: {coverage:.1f}%")
|
|
|
|
if coverage >= 100:
|
|
print("✅ ALL initial design tools are implemented!")
|
|
elif coverage >= 80:
|
|
print("✅ Good coverage - most tools implemented")
|
|
else:
|
|
print("⚠️ Significant tools still need implementation")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
compare_implementations()
|