Skip to main content
Preflight MCP is configured entirely through environment variables set in your MCP client config. No config files, no CLI flags — just the env block in your mcp.json.

Variables

LOG_LEVEL
string
default:"info"
Controls the verbosity of server logs written to stderr.Accepted values:
  • debug — verbose output including idb command invocations, tool entry/exit, and timing
  • info — standard operational messages (default)
  • warn — only warnings and errors
  • error — only errors
Logs are written to stderr in the format:
[2026-03-25T10:00:00.000Z] [DEBUG] [idb:tap] Running: idb ui tap --udid <UDID> 200 400
PREFLIGHT_FILTERED_TOOLS
string
Comma-separated list of tool names to disable at startup. Disabled tools are not registered with the MCP client and will not appear in the tool list.Use this to reduce the tool surface exposed to an AI agent, or to prevent certain operations in sensitive environments.
PREFLIGHT_FILTERED_TOOLS=simulator_erase,simulator_uninstall_app
PREFLIGHT_IDB_PATH
string
Absolute path to the idb binary. Use this when idb is installed in a location that isn’t on the PATH Preflight inherits from your MCP client.When set, Preflight checks this path first before falling back to PATH lookup or scanning common install locations.IOS_SIMULATOR_MCP_IDB_PATH is accepted as an alias for this variable.
PREFLIGHT_IDB_PATH=/Users/you/Library/Python/3.11/bin/idb
If you know your idb path, setting PREFLIGHT_IDB_PATH directly is more reliable than relying on PATH expansion in MCP config.
PATH
string
The system PATH inherited by the Preflight server process. MCP clients typically launch the server with a minimal environment, so the idb binary may not be found unless you include its directory here.Common paths to include:
  • /opt/homebrew/bin — Homebrew on Apple Silicon
  • /usr/local/bin — Homebrew on Intel
  • ~/Library/Python/3.x/bin — pip3-installed idb
If PATH does not include the idb binary location and PREFLIGHT_IDB_PATH is not set, Preflight falls back to CGEvent-based touch injection, which briefly moves your cursor.

Setting Variables in Your MCP Client

All MCP clients accept an env block in their server configuration. Add your variables there.
{
  "mcpServers": {
    "preflight": {
      "command": "node",
      "args": ["/path/to/Preflight/dist/index.js"],
      "env": {
        "LOG_LEVEL": "info",
        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",
        "PREFLIGHT_IDB_PATH": "/Users/you/Library/Python/3.11/bin/idb"
      }
    }
  }
}

Filtering Tools

Use PREFLIGHT_FILTERED_TOOLS to restrict which tools the AI agent can call. Tool names match the exact names listed in the tools reference. Disable destructive operations:
{
  "env": {
    "PREFLIGHT_FILTERED_TOOLS": "simulator_erase,simulator_uninstall_app,simulator_install_app"
  }
}
Observation-only mode (no interaction tools):
{
  "env": {
    "PREFLIGHT_FILTERED_TOOLS": "simulator_tap,simulator_swipe,simulator_long_press,simulator_type_text,simulator_press_key"
  }
}
Disable video recording to reduce resource usage:
{
  "env": {
    "PREFLIGHT_FILTERED_TOOLS": "simulator_record_video,simulator_stop_recording"
  }
}
Filtered tools are excluded at server startup. The MCP client never sees them — they do not appear as available tools in the AI agent’s context.

Build docs developers (and LLMs) love