Skip to main content
Glama
andreahaku

Expo iOS Development MCP Server

by andreahaku

simulator.record_video.stop

Stop video recording in iOS Simulator and save the captured file for React Native/Expo development testing.

Instructions

Stop video recording and save the file

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Core handler function that stops the ongoing simulator video recording by killing the simctl process, registers the video as an artifact, and returns the saved path.
    export async function stopVideoRecording(): Promise<VideoRecordingInfo> {
      logger.info("simulator", "Stopping video recording");
    
      if (!recordingProcess || !currentVideoPath) {
        throw createError("SIMCTL_FAILED", "No video recording is in progress");
      }
    
      // Send SIGINT to stop recording gracefully
      recordingProcess.kill("SIGINT");
    
      try {
        await recordingProcess;
      } catch {
        // Process may exit with non-zero on SIGINT, which is expected
      }
    
      const savedPath = currentVideoPath;
    
      artifactManager.registerArtifact({
        type: "video",
        path: savedPath,
        metadata: { captureMethod: "simctl" },
      });
    
      recordingProcess = null;
      currentVideoPath = null;
    
      logger.info("simulator", `Video recording saved: ${savedPath}`);
    
      return {
        isRecording: false,
        path: savedPath,
      };
    }
  • MCP tool registration for "simulator.record_video.stop". Defines empty input schema and handler that delegates to stopVideoRecording() from simulator/video.ts.
    server.tool(
      "simulator.record_video.stop",
      "Stop video recording and save the file",
      {},
      async () => {
        try {
          const result = await stopVideoRecording();
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify({ success: true, ...result }, null, 2),
              },
            ],
          };
        } catch (error) {
          return handleToolError(error);
        }
      }
    );

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/andreahaku/expo_ios_development_mcp'

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