iOS Development

Provides iOS simulator control and Xcode development tooling via MCP for Claude AI
  • typescript

3

GitHub Stars

typescript

Language

2 months ago

First Indexed

3 weeks ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "dagba-ios-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/ios-dev-mcp-server/build/index.js"
      ]
    }
  }
}

You get a complete MCP server that lets you control iOS simulators, manage apps, inspect UI, run builds and tests, and automate iOS development workflows from Claude AI. This server is designed to enable autonomous iOS simulator operations and Swift/Xcode tooling through a clean, scriptable interface you can invoke from an MCP client. It is built to be integrated into a local development setup where you can boot simulators, install apps, interact with the UI, stream logs, and drive builds and tests from your workflows.

How to use

You use this MCP server by running it locally as an MCP endpoint and connecting your MCP client to the provided stdio command. Start by building the server, then configure your MCP client to point at the local build in your environment. Once connected, you can drive simulators and Xcode tooling using the available tools in scripted workflows or Claude Code skills. Typical usage patterns include: booting a simulator, installing and launching your app, taking screenshots for UI verification, streaming logs for debugging, and running unit/UI tests with parsed results.

How to install

Follow these concrete steps to set up the iOS Development MCP Server locally and ready it for Claude Code integration.

# Prerequisites
# - macOS with Xcode 15+ and Command Line Tools installed
# - Node.js 18+

# Quick Setup
# 1) Clone the server repository
# (Use your actual repo path for the command below)
git clone https://github.com/dagba/ios-mcp
cd ios-mcp

# 2) Install dependencies
npm install

# 3) Build the project
npm run build

Additional setup and configuration

Configure the MCP client to load and use the local server build. The following configuration demonstrates how to wire the server into Claude Code so you can start issuing MCP prompts that drive the iOS tooling.

{
  "mcpServers": {
    "ios_dev_mcp": {
      "command": "node",
      "args": ["/absolute/path/to/ios-dev-mcp-server/build/index.js"],
      "metadata": {
        "name": "iOS Development MCP Server",
        "description": "Comprehensive iOS simulator control and Swift/Xcode development tools",
        "version": "0.4.0"
      }
    }
  }
}

Troubleshooting and tips

If you encounter issues during setup, verify that the build output path matches the path specified in your configuration. Ensure Xcode Command Line Tools are installed and that the required Node version is active. If a simulator cannot be booted, confirm you have a valid simulator runtime installed via Xcode and that the specified device UDID exists on your system.

Future plans and licensing

This project is actively developed to expand tool coverage, improve reliability, and add richer integration points with Claude Code. Planned enhancements include more robust build tooling, improved test reporting, deeper Instruments/Profiling support, and expanded Swift Package Manager automation. The software is released under the MIT license and is provided as-is for development and experimentation.

Available tools

simulator_list_devices

List all available iOS simulator devices with their current states.

simulator_boot

Boot an iOS simulator device by UDID.

simulator_shutdown

Shutdown a running iOS simulator device.

simulator_get_info

Get detailed information about a specific simulator device.

simulator_screenshot

Capture a screenshot from the iOS simulator with automatic compression.

simulator_tap

Tap at specific coordinates on the simulator screen.

simulator_swipe

Perform a swipe gesture between two points on the simulator.

simulator_long_press

Long press to reveal context menus on the simulator.

simulator_describe_ui

Describe the full accessibility UI tree of the current screen.

simulator_describe_point

Describe the accessibility information for the element at given coordinates.

simulator_launch_app

Launch an app on the simulator by its bundle identifier.

simulator_terminate_app

Terminate a running app on the simulator.

simulator_install_app

Install an .app bundle on the simulator.

simulator_uninstall_app

Uninstall an app from the simulator and its data.

simulator_open_url

Open a URL or deep link on the simulator.

simulator_get_logs

Retrieve recent log entries from the simulator with optional filters.

simulator_type_text

Type text into the currently focused text field on the simulator.

simulator_press_home

Simulate pressing the home button on the simulator.

simulator_send_keys

Send hardware keyboard shortcuts or text to the simulator.

simulator_list_crashes

List crash reports with optional filtering by bundle and date.

simulator_get_crash

Retrieve a full crash report with stacktrace for a given crash.

simulator_delete_crashes

Delete crash reports from the simulator to clean up storage.

simulator_stream_logs

Stream real-time logs from the simulator with optional predicates.

simulator_input_text

Type text into focused fields in an advanced input workflow.

simulator_press_button

Simulate hardware button presses (HOME, LOCK, SIDE_BUTTON, SIRI, APPLE_PAY).

xcodebuild_build

Build apps for the simulator with error parsing and timing data.

xcodebuild_clean

Clean build artifacts and derived data.

xcodebuild_test

Run unit and UI tests with structured results.

xcodebuild_build_stats

Get build time statistics, trends, and performance insights.

simulator_status_bar_override

Override status bar visuals for demos and testing.

simulator_status_bar_list

List current status bar overrides on a simulator.

simulator_status_bar_clear

Clear all status bar overrides and restore default visuals.

simulator_set_appearance

Switch simulator appearance between light and dark modes.

simulator_get_appearance

Query the current appearance mode of the simulator.

simulator_set_content_size

Set Dynamic Type size for accessibility testing.

simulator_get_content_size

Get the current Dynamic Type size setting.

simulator_set_increase_contrast

Enable or disable increased contrast accessibility mode.

simulator_grant_permission

Grant a privacy permission to an app without prompting.

simulator_revoke_permission

Revoke a privacy permission for an app.

simulator_reset_permissions

Reset app permissions to prompt on next use.

simulator_send_push_notification

Send a simulated push notification to an app.

simulator_set_location

Set the simulator GPS location for testing.

simulator_simulate_route

Simulate movement along a route with defined waypoints.

simulator_list_location_scenarios

List predefined location scenarios for testing.

simulator_clear_location

Stop location simulation and clear any overrides.

simulator_start_video_recording

Start recording the simulator screen to a video file.

simulator_stop_video_recording

Stop recording and save the video.

simulator_add_media

Add photos, videos, or contacts to the simulator library.

simulator_get_app_container_path

Get the file system path to an app's container.

simulator_clipboard_copy

Copy text to the simulator clipboard.

simulator_clipboard_paste

Paste text from the simulator clipboard.

simulator_clipboard_sync

Sync the clipboard between simulators.

simulator_add_root_certificate

Add a trusted root certificate to the simulator keychain.

simulator_add_certificate

Add a certificate to the simulator keychain.

simulator_reset_keychain

Reset the simulator keychain and credentials.

simulator_trigger_icloud_sync

Trigger an iCloud sync on the simulator.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
iOS Development MCP Server - dagba/ios-mcp | VeilStrat