#!/usr/bin/env python3
"""
Script kiểm tra nhanh để verify Katana MCP Server
"""
import subprocess
import sys
def check_katana():
"""Kiểm tra Katana đã cài đặt chưa"""
try:
result = subprocess.run(
["katana", "--version"],
capture_output=True,
text=True,
timeout=5
)
if result.returncode == 0:
print(f"✅ Katana đã được cài đặt: {result.stdout.strip()}")
return True
else:
print(f"❌ Katana không hoạt động: {result.stderr.strip()}")
return False
except FileNotFoundError:
print("❌ Katana chưa được cài đặt")
print(" Cài đặt bằng: go install github.com/projectdiscovery/katana/cmd/katana@latest")
return False
except Exception as e:
print(f"❌ Lỗi khi kiểm tra Katana: {e}")
return False
def check_python_packages():
"""Kiểm tra các Python packages cần thiết"""
required_packages = ["mcp", "pydantic"]
missing = []
for package in required_packages:
try:
__import__(package)
print(f"✅ {package} đã được cài đặt")
except ImportError:
print(f"❌ {package} chưa được cài đặt")
missing.append(package)
if missing:
print(f"\nCài đặt các packages thiếu bằng:")
print(f"pip install {' '.join(missing)}")
return False
return True
def main():
print("=== Kiểm tra Katana MCP Server ===\n")
print("1. Kiểm tra Katana:")
katana_ok = check_katana()
print()
print("2. Kiểm tra Python packages:")
packages_ok = check_python_packages()
print()
if katana_ok and packages_ok:
print("✅ Tất cả kiểm tra đều pass! Server sẵn sàng sử dụng.")
return 0
else:
print("❌ Một số kiểm tra thất bại. Vui lòng sửa các lỗi trên.")
return 1
if __name__ == "__main__":
sys.exit(main())