|
|
import subprocess |
|
|
import time |
|
|
import os |
|
|
from support.log_manager import logger |
|
|
|
|
|
|
|
|
def start_mcp_servers(): |
|
|
"""Start both MCP servers as separate processes""" |
|
|
|
|
|
|
|
|
boss_process = subprocess.Popen( |
|
|
["python", "-m", "mcp_servers.boss_server"], |
|
|
stdin=subprocess.PIPE, |
|
|
stdout=subprocess.PIPE, |
|
|
stderr=subprocess.PIPE, |
|
|
cwd=os.getcwd() |
|
|
) |
|
|
|
|
|
|
|
|
captain_process = subprocess.Popen( |
|
|
["python", "-m", "mcp_servers.captain_server"], |
|
|
stdin=subprocess.PIPE, |
|
|
stdout=subprocess.PIPE, |
|
|
stderr=subprocess.PIPE, |
|
|
cwd=os.getcwd() |
|
|
) |
|
|
|
|
|
|
|
|
time.sleep(3) |
|
|
|
|
|
|
|
|
if boss_process.poll() is None: |
|
|
logger.info("BossServer started successfully as subprocess") |
|
|
else: |
|
|
logger.error("BossServer failed to start") |
|
|
|
|
|
if captain_process.poll() is None: |
|
|
logger.info("CaptainServer started successfully as subprocess") |
|
|
else: |
|
|
logger.error("CaptainServer failed to start") |
|
|
|
|
|
|
|
|
return boss_process, captain_process |