LabscoMCP early access ↗
SilbercueMCP SERVER

SilbercueSwift

Build, test and drive an iOS simulator from an agent — and get test failures back as structured xcresult data with file, line and a screenshot.

by Silbercue ↗Mobile & App Store ReleaseCommunity

LABSCO SUMMARY

Structured test results are the difference between an agent that knows what broke and one that guesses.

Parsing .xcresult means a failing test comes back as a message, a file and line, and a screenshot of the failure state — not 500 lines of stderr for the model to mine. The split to check before planning: 49 tools are free and MIT, while 9 more, including scroll-to-element, visual regression and topic-filtered logs, sit behind a licence. It is iOS only; no Android, watchOS, tvOS or visionOS.

What it is

A native Swift binary covering the whole iOS development loop: build, test, simulator control, UI automation, logs and git. Its central idea is that raw xcodebuild output is useless to an agent, so it parses the .xcresult bundle — the same structured data Xcode's Test Navigator reads — and returns conclusions instead of log lines.

What you get

  • Build: build_sim, build_run_sim which builds, boots, installs and launches in one call, plus clean, discover_projects and list_schemes
  • Testing: test_sim returns pass/fail counts and durations; test_failures returns the error message, the file and line, and a failure screenshot; test_coverage reports coverage per file; build_and_diagnose returns structured build errors
  • Simulator control: list_sims, boot_sim, shutdown_sim, install_app, launch_app, terminate_app, clone_sim, erase_sim, delete_sim, set_orientation, sim_status, sim_inspect
  • UI automation: find_element and find_elements, click_element, tap_coordinates, double_tap, long_press, swipe, drag_and_drop between elements, type_text, get_text, get_source for the view hierarchy, and navigate which finds, taps, waits for the screen to settle and returns a verification screenshot in one call
  • handle_alert accepts or dismisses system and in-app alerts, searching SpringBoard, ContactsUI and the active app
  • Logs: start_log_capture, read_logs with topic filtering, stop_log_capture, and wait_for_log which waits on a regex instead of sleeping
  • run_plan executes a multi-step UI plan server-side, with run_plan_decide to resume a paused one; set_defaults stores project, scheme and simulator so you stop repeating them

Requirements

macOS 13+ with Xcode 15+ for xcresulttool and simctl, and WebDriverAgent installed on the simulator for the UI automation tools. Install with brew tap silbercue/silbercue and brew install silbercueswift, or build from source with Swift 6.0+. Register it with claude mcp add --scope user SilbercueSwift /opt/homebrew/bin/SilbercueSwift — use the full path, because MCP servers start without a full shell PATH. The core binary and 49 free tools are MIT licensed; 9 further tools and faster internals need a paid licence, activated with silbercueswift activate.

Setup effort

One command — brew tap silbercue/silbercue && brew install silbercueswift