Skip to main content
Glama
devyhan
by devyhan

simctl-manager

Manages iOS simulators through simctl commands to list, create, boot, shutdown, erase, install apps, launch apps, or delete simulators for Xcode development workflows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandYesSimCtl 명령어
extraArgsNo추가 simctl 인자들

Implementation Reference

  • src/index.ts:499-544 (registration)
    Registration of the 'simctl-manager' tool using server.tool(), including inline schema and handler.
    server.tool( "simctl-manager", { command: z.enum(["list", "create", "boot", "shutdown", "erase", "install", "launch", "delete"]).describe("SimCtl 명령어"), extraArgs: z.array(z.string()).optional().describe("추가 simctl 인자들") }, async ({ command, extraArgs = [] }) => { try { console.error(`SimCtl 명령 실행: ${command}`); let simctlCommand = `xcrun simctl ${command}`; // 추가 인자 추가 if (extraArgs.length > 0) { simctlCommand += " " + extraArgs.join(" "); } console.error(`실행할 SimCtl 명령어: ${simctlCommand}`); // 명령어 실행 try { const { stdout, stderr } = await executeCommand(simctlCommand); let resultText = "SimCtl 결과:\n"; if (stdout) resultText += `${stdout}\n`; if (stderr) resultText += `${stderr}\n`; return { content: [{ type: "text", text: resultText }] }; } catch (error: any) { throw error; } } catch (error: any) { console.error(`SimCtl 오류: ${error.message}`); return { content: [{ type: "text", text: `SimCtl 명령 실행 중 오류가 발생했습니다:\n${error.message}\n${error.stderr || ''}` }], isError: true }; } } );
  • Handler function that constructs 'xcrun simctl [command] [extraArgs]' and executes it via executeCommand, returning stdout/stderr as text content or error.
    async ({ command, extraArgs = [] }) => { try { console.error(`SimCtl 명령 실행: ${command}`); let simctlCommand = `xcrun simctl ${command}`; // 추가 인자 추가 if (extraArgs.length > 0) { simctlCommand += " " + extraArgs.join(" "); } console.error(`실행할 SimCtl 명령어: ${simctlCommand}`); // 명령어 실행 try { const { stdout, stderr } = await executeCommand(simctlCommand); let resultText = "SimCtl 결과:\n"; if (stdout) resultText += `${stdout}\n`; if (stderr) resultText += `${stderr}\n`; return { content: [{ type: "text", text: resultText }] }; } catch (error: any) { throw error; } } catch (error: any) { console.error(`SimCtl 오류: ${error.message}`); return { content: [{ type: "text", text: `SimCtl 명령 실행 중 오류가 발생했습니다:\n${error.message}\n${error.stderr || ''}` }], isError: true }; } }
  • Input schema using Zod: required 'command' enum for simctl actions, optional array of extra arguments.
    command: z.enum(["list", "create", "boot", "shutdown", "erase", "install", "launch", "delete"]).describe("SimCtl 명령어"), extraArgs: z.array(z.string()).optional().describe("추가 simctl 인자들") },

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/devyhan/xcode-mcp'

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