File size: 1,204 Bytes
aa2d45f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import subprocess
import time
import os
from support.log_manager import logger


def start_mcp_servers():
    """Start both MCP servers as separate processes"""

    # Start boss server as subprocess
    boss_process = subprocess.Popen(
        ["python", "-m", "mcp_servers.boss_server"],
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        cwd=os.getcwd()
    )

    # Start captain server as subprocess
    captain_process = subprocess.Popen(
        ["python", "-m", "mcp_servers.captain_server"],
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        cwd=os.getcwd()
    )

    # Give servers time to start
    time.sleep(3)

    # Check if processes are running
    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")

    # Store process references for cleanup if needed
    return boss_process, captain_process