Files
mcp-vultr/verify_server.py

96 lines
3.1 KiB
Python

#!/usr/bin/env python3
"""
Simple verification script for Vultr MCP Server
"""
import sys
import os
import json
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
print("Vultr MCP Server - Verification Script")
print("=" * 50)
# 1. Check if we can import the modules
print("\n1. Importing modules...")
try:
from src.vultr_mcp.client import VultrClient
print(" ✓ VultrClient imported successfully")
except ImportError as e:
print(f" ✗ Failed to import VultrClient: {e}")
sys.exit(1)
try:
from src.vultr_mcp.server import app
print(" ✓ FastAPI app imported successfully")
except ImportError as e:
print(f" ✗ Failed to import FastAPI app: {e}")
sys.exit(1)
# 2. Check app structure
print("\n2. Checking app structure...")
if hasattr(app, 'routes'):
print(f" ✓ App has {len(app.routes)} routes")
else:
print(" ✗ App doesn't have routes attribute")
# 3. Check that we can create a VultrClient instance (will fail without API key)
print("\n3. Testing VultrClient initialization...")
try:
# This should fail since we don't have VULTR_API_KEY
client = VultrClient()
print(" ✗ Unexpected: VultrClient initialized without API key")
except ValueError as e:
print(f" ✓ VultrClient correctly requires API key: {e}")
except Exception as e:
print(f" ✗ Unexpected error: {e}")
# 4. Check main entry point
print("\n4. Checking main entry point...")
try:
with open('main.py', 'r') as f:
content = f.read()
if 'uvicorn.run' in content:
print(" ✓ main.py contains uvicorn.run")
else:
print(" ✗ main.py doesn't contain uvicorn.run")
except Exception as e:
print(f" ✗ Error reading main.py: {e}")
# 5. Check requirements
print("\n5. Checking requirements.txt...")
required_packages = ['fastapi', 'uvicorn', 'vultr-python-client', 'python-dotenv']
missing = []
for package in required_packages:
try:
__import__(package.replace('-', '_'))
print(f"{package} is installed")
except ImportError:
missing.append(package)
print(f"{package} is NOT installed")
if missing:
print(f"\n Warning: Missing packages: {', '.join(missing)}")
print(" Install with: pip install {' '.join(missing)}")
print("\n" + "=" * 50)
print("VERIFICATION COMPLETE")
print("=" * 50)
if len(missing) == 0:
print("\n✅ Server implementation is ready!")
print("\nTo use the Vultr MCP Server:")
print("1. Get your Vultr API key from: https://my.vultr.com/settings/#settingsapi")
print("2. Copy .env.example to .env and add your API key")
print("3. Start the server: python main.py")
print("4. Test with: python examples/basic_usage.py")
print("\nThe server will run on http://localhost:8000")
print("MCP endpoints will be available at:")
print(" - GET /tools - List available tools")
print(" - POST /tools/call - Execute Vultr operations")
print(" - GET /resources - List available resources")
print(" - GET /prompts - List available prompts")
else:
print("\n⚠️ Some packages are missing. Please install them first.")