Labsco
MCP SERVER

SilbercueSwift

by Silbercue

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.

Mobile & App Store Release
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 install silbercueswift