Skip to main content
Glama

boot_sim

Launches an iOS simulator by specifying its UUID using the boot_sim tool on the XcodeBuildMCP server. Ensures quick setup for testing and development tasks.

Instructions

Boots an iOS simulator. IMPORTANT: You MUST provide the simulatorUuid parameter. Example: boot_sim({ simulatorUuid: 'YOUR_UUID_HERE' })

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
simulatorUuidYesUUID of the simulator to use (obtained from list_simulators)

Implementation Reference

  • The main handler function that executes the boot_sim tool logic by invoking 'xcrun simctl boot' on the given simulatorId and returning success/error responses.
    export async function boot_simLogic(
      params: BootSimParams,
      executor: CommandExecutor,
    ): Promise<ToolResponse> {
      log('info', `Starting xcrun simctl boot request for simulator ${params.simulatorId}`);
    
      try {
        const command = ['xcrun', 'simctl', 'boot', params.simulatorId];
        const result = await executor(command, 'Boot Simulator', true);
    
        if (!result.success) {
          return {
            content: [
              {
                type: 'text',
                text: `Boot simulator operation failed: ${result.error}`,
              },
            ],
          };
        }
    
        return {
          content: [
            {
              type: 'text',
              text: `✅ Simulator booted successfully. To make it visible, use: open_sim()
    
    Next steps:
    1. Open the Simulator app (makes it visible): open_sim()
    2. Install an app: install_app_sim({ simulatorId: "${params.simulatorId}", appPath: "PATH_TO_YOUR_APP" })
    3. Launch an app: launch_app_sim({ simulatorId: "${params.simulatorId}", bundleId: "YOUR_APP_BUNDLE_ID" })`,
            },
          ],
        };
      } catch (error) {
        const errorMessage = error instanceof Error ? error.message : String(error);
        log('error', `Error during boot simulator operation: ${errorMessage}`);
        return {
          content: [
            {
              type: 'text',
              text: `Boot simulator operation failed: ${errorMessage}`,
            },
          ],
        };
      }
    }
  • Zod schema definition for boot_sim parameters (simulatorId) and public schema (empty after omitting simulatorId).
    const bootSimSchemaObject = z.object({
      simulatorId: z.string().describe('UUID of the simulator to use (obtained from list_sims)'),
    });
    
    type BootSimParams = z.infer<typeof bootSimSchemaObject>;
    
    const publicSchemaObject = bootSimSchemaObject
      .omit({
        simulatorId: true,
      } as const)
      .strict();
  • Tool registration exporting the boot_sim tool with name, description, schema, and wrapped handler.
    export default {
      name: 'boot_sim',
      description: 'Boots an iOS simulator.',
      schema: publicSchemaObject.shape,
      handler: createSessionAwareTool<BootSimParams>({
        internalSchema: bootSimSchemaObject,
        logicFunction: boot_simLogic,
        getExecutor: getDefaultCommandExecutor,
        requirements: [{ allOf: ['simulatorId'], message: 'simulatorId is required' }],
      }),
    };

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Related Tools

Latest Blog Posts

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/getsentry/XcodeBuildMCP'

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