ZBS Index What actually exists in applied AI, with the source next to it

mcp server

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

Description as published by the maintainer. Source

  • version 2.7.0
  • active

active — Most recent push to the repository was 2026-08-05.

What this server can do

58 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

boot_sim(simulatorUuid)
Boots an iOS simulator. After booting, use open_sim() to make the simulator visible. IMPORTANT: You MUST provide the simulatorUuid parameter. Example: boot_sim({ simulatorUuid: 'YOUR_UUID_HERE' }) Required: simulatorUuid.
build_device(scheme, extraArgs, projectPath, configuration, workspacePath, derivedDataPath, preferXcodebuild)
Builds an app from a project or workspace for a physical Apple device. Provide exactly one of projectPath or workspacePath. Example: build_device({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' }) Required: scheme.
build_macos(arch, scheme, extraArgs, projectPath, configuration, workspacePath, derivedDataPath, preferXcodebuild)
Builds a macOS app using xcodebuild from a project or workspace. Provide exactly one of projectPath or workspacePath. Example: build_macos({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' }) Required: scheme.
build_run_macos(arch, scheme, extraArgs, projectPath, configuration, workspacePath, derivedDataPath, preferXcodebuild)
Builds and runs a macOS app from a project or workspace in one step. Provide exactly one of projectPath or workspacePath. Example: build_run_macos({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' }) Required: scheme.
build_run_sim(scheme, extraArgs, projectPath, simulatorId, useLatestOS, configuration, simulatorName, workspacePath, derivedDataPath, preferXcodebuild)
Builds and runs an app from a project or workspace on a specific simulator by UUID or name. Provide exactly one of projectPath or workspacePath, and exactly one of simulatorId or simulatorName. IMPORTANT: Requires either projectPath or workspacePath, plus scheme and either simulatorId or simulatorName. Example: build_run_sim({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme', simulatorName: 'iPhone 16' }) Required: scheme.
build_sim(scheme, extraArgs, projectPath, simulatorId, useLatestOS, configuration, simulatorName, workspacePath, derivedDataPath, preferXcodebuild)
Builds an app from a project or workspace for a specific simulator by UUID or name. Provide exactly one of projectPath or workspacePath, and exactly one of simulatorId or simulatorName. IMPORTANT: Requires either projectPath or workspacePath, plus scheme and either simulatorId or simulatorName. Example: build_sim({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme', simulatorName: 'iPhone 16' }) Required: scheme.
button(duration, buttonType, simulatorUuid)
Press hardware button on iOS simulator. Supported buttons: apple-pay, home, lock, side-button, siri Required: simulatorUuid, buttonType.
clean(scheme, platform, extraArgs, projectPath, configuration, workspacePath, derivedDataPath, preferXcodebuild)
Cleans build products for either a project or a workspace using xcodebuild. Provide exactly one of projectPath or workspacePath. Platform defaults to iOS if not specified. Example: clean({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme', platform: 'iOS' })
describe_ui(simulatorUuid)
Gets entire view hierarchy with precise frame coordinates (x, y, width, height) for all visible elements. Use this before UI interactions or after layout changes - do NOT guess coordinates from screenshots. Returns JSON tree with frame data for accurate automation. Required: simulatorUuid.
discover_projs(maxDepth, scanPath, workspaceRoot)
Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files. Required: workspaceRoot.
doctor(enabled)
Provides comprehensive information about the MCP server environment, available dependencies, and configuration status.
gesture(delta, preset, duration, preDelay, postDelay, screenWidth, screenHeight, simulatorUuid)
Perform gesture on iOS simulator using preset gestures: scroll-up, scroll-down, scroll-left, scroll-right, swipe-from-left-edge, swipe-from-right-edge, swipe-from-top-edge, swipe-from-bottom-edge Required: simulatorUuid, preset.
get_app_bundle_id(appPath)
Extracts the bundle identifier from an app bundle (.app) for any Apple platform (iOS, iPadOS, watchOS, tvOS, visionOS). IMPORTANT: You MUST provide the appPath parameter. Example: get_app_bundle_id({ appPath: '/path/to/your/app.app' }) Required: appPath.
get_device_app_path(scheme, platform, projectPath, configuration, workspacePath)
Gets the app bundle path for a physical device application (iOS, watchOS, tvOS, visionOS) using either a project or workspace. Provide exactly one of projectPath or workspacePath. Example: get_device_app_path({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme' }) Required: scheme.
get_mac_app_path(arch, scheme, extraArgs, projectPath, configuration, workspacePath, derivedDataPath)
Gets the app bundle path for a macOS application using either a project or workspace. Provide exactly one of projectPath or workspacePath. Example: get_mac_app_path({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme' }) Required: scheme.
get_mac_bundle_id(appPath)
Extracts the bundle identifier from a macOS app bundle (.app). IMPORTANT: You MUST provide the appPath parameter. Example: get_mac_bundle_id({ appPath: '/path/to/your/app.app' }) Note: In some environments, this tool may be prefixed as mcp0_get_macos_bundle_id. Required: appPath.
get_sim_app_path(arch, scheme, platform, projectPath, simulatorId, useLatestOS, configuration, simulatorName, workspacePath)
Gets the app bundle path for a simulator by UUID or name using either a project or workspace file. IMPORTANT: Requires either projectPath OR workspacePath (not both), plus scheme, platform, and either simulatorId OR simulatorName (not both). Example: get_sim_app_path({ projectPath: '/path/to/project.xcodeproj', scheme: 'MyScheme', platform: 'iOS Simulator', simulatorName: 'iPhone 16' }) Required: scheme, platform.
install_app_device(appPath, deviceId)
Installs an app on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and appPath. Required: deviceId, appPath.
install_app_sim(appPath, simulatorUuid)
Installs an app in an iOS simulator. IMPORTANT: You MUST provide both the simulatorUuid and appPath parameters. Example: install_app_sim({ simulatorUuid: 'YOUR_UUID_HERE', appPath: '/path/to/your/app.app' }) Required: simulatorUuid, appPath.
key_press(keyCode, duration, simulatorUuid)
Press a single key by keycode on the simulator. Common keycodes: 40=Return, 42=Backspace, 43=Tab, 44=Space, 58-67=F1-F10. Required: simulatorUuid, keyCode.
key_sequence(delay, keyCodes, simulatorUuid)
Press key sequence using HID keycodes on iOS simulator with configurable delay Required: simulatorUuid, keyCodes.
launch_app_device(bundleId, deviceId)
Launches an app on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and bundleId. Required: deviceId, bundleId.
launch_app_logs_sim(args, bundleId, simulatorUuid)
Launches an app in an iOS simulator and captures its logs. Required: simulatorUuid, bundleId.
launch_app_sim(args, bundleId, simulatorName, simulatorUuid)
Launches an app in an iOS simulator by UUID or name. If simulator window isn't visible, use open_sim() first. IMPORTANT: Provide either simulatorUuid OR simulatorName, plus bundleId. Note: You must install the app in the simulator before launching. The typical workflow is: build → install → launch. Example: launch_app_sim({ simulatorUuid: 'YOUR_UUID_HERE', bundleId: 'com.example.MyApp' }) or launch_app_sim({ simulatorName: 'iPhone 16', bundleId: 'com.example.MyApp' }) Required: bundleId.
launch_mac_app(args, appPath)
Launches a macOS application. IMPORTANT: You MUST provide the appPath parameter. Example: launch_mac_app({ appPath: '/path/to/your/app.app' }) Note: In some environments, this tool may be prefixed as mcp0_launch_macos_app. Required: appPath.
list_devices
Lists connected physical Apple devices (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) with their UUIDs, names, and connection status. Use this to discover physical devices for testing.
list_schemes(projectPath, workspacePath)
Lists available schemes for either a project or a workspace. Provide exactly one of projectPath or workspacePath. Example: list_schemes({ projectPath: '/path/to/MyProject.xcodeproj' })
list_sims(enabled)
Lists available iOS simulators with their UUIDs.
long_press(x, y, duration, simulatorUuid)
Long press at specific coordinates for given duration (ms). Use describe_ui for precise coordinates (don't guess from screenshots). Required: simulatorUuid, x, y, duration.
open_sim
Opens the iOS Simulator app.
reset_sim_location(simulatorUuid)
Resets the simulator's location to default. Required: simulatorUuid.
scaffold_ios_project(outputPath, displayName, projectName, customizeNames, bundleIdentifier, deploymentTarget, marketingVersion, targetedDeviceFamily, currentProjectVersion, supportedOrientations, supportedOrientationsIpad)
Scaffold a new iOS project from templates. Creates a modern Xcode project with workspace structure, SPM package for features, and proper iOS configuration. Required: projectName, outputPath.
scaffold_macos_project(outputPath, displayName, projectName, customizeNames, bundleIdentifier, deploymentTarget, marketingVersion, currentProjectVersion)
Scaffold a new macOS project from templates. Creates a modern Xcode project with workspace structure, SPM package for features, and proper macOS configuration. Required: projectName, outputPath.
screenshot(simulatorUuid)
Captures screenshot for visual verification. For UI coordinates, use describe_ui instead (don't determine coordinates from screenshots). Required: simulatorUuid.
set_sim_appearance(mode, simulatorUuid)
Sets the appearance mode (dark/light) of an iOS simulator. Required: simulatorUuid, mode.
set_sim_location(latitude, longitude, simulatorUuid)
Sets a custom GPS location for the simulator. Required: simulatorUuid, latitude, longitude.
show_build_settings(scheme, projectPath, workspacePath)
Shows build settings from either a project or workspace using xcodebuild. Provide exactly one of projectPath or workspacePath, plus scheme. Example: show_build_settings({ projectPath: '/path/to/MyProject.xcodeproj', scheme: 'MyScheme' }) Required: scheme.
sim_statusbar(dataNetwork, simulatorUuid)
Sets the data network indicator in the iOS simulator status bar. Use "clear" to reset all overrides, or specify a network type (hide, wifi, 3g, 4g, lte, lte-a, lte+, 5g, 5g+, 5g-uwb, 5g-uc). Required: simulatorUuid, dataNetwork.
start_device_log_cap(bundleId, deviceId)
Starts capturing logs from a specified Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) by launching the app with console output. Returns a session ID. Required: deviceId, bundleId.
start_sim_log_cap(bundleId, simulatorUuid, captureConsole)
Starts capturing logs from a specified simulator. Returns a session ID. By default, captures only structured logs. Required: simulatorUuid, bundleId.
stop_app_device(deviceId, processId)
Stops an app running on a physical Apple device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro). Requires deviceId and processId. Required: deviceId, processId.
stop_app_sim(bundleId, simulatorName, simulatorUuid)
Stops an app running in an iOS simulator by UUID or name. IMPORTANT: Provide either simulatorUuid OR simulatorName, plus bundleId. Example: stop_app_sim({ simulatorUuid: "UUID", bundleId: "com.example.MyApp" }) or stop_app_sim({ simulatorName: "iPhone 16", bundleId: "com.example.MyApp" }) Required: bundleId.
stop_device_log_cap(logSessionId)
Stops an active Apple device log capture session and returns the captured logs. Required: logSessionId.
stop_mac_app(appName, processId)
Stops a running macOS application. Can stop by app name or process ID.
stop_sim_log_cap(logSessionId)
Stops an active simulator log capture session and returns the captured logs. Required: logSessionId.
swift_package_build(targetName, packagePath, architectures, configuration, parseAsLibrary)
Builds a Swift Package with swift build Required: packagePath.
swift_package_clean(packagePath)
Cleans Swift Package build artifacts and derived data Required: packagePath.
swift_package_list
Lists currently running Swift Package processes
swift_package_run(timeout, arguments, background, packagePath, configuration, executableName, parseAsLibrary)
Runs an executable target from a Swift Package with swift run Required: packagePath.
swift_package_stop(pid)
Stops a running Swift Package executable started with swift_package_run Required: pid.
swift_package_test(filter, parallel, packagePath, showCodecov, testProduct, configuration, parseAsLibrary)
Runs tests for a Swift Package with swift test Required: packagePath.
swipe(x1, x2, y1, y2, delta, duration, preDelay, postDelay, simulatorUuid)
Swipe from one point to another. Use describe_ui for precise coordinates (don't guess from screenshots). Supports configurable timing. Required: simulatorUuid, x1, y1, x2, y2.
tap(x, y, preDelay, postDelay, simulatorUuid)
Tap at specific coordinates. Use describe_ui to get precise element coordinates (don't guess from screenshots). Supports optional timing delays. Required: simulatorUuid, x, y.
test_device(scheme, deviceId, platform, extraArgs, projectPath, configuration, testRunnerEnv, workspacePath, derivedDataPath, preferXcodebuild)
Runs tests for an Apple project or workspace on a physical device (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro) using xcodebuild test and parses xcresult output. Provide exactly one of projectPath or workspacePath. IMPORTANT: Requires scheme and deviceId. Example: test_device({ projectPath: "/path/to/MyProject.xcodeproj", scheme: "MyScheme", deviceId: "device-uuid" }) Required: scheme, deviceId.
test_macos(scheme, extraArgs, projectPath, configuration, testRunnerEnv, workspacePath, derivedDataPath, preferXcodebuild)
Runs tests for a macOS project or workspace using xcodebuild test and parses xcresult output. Provide exactly one of projectPath or workspacePath. IMPORTANT: Requires scheme. Example: test_macos({ projectPath: "/path/to/MyProject.xcodeproj", scheme: "MyScheme" }) Required: scheme.
test_sim(scheme, extraArgs, projectPath, simulatorId, useLatestOS, configuration, simulatorName, testRunnerEnv, workspacePath, derivedDataPath, preferXcodebuild)
Runs tests on a simulator by UUID or name using xcodebuild test and parses xcresult output. Works with both Xcode projects (.xcodeproj) and workspaces (.xcworkspace). IMPORTANT: Requires either projectPath or workspacePath, plus scheme and either simulatorId or simulatorName. Example: test_sim({ projectPath: "/path/to/MyProject.xcodeproj", scheme: "MyScheme", simulatorName: "iPhone 16" }) Required: scheme.
touch(x, y, up, down, delay, simulatorUuid)
Perform touch down/up events at specific coordinates. Use describe_ui for precise coordinates (don't guess from screenshots). Required: simulatorUuid, x, y.
type_text(text, simulatorUuid)
Type text (supports US keyboard characters). Use describe_ui to find text field, tap to focus, then type. Required: simulatorUuid, text.

Last successful function declaration observed on . Source: pkg:npm/xcodebuildmcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: pkg:npm/xcodebuildmcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 6,199 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-08-05 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 14 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Package downloads 104,061 downloads Package downloads from the npm registry in this window. Includes continuous integration runs, mirrors and automated installs, so it overstates the number of human users. 2026-07-30 to 2026-08-05 npm
Latest published version 2.7.0 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-07-23 When the registry record was last updated by its maintainer. point in time Model Context Protocol
License MIT Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. as of fetch GitHub
First listed in the MCP Registry 2026-07-23 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 58 tools Number of functions the server declared when started and asked to list them. It says what the server offers an agent, not how well any of it works. as of probe npm
mcp endpoint status ok The server listed 58 functions when asked. as of probe npm
package install scripts none This package declares no install-time scripts, so installing it does not execute any of its code. as of probe npm

Where to get it

Related, by what their authors tagged them

  • io.github.cameroncooke/XcodeBuildMCP — last commit 2026-08-05, shares model-context-protocol-servers, tag-production, xcode
    XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
  • io.github.getsentry/sentry-mcp — last commit 2026-08-07, shares tag-production
    MCP server for Sentry - error monitoring, issue tracking, and debugging for AI assistants
  • conorluddy-ios-simulator-skill-ios-simulator-skill — last commit 2026-06-18, shares xcode
    29 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build autom…
  • Axint — last commit 2026-08-04, shares xcode
    Proof and repair for Apple coding agents: validate Swift, run Xcode evidence, and repair failures.
  • io.github.carloshpdoc/memorydetective — last commit 2026-05-25, shares xcode
    iOS leak/perf debugging via MCP: memgraph cycles, .trace analysis, SourceKit-LSP bridging.
  • io.github.ethbak/icon-composer-mcp — last commit 2026-04-06, shares xcode
    CLI and MCP server for creating Apple .icon bundles with Liquid Glass effects (iOS 26+)
  • Famulor — last commit 2026-06-13, shares model-context-protocol-servers
    AI voice agents: assistants, calls, campaigns, leads, knowledge bases, WhatsApp, SMS & SIP trunks.
  • io.github.930m310n/geomelon-mcp — last commit 2026-07-17, shares model-context-protocol-servers
    MCP server for the Geomelon geographic API — stdio and remote HTTP transports
  • io.github.930m310n/mcp — last commit 2026-07-17, shares model-context-protocol-servers
    MCP server for the Geomelon geographic API — stdio and remote HTTP transports
  • io.github.AgenTeam-AI-2026/mcp-apollo — last commit 2026-04-06, shares model-context-protocol-servers
    Apollo.io MCP server. Search people, enrich contacts, find emails, research companies.

These share tags the maintainers applied themselves, such as model-context-protocol-servers, tag-production, xcode, xcodebuild. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.

This is not a recommendation and not a test result. It is a map of what the authors said their work is about.

How the author describes it

Topics the maintainer set on GitHub: mcp, mcp-server, model-context-protocol, model-context-protocol-servers, tag-production, xcode, xcodebuild.

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. getsentry/XcodeBuildMCP on GitHub — GitHub, observed , trust tier 3.
  2. xcodebuildmcp download counts — npm, observed , trust tier 3.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.
  4. xcodebuildmcp started in an isolated container — npm, observed , trust tier 1.