Skip to main content
Glama

MCP Server for iOS Simulator

bridge.ts2.33 kB
import logger from '../utils/logger'; import simulatorManager from '../simulator/simulator-manager'; import mcpServer from '../mcp/mcp-server'; /** * Bridge class that connects the different components of the system: * - MCP Server (for LLM interactions) * - Simulator Manager (for controlling iOS simulators) */ class SimulatorBridge { /** * Initializes the bridge and starts all components */ async initialize(): Promise<void> { try { logger.info('Initializing SimulatorBridge'); // Start the MCP server await mcpServer.start(); logger.info('SimulatorBridge initialized successfully'); } catch (error) { logger.error('Failed to initialize SimulatorBridge', { error }); throw error; } } /** * Shuts down the bridge and all components */ async shutdown(): Promise<void> { try { logger.info('Shutting down SimulatorBridge'); // Stop the MCP server await mcpServer.stop(); logger.info('SimulatorBridge shutdown successfully'); } catch (error) { logger.error('Failed to shutdown SimulatorBridge', { error }); throw error; } } /** * Creates a new simulator session */ async createSimulatorSession(deviceName?: string, platformVersion?: string, timeout?: number): Promise<string> { try { const session = await simulatorManager.createSession({ deviceName, platformVersion, timeout }); logger.info(`Created simulator session: ${session.id}`); return session.id; } catch (error) { logger.error('Failed to create simulator session', { error, deviceName, platformVersion }); throw error; } } /** * Terminates a simulator session */ async terminateSimulatorSession(sessionId: string): Promise<boolean> { try { const success = await simulatorManager.terminateSession(sessionId); if (success) { logger.info(`Terminated simulator session: ${sessionId}`); } else { logger.warn(`Failed to terminate simulator session: ${sessionId}`); } return success; } catch (error) { logger.error('Failed to terminate simulator session', { error, sessionId }); throw error; } } } export default new SimulatorBridge();

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/atom2ueki/mcp-server-ios-simulator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server