Files
dark_hal/install_mcp.py
2026-03-13 12:56:43 -07:00

99 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
Install MCP server dependencies
This script installs the required packages for the MCP server functionality.
"""
import subprocess
import sys
import os
from pathlib import Path
def install_mcp_dependencies():
"""Install MCP server dependencies."""
print("Installing MCP server dependencies...")
# Check if we're in a virtual environment
venv_path = None
if hasattr(sys, 'prefix') and sys.prefix != sys.base_prefix:
# We're in a virtual environment
if sys.platform == "win32":
venv_path = Path(sys.prefix) / "Scripts" / "pip.exe"
else:
venv_path = Path(sys.prefix) / "bin" / "pip"
# Use appropriate pip command
if venv_path and venv_path.exists():
pip_cmd = [str(venv_path)]
else:
pip_cmd = [sys.executable, "-m", "pip"]
# Install packages
packages = [
"mcp>=1.0.0",
"uvloop>=0.19.0; sys_platform != 'win32'"
]
try:
for package in packages:
print(f"Installing {package}...")
result = subprocess.run(
pip_cmd + ["install", package],
capture_output=True,
text=True,
check=True
)
print(f"{package} installed successfully")
print("\n✅ All MCP dependencies installed successfully!")
print("\nTo use the MCP server:")
print("1. Configure it via Tools → MCP Server Config")
print("2. Run: python mcp_server.py")
print("3. Add the configuration to Claude Desktop")
return True
except subprocess.CalledProcessError as e:
print(f"❌ Error installing packages: {e}")
print(f"Command output: {e.stdout}")
print(f"Command error: {e.stderr}")
return False
except Exception as e:
print(f"❌ Unexpected error: {e}")
return False
def check_mcp_installation():
"""Check if MCP is already installed."""
try:
import mcp
print(f"✓ MCP is already installed (version: {mcp.__version__})")
return True
except ImportError:
print(" MCP is not installed")
return False
def main():
"""Main installation function."""
print("=== LLM_Train MCP Server Setup ===\n")
if check_mcp_installation():
response = input("MCP is already installed. Reinstall? (y/N): ")
if response.lower() != 'y':
print("Setup cancelled.")
return
success = install_mcp_dependencies()
if success:
print("\n🎉 Setup complete! You can now use the MCP server functionality.")
else:
print("\n💥 Setup failed. Please check the error messages above.")
print("You may need to run this script as administrator or check your internet connection.")
if __name__ == "__main__":
main()