mcpField
S
Silbercueswift

Silbercueswift

ローカル
github.com/silbercue開発ツール99 週間前に更新

Silbercueswift について

SilbercueSwiftは、コーディングエージェントやXcodeシミュレーターを使う開発者向けのネイティブSwift製MCPサーバーです。単一バイナリでビルド、シミュレーター操作、構造化された`.xcresult`診断、UI自動化を提供します。

主な機能

  1. 01iOSシミュレーターでアプリをビルド・実行
  2. 02構造化されたテスト失敗情報とカバレッジを返却
  3. 03UI操作と画面遷移を自動化
  4. 04シミュレーターのUI階層と要素を調査
  5. 05アプリログを取得・フィルタリング

活用シーン

  1. 01シミュレーターでiOSアプリをビルド・テスト
  2. 02失敗したテストのソース行とスクリーンショットを特定
  3. 03ダイアログやUIコントロールを含むアプリ操作を自動化
  4. 04不具合の調査中にアプリログを確認

MCP 対応

SilbercueSwiftはMCPサーバーとしてstdio経由で、iOSのビルド、テスト、シミュレーター、診断、UI自動化ツールを互換性のあるMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbsilbercueswift-v0.2.0.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SilbercueSwift

GitHub Release Free — 49 tools Pro available License: MIT MCP Registry Platform Swift 6.0 SilbercueSwift MCP server

比較した19項目の機能:SilbercueSwift 18、XcodeBuildMCP 6、Appium-MCP 4、iosef 1

iOS 開発向けの、最速かつ最も包括的な MCP サーバーです。Swift バイナリ 1 つで、58 個のツールを依存関係なしに利用できます。SilbercueSwift は、あらゆる代替製品の中で最も充実したツールセットを備えています。

Claude Code、Cursor、および MCP 対応のあらゆる AI エージェント向けに構築されています。

既存の iOS MCP サーバーに代わるものをお探しですか? SilbercueSwift は、XcodeBuildMCP、Appium-MCP、iosef の全機能を 1 つのバイナリでカバーし、さらに xcresult の解析、UI オートメーション、コードカバレッジ、最大 75 倍高速なスクリーンショットを提供します。以下の比較をご覧ください。

SilbercueSwift を選ぶ理由

すべての iOS MCP サーバーには、同じ問題があります。生の xcodebuild 出力は AI エージェントにとって役に立ちません。 500 行のビルドログ、エラーと誤認される stderr のノイズ、構造化されていないテスト結果。人間なら数秒で確認できる内容の解析に、エージェントは何分も費やします。

SilbercueSwift はこの問題を解決します。.xcresult バンドルを解析します。これは Xcode が内部で使用するのと同じ構造化データで、エージェントに必要な情報だけを返します。成功/失敗の件数、ファイル名と行番号を含む失敗メッセージ、ファイルごとのコードカバレッジ、失敗時のスクリーンショットです。

得られる機能XcodeBuildMCPAppium-MCPiosefSilbercueSwift
スクリーンショットの遅延~1127ms~77ms~83ms~316ms
(README の画像 ~15ms、75 倍)
ビュー階層~259ms~938ms~44ms~31ms
(README の画像 ~5ms)
要素の検索—76ms50ms31ms
(README の画像 <1ms +自動スクロール)
タップ(座標)235ms470ms48ms16ms
(README の画像 4ms)
スワイプ1284ms2685ms262ms~250ms
シミュレーター向けビルド対応——対応
1 回の呼び出しでビルド + 実行対応(逐次)——対応(並列、約 9 秒高速化)
構造化されたテスト結果部分的——完全な xcresult JSON
xcresult から失敗時のスクリーンショットを取得———自動エクスポート
ファイルごとのコードカバレッジ基本——並べ替え・フィルター可能
ビルドエラーの診断stderr の解析——ファイル名と行番号を含む xcresult JSON
ナビゲーション(検索 + タップ + 確認)———1 回の呼び出し(約 380ms)
ダブルタップ———約 60ms
ドラッグ & ドロップ—座標のみ(3 回の呼び出し)—要素間(1 回の呼び出し)
要素までスクロール—手動のスワイプループ—SmartScroll(1 回の呼び出し) README の画像
アラート処理—単一のアラート—3 段階検索 + accept_all の一括処理 README の画像
iOS 18 ContactsUI ダイアログ———対応
UI オートメーションの一括処理———run_plan:適応型の判断を伴う複数ステップの計画
ログのフィルタリングサブシステムのみ—部分的トピックでフィルター:トークンを 90% 削減 README の画像
失敗したテストごとのコンソールログ———任意
ログパターンを待機———正規表現 + タイムアウト
ビジュアルリグレッション———ベースライン + ピクセル差分 README の画像
複数デバイスでの確認———ダークモード、横向き、iPad README の画像
クロスプラットフォーム(Android)—対応——
ツール77(Rust)61(Node.js + Appium)15(Swift)58(ネイティブ Swift、8.5MB)
コールドスタート~400ms~1000ms~100ms~50ms
SilbercueSwift が真価を発揮する場面

killer feat スクリーンショットが最大 75 倍高速 — 約 316ms(README の画像 約 15ms)

無料プランのスクリーンショット(約 316ms)は、XcodeBuildMCP(約 1127ms)やほとんどの代替手段より高速です。Pro では遅延が約 15ms になり、Appium より 5 倍、XcodeBuildMCP より 75 倍高速になります。どちらのプランでも、エージェントはペナルティを気にせず自由にスクリーンショットを撮影できます。

killer feat xcresult バンドルから構造化されたテスト結果を取得 — 失敗時の推測は不要 テストが失敗すると、エージェントにはエラーメッセージ、正確なファイル名と行番号、失敗時のスクリーンショット、必要に応じてコンソール出力が渡されます。これらはすべて、Apple の .xcresult 形式から解析されます。500 行に及ぶ xcodebuild の標準エラー出力から推測する必要はありません。「エージェントが何が壊れたのかを把握する」のと「エージェントが何が壊れたのかを推測する」の違いです。

killer feat 単一バイナリ、依存関係ゼロ — 58 個のツールを 10 秒でインストール

brew install silbercue/silbercue/silbercueswift — これだけです。8.5MB のネイティブ Swift バイナリです。Node.js、npm、Appium サーバー、Python、Java、Rust ツールチェーンは不要です。コールドスタートは約 50ms。iOS MCP サーバーを最速で起動できます。

killer feat エージェントに必要な情報だけを読み取らせる — トークンを 90% 削減し、無駄な呼び出しをゼロに(トピックフィルタリング README の画像)

無料プランでは、すでにノイズを除去します。既知のノイズプロセス 15 件を取得時に除外し、重複行をまとめることで、I/O を 79% 削減します。Pro ではトピックフィルタリングが追加されます。read_logs は行を 8 つのトピックに分類し、デフォルトではアプリとクラッシュのみを表示し、network(87) lifecycle(12) springboard(8) のようなメニューを提示します。エージェントは推測や試行を繰り返すことなく、1 回の呼び出しで特定のトピックを開けます。

strong すべての権限ダイアログを 1 回で閉じる — 1 回のラウンドトリップで 3 つのアラートを処理 README の画像

すべてのアプリで、初回起動時に 2~3 個の権限ダイアログが表示されます。他のサーバーでは、ダイアログごとにエージェントがスクリーンショットを撮り、ボタンを探してクリックする必要があります。handle_alert(action: "accept_all") は SpringBoard、ContactsUI、アクティブなアプリを横断して検索し、すべてのダイアログを 1 回の呼び出しで閉じます。無料プランでは、accept / dismiss を使ってアラートを個別に処理します。

strong 要素 ID でドラッグ&ドロップ — 3 回ではなく 1 回の呼び出し README の画像

「アイテム A をアイテム B の上にドラッグ」は、drag_and_drop(source_element: "el-0", target_element: "el-1") で 1 回呼び出すだけです。競合製品が対応するのは生の座標のみです。そのため、エージェントは両方の要素を探し、フレームを取得して、W3C Actions シーケンスを組み立てる必要があり、最低でも 3 回の呼び出しが必要です。

strong 画面外の要素まで自動スクロール — 手動でスワイプを繰り返す必要はありません README の画像

find_element(using: "accessibility id", value: "Save", scroll: true) は、要素が表示されるまで自動的にスクロールします。SmartScroll は UIKit、SwiftUI、遅延読み込みリストに対応し、スクロール方向を推測する必要はありません。

strong 約 31ms(Free)/約 5ms(Pro)でビュー階層を取得 — 要素の検査を最大 188 倍高速化

get_source は UI ツリー全体を約 31ms(Free)または約 5ms(Pro)で返します。最速の競合製品でも 44ms、ほとんどは 250ms 以上かかります。これにより、エージェントは実質的にコストをかけずに要素を検査できます。

killer feat 1 回の呼び出しで画面遷移 — 要素検索+タップ+画面安定待ち+スクリーンショットを約 380ms で実行

navigate(to: "Settings") は要素を検索してタップし、画面が安定するまで待機して、確認用スクリーンショットを返します。すべて 1 回の呼び出しで完了します。これに対応する競合製品はありません。エージェントは画面遷移のたびに 3~4 回のツール呼び出しを削減できます。

strong UI 自動化の一括実行 — run_plan が複数ステップの計画を適応的な判断で実行します run_planはUIステップのシーケンスを受け取り、サーバー側で実行します。ステップで判断が必要な場合(予期しないダイアログ、要素が見つからない場合)は、MCPサンプリングから一時停止と再開まで、4段階のフォールバックを行います。「タップごとにツールを1回呼び出す」オーバーヘッドはもうありません。

クイックスタート

Homebrew でインストール
brew tap silbercue/silbercue
brew install silbercueswift
またはソースからビルド
git clone https://github.com/silbercue/SilbercueSwift.git
cd SilbercueSwift
swift build -c release
cp .build/release/SilbercueSwift /usr/local/bin/
Claude Code で設定

コマンド1つで、すべてのプロジェクトにグローバルインストールできます。

claude mcp add --scope user SilbercueSwift /opt/homebrew/bin/SilbercueSwift

注: フルパス(/opt/homebrew/bin/SilbercueSwift)を使用してください。Claude Code はフルシェル PATH を使わずに MCP サーバーを起動するため、コマンド名だけでは見つかりません。

Cursor で設定

~/.cursor/mcp.jsonに追加します。

{
  "mcpServers": {
    "SilbercueSwift": {
      "command": "/opt/homebrew/bin/SilbercueSwift"
    }
  }
}
その他の MCP クライアント(Cline、Continue など)で設定

stdio MCP サーバーに対応するクライアントなら、引数なしで/opt/homebrew/bin/SilbercueSwiftを指定してください。

アンインストール
claude mcp remove --scope user SilbercueSwift
brew uninstall silbercueswift
brew untap silbercue/silbercue

無料版と Pro

SilbercueSwift では、ビルド、テスト、シミュレーション、UI の自動化、ログの取得、スクリーンショットの撮影に使える49個のツールを無料で利用できます。時間制限や登録はありません。

Pro では、すべてを把握する必要があるチームやパワーユーザー向けに、9個のツールが追加され、内部処理も高速化されます。

無料版Pro
ビルド、テスト、シミュレーター管理49個のツール58個のツール
スクリーンショット~316ms~15ms(75倍高速)
構造化されたテスト結果(xcresult)はいはい
要素の検索31ms<1ms
ビュー階層31ms~5ms
タップ(座標)16ms4ms
クリック/入力/スワイプ/ダブルタップ/長押し/ドラッグ&ドロップはいはい
ナビゲーション(検索 + タップ + 検証)はいはい
UI の一括自動化(run_plan)はいはい
アラート処理個別に承認/却下+ accept_all / dismiss_all による一括処理
ログ取得スマート + 詳細+ アプリモード、トピックフィルタリング
コンソール取得、git ツールはいはい
要素までスクロール—SmartScroll
ビジュアルリグレッション—ベースライン + ピクセル差分
複数デバイスの確認—ダークモード、横向き、iPad
アクセシビリティの確認—Dynamic Type のレンダリング
ローカライズの確認—多言語 + RTL
ピンチ/ズーム—はい

Pro は月額12 EURです。Polar.sh でライセンスを取得してから、次を実行してください。

silbercueswift activate <YOUR-LICENSE-KEY>

14カテゴリにわたる58個のツール

ビルド(5個のツール)
ツール説明
build_simiOS Simulator 向けにビルドします — 構造化されたエラーを返し、バンドル ID とアプリのパスをキャッシュします
build_run_sim1回の呼び出しでビルド + 起動 + インストール + 実行します — 並列2フェーズのパイプラインにより、順次実行より約9秒高速です
cleanビルド成果物をクリーンアップします
discover_projects.xcodeproj/.xcworkspace ファイルを検索します
list_schemes利用可能なスキームを一覧表示します
テストと診断(4個のツール)
ツール説明
test_simテストを実行し、構造化された xcresult の概要(成功/失敗/所要時間)を表示します
test_failuresエラーメッセージ、ファイル:行番号、失敗時のスクリーンショットとともに、失敗したテストを表示します
test_coverageファイルごとのコードカバレッジを表示します。並べ替えとフィルタリングが可能です
build_and_diagnoseビルドし、xcresult から構造化されたエラー/警告を表示します
シミュレーター(12個のツール)
ツール説明
list_sims利用可能なシミュレーターを一覧表示します
boot_simシミュレーターを起動します
shutdown_simシミュレーターをシャットダウンします
install_app.app バンドルをインストールします
launch_appバンドル ID でアプリを起動します
terminate_app実行中のアプリを終了します
clone_sim既存のシミュレーターを複製します
erase_simシミュレーターのコンテンツと設定を消去します
delete_simシミュレーターを削除します
set_orientationWDA 経由でデバイスの向きを変更します(PORTRAIT、LANDSCAPE_LEFT、LANDSCAPE_RIGHT)
sim_statusシミュレーターの状態(起動中/シャットダウン、デバイスの種類、ランタイム)を表示します
sim_inspectシミュレーターの詳細情報(データパス、ログパス、UDID)を表示します
UI オートメーション(16 個のツール)

ジェスチャーにはネイティブ入力を、要素のクエリとアラートには WDA を使用します。Appium、Node.js、Python は不要です。

ツール説明レイテンシ
handle_alertシステムおよびアプリ内のアラートを承認、却下、または一括処理します約200ms
find_element / find_elementsアクセシビリティ ID、述語、クラスチェーンで要素を検索します。scroll: true にすると、要素が表示されるまで自動スクロールします(SmartScroll — 3 つのフォールバック戦略)31ms
(README の画像 1ms 未満)
click_elementUI 要素をタップします約75ms
tap_coordinates座標を指定してタップします約16ms
(README の画像 約4ms)
double_tap / long_press座標をダブルタップまたは長押しします約60ms / 約1000ms
swipe指定した方向にスワイプします約250ms
pinch拡大/縮小します約400ms README の画像
drag_and_dropドラッグ元からドロップ先へドラッグします — 要素間、座標指定、またはその組み合わせに対応します。並べ替え可能なリスト、カンバンボード、スライダー向けのスマートなデフォルト設定を備えています約1.3秒
navigate検索+タップ+画面安定待ち+スクリーンショットを 1 回の呼び出しで実行します — 3〜4 回のラウンドトリップを削減します約380ms
type_text / get_text要素にテキストを入力、または要素からテキストを読み取ります約100〜300ms
get_sourceビュー階層全体(JSON/XML)を取得します約31ms
(README の画像 約5ms)
wda_status / wda_create_sessionWDA のヘルスチェックとセッション管理を行います約50〜100ms
handle_alert — 最もスマートなアラートハンドラー
# Accept a single alert with smart defaults
handle_alert(action: "accept")

# Dismiss with a specific button label
handle_alert(action: "dismiss", button_label: "Not Now")

# Batch-accept ALL alerts after app launch (unique to SilbercueSwift)
handle_alert(action: "accept_all")

3 段階のアラート検索 — 次の場所からアラートを検索します。

  1. Springboard — システムの権限ダイアログ(位置情報、カメラ、トラッキング)
  2. ContactsUI — iOS 18 以降の連絡先の「限定アクセス」ダイアログ(別プロセス)
  3. アクティブなアプリ — アプリ内の UIAlertController ダイアログ

スマートなデフォルト設定 — タップするボタンを判断します。

  • 承認:「許可」→「アプリの使用中は許可」→「OK」→「続ける」→ 最後のボタン
  • 却下:「許可しない」(Unicode U+2019 に対応)→「キャンセル」→「今はしない」→ 最初のボタン

一括モード — accept_all / dismiss_all を使うと、サーバー側で連続する複数のアラートを順に処理します。N 回ではなく、HTTP ラウンドトリップ 1 回で済みます。処理したすべてのアラートの詳細を返します。

これらの機能は、現在ほかの iOS MCP サーバーが提供している範囲を超えています。

スクリーンショット(1 個のツール)
ツールレイテンシ
screenshotFree:約316ms / Pro:約15ms
ログ(4 個のツール)
ツール説明
start_log_captureスマートフィルター付き os_log ストリーム — 3 つのモードがあります。smart(デフォルト。トピックフィルタリングが有効)、app(ストリームを絞り込み、自動検出)、verbose(フィルターなし)。繰り返しの行は重複排除されます。
stop_log_captureキャプチャを停止します
read_logsトピックでフィルタリングして読み取ります — デフォルトではアプリとクラッシュのみが対象です。レスポンスには行数付きのトピックメニューが含まれます。include パラメーターでトピックを追加できます。
wait_for_logタイムアウトを設定して正規表現パターンを待ちます — sleep() によるハックを不要にします
スマートログフィルタリング — 4 層、設定不要
# Start capture (default: smart mode — broad stream, topic filtering enabled)
start_log_capture()

# Read logs — default shows only app logs + crashes + topic menu
read_logs()
# → --- 230 buffered, 42 shown [app, crashes] ---
# → Topics: app(35) crashes(2) | network(87) lifecycle(12) springboard(8) widgets(0) background(3) system(83)
# → Hint: include=["network"] to add SSL/TLS + background transfer logs
# → ---
# → [42 filtered lines]

# Agent sees network(87) and wants SSL details — one call:
read_logs(include: ["network"])

# Narrow stream for production monitoring:
start_log_capture(mode: "app")

# Bypass mode logic with explicit predicate:
start_log_capture(subsystem: "com.apple.SwiftUI")

4 つのフィルタリング層:

  1. ストリーム側のノイズ除外 — 既知のノイズプロセス 15 件とサブシステム/カテゴリの除外対象を、バッファリング前に削除します。logd でのサーバー側フィルタリングにより、I/O を 79% 削減します。
  2. 3 つのキャプチャモード — smart(デフォルト。トピックフィルタリング用に広範囲のストリームを取得)、app(絞り込み。バンドル ID とプロセス名を自動検出)、verbose(フィルタリングなし)。
  3. 読み取り時のトピックフィルタリング — read_logs はバッファリングされた各行を 8 つのトピック(app、crashes、network、lifecycle、springboard、widgets、background、system)に分類します。デフォルトでは app と crashes のみを表示します。エージェントは必要に応じてトピックを追加します。呼び出しごとに状態は保持されません。
  4. バッファ内の重複排除 — 同一のハートビート行 60 件を、行そのものと ... repeated 59x の 2 件にまとめます。

LLM に最適化されたメニューを備えた 8 つのトピック:

トピック対象使用例
app(常時有効)subsystem == bundleId または process == appNameアプリ:os_log、print()、NSLog()
crashes(常時有効)fault レベルのログあらゆるプロセスのクラッシュ
networktrustd、nsurlsessiondSSL/TLS 証明書、バックグラウンド転送
lifecyclerunningboardd、com.apple.runningboard.*Jetsam、メモリプレッシャー、アプリの強制終了
springboardSpringBoardプッシュ通知、アプリの状態
widgetschronodWidgetKit のタイムライン、更新予算
backgroundcom.apple.xpc.activity.*BGTaskScheduler、バックグラウンドフェッチ
system上記以外すべて警告:大量のログ
コンソール(3 つのツール)
ツール説明
launch_app_consolestdout/stderr をキャプチャしながらアプリを起動
read_app_consoleコンソール出力を読み取る
stop_app_consoleコンソールのキャプチャを停止
Git(5 つのツール)
ツール説明
git_status / git_diff / git_log読み取り操作
git_commit / git_branch書き込み操作
ビジュアルリグレッション(2 つのツール)
ツール説明
save_visual_baselineスクリーンショットを名前付きのベースラインとして保存
compare_visual現在の画面をベースラインと比較 — ピクセル差分と一致スコア
マルチデバイス(1 つのツール)
ツール説明
multi_device_check複数のシミュレーターでビジュアルチェックを実行(ダークモード、横向き、iPad)— レイアウトスコアを返します
アクセシビリティ(1 つのツール) README の画像
ツール説明
accessibility_checkDynamic Type のコンテンツサイズカテゴリごとに画面をレンダリング — テキストの切り詰めとレイアウトの問題を検出
ローカライズ(1 つのツール) README の画像
ツール説明
localization_checkRTL(アラビア語、ヘブライ語)を含む各言語で画面をレンダリング — レイアウトの崩れを検出
自動化(2 つのツール)
ツール説明
run_planサーバー側で複数ステップの UI 自動化プランを実行 — 4 段階のフォールバックによる適応的な判断
run_plan_decide判断を指定して一時停止中のプランを再開 — MCP サンプリングに対応していないクライアント向け
セッション(1 つのツール)
ツール説明
set_defaultsプロジェクト、スキーム、シミュレーターのデフォルト値を設定 — パラメーターの繰り返し指定を回避

xcresult の解析 — 画期的な機能

問題

すべての Xcode MCP サーバーは、生の xcodebuild 出力を返します。テスト実行では、ノイズが 500 行以上に及びます。AI エージェントは、どのテストが失敗したのか、またその理由を確実に抽出できません。

解決策

SilbercueSwift は xcresulttool を使用して .xcresult バンドルを解析します。これは、Xcode のテストナビゲーターが使用するものと同じ構造化データです。

# One call, structured result
test_sim(project: "MyApp.xcodeproj", scheme: "MyApp")

→ Tests FAILED in 15.2s
  12 total, 10 passed, 2 FAILED
  FAIL: Login shows error message
    LoginTests.swift:47: XCTAssertTrue failed
  FAIL: Profile image loads
    ProfileTests.swift:112: Expected non-nil value

  Failure screenshots (2):
    /tmp/ss-attachments/LoginTests_failure.png
    /tmp/ss-attachments/ProfileTests_failure.png

  Device: iPhone 16 Pro (18.2)
  xcresult: /tmp/ss-test-1774607917.xcresult

エージェントが取得できる情報:

  • 合格/失敗数 — すぐに全体像を把握できます
  • ファイル名と行番号付きの失敗メッセージ — すぐに対処できます
  • 失敗時のスクリーンショット — 視覚的なコンテキスト(Claude はマルチモーダルです)
  • xcresult のパス — test_failures または test_coverage で再利用できます
失敗の詳細分析
test_failures(xcresult_path: "/tmp/ss-test-*.xcresult", include_console: true)

→ FAIL: Login shows error message [LoginTests/testErrorMessage()]
    LoginTests.swift:47: XCTAssertTrue failed
    Screenshot: /tmp/ss-attachments/LoginTests_failure.png
    Console:
      [LoginService] Network timeout after 5.0s
      [LoginService] Retrying with fallback URL...
      ✘ Test "Login shows error message" failed after 6.2s
コードカバレッジ
test_coverage(project: "MyApp.xcodeproj", scheme: "MyApp", min_coverage: 80)

→ Overall coverage: 72.3%

  Target: MyApp.app (74.1%)
      0.0% AnalyticsService.swift
     45.2% LoginViewModel.swift
     67.8% ProfileManager.swift

  Target: MyAppTests.xctest (62.0%)
     ...

ベンチマーク

M3 MacBook Pro、iOS 26.4 シミュレーターで計測しました。すべての値は、ウォームアップを2回行った後の5回の実行の中央値です。

アクションiosefXcodeBuildMCPAppium-MCPSS FreeSS Pro
スクリーンショット83ms1127ms77ms316ms15ms
要素の検索50msN/A76ms31ms<1ms
タップ(座標指定)48ms235ms470ms16ms4ms
スワイプ262ms1284ms2685ms~250ms~250ms
ビュー階層44ms259ms938ms31ms5ms
ナビゲーション(1回の呼び出し)———~380ms~380ms
ダブルタップ———~84ms~60ms
ドラッグ&ドロップ—座標指定のみ—~1.3s~1.3s
アラートの処理——118ms~200ms~200ms
3つのアラートを処理(バッチ)——3回の呼び出し~800ms(1回の呼び出し)~800ms(1回の呼び出し)
要素までスクロール——スワイプのループ—自動
ビルド(クリーン)—2501ms—3188ms1800ms
シミュレーター一覧12ms567ms—15ms15ms
コールドスタート~100ms~400ms~1000ms~50ms~50ms
バイナリサイズ~5MB~4MB~200MB8.5MB8.5MB

他の MCP サーバーとの比較

XcodeBuildMCP、Appium-MCP、iosefとの詳細な比較については、上記の機能比較表をご覧ください。この3つはいずれも、iOS MCP ツールの先駆けとなった優れたプロジェクトです。SilbercueSwift は、これらすべての機能を組み合わせ、単一のネイティブバイナリにさらに深く統合しています。唯一のトレードオフは、SilbercueSwift が iOS 専用であることです(Android、watchOS、tvOS、visionOS には対応していません)。

アーキテクチャ

SilbercueSwift (8.5MB Swift binary)
├── MCP SDK (modelcontextprotocol/swift-sdk)
├── StdioTransport (JSON-RPC)
└── 58 Tools in 14 Categories
    Build · Test · Simulator · Screenshot · UI Automation
    Logs · Console · Visual Regression · Multi-Device
    Accessibility · Localization · Automation · Git · Session

Node.js も Python も Appium サーバーも Selenium も不要です。バイナリは1つだけです。

必要条件

  • macOS 13+
  • Xcode 15+(xcresulttoolとsimctl用)
  • Swift 6.0+(ソースからビルドする場合)
  • シミュレーターに WebDriverAgent がインストールされていること(UI 自動化ツール用)

ライセンス

コアバイナリと49個すべての無料ツールはMIT ライセンスです。詳しくはLICENSEをご覧ください。商用利用を含め、用途を問わず使用できます。

Pro ツール(追加の9個のツールと、より高速な内部処理)には有料ライセンスが必要です。ライセンス検証コード(LicenseManager.swift)は透明性を確保するためソースに含まれており、何をいつチェックするのかを正確に確認できます。

コントリビューション

Issue とプルリクエストを歓迎します。ガイドラインについてはCONTRIBUTING.mdをご覧ください。

プライバシー

SilbercueSwift はすべての処理をお使いの Mac 上で実行し、ユーザーデータを収集しません。詳しくはPRIVACY.mdをご覧ください。


ブラウザーの自動化もお考えですか?Public Browserは、Chrome 向けの同じアイデアです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。