Professional MCP Server for Xcode — 52 tools + 5 Skills (xcodebuild, simctl, Assets.xcassets, AppIcon ALL OS, SPM/CocoaPods, Vision/UI, StoreKit). Single-file index.js · Yarn 4 + Make · make install-skills · CI.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 33 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
agvtool_version_bump
-
asset_delete
-
asset_generate_appicon
-
asset_list_contents
-
asset_manage_color
-
asset_manage_image
-
asset_read_info
-
asset_validate_actool
-
devicectl_list
-
devicectl_logs
-
package_resolve
-
simctl_install_launch
-
simctl_lifecycle
-
simctl_list
-
simctl_location_mock
-
simctl_media_capture
-
simctl_open_url
-
simctl_privacy_control
-
simctl_push_notification
-
simctl_ui_appearance
-
swift_format_lint
-
xcode_analyze
-
xcode_archive_export
-
xcode_build
-
xcode_certificates_check
-
xcode_clean
-
xcode_get_active_file
-
xcode_list_schemes
-
xcode_open_at_line
-
xcode_run_tests
-
xcode_sync_strings
-
xcode_test_coverage
-
xctrace_profile
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit a557915 · analyzer v33 · 2d ago
skills & prompt files 6
- agent-rules YanxReal-Xcode-MPC-a557915/AGENTS.md
- skill YanxReal-Xcode-MPC-a557915/skills/xcode-assets/SKILL.md
- skill YanxReal-Xcode-MPC-a557915/skills/xcode-build/SKILL.md
- skill YanxReal-Xcode-MPC-a557915/skills/xcode-mpc/SKILL.md
- skill YanxReal-Xcode-MPC-a557915/skills/xcode-package/SKILL.md
- skill YanxReal-Xcode-MPC-a557915/skills/xcode-simulator-vision/SKILL.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 5
filesystem 3
- fs YanxReal-Xcode-MPC-a557915/.yarn/releases/yarn-4.18.0.cjs :142
,e,r)}M0.read=Act;function G0e(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(s,a)=>{if(s!==null){EF(r,s);return}let n=a.map(f=>({dirent:f,name:f.name,path:j0e.joinPathSegments(t,f.name,e.pathSegmentSepara - fs YanxReal-Xcode-MPC-a557915/index.js :10
import fs from "fs/promises"; - fs (weak) YanxReal-Xcode-MPC-a557915/scripts/smoke_test.mjs :4
import fs from "fs";
shell / exec 3
- shell YanxReal-Xcode-MPC-a557915/.yarn/releases/yarn-4.18.0.cjs :166
is.stderr=this.ancestor.stderr),s}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0 - shell YanxReal-Xcode-MPC-a557915/index.js :8
import { exec, spawn } from "child_process"; - shell (weak) YanxReal-Xcode-MPC-a557915/scripts/smoke_test.mjs :3
import { spawn } from "child_process";
network 1
- net YanxReal-Xcode-MPC-a557915/.yarn/releases/yarn-4.18.0.cjs :143
getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));return s||null}getFetcher(e,r){let s=this.f
secrets 1
- secrets YanxReal-Xcode-MPC-a557915/.yarn/releases/yarn-4.18.0.cjs :134
KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ytt(t,e){let r;try{r=new URL(e)}catch(f){throw f.code==="ERR_INVALID_
tool registrations 33
- xcode_build YanxReal-Xcode-MPC-a557915/index.js :161
- xcode_clean YanxReal-Xcode-MPC-a557915/index.js :186
- xcode_list_schemes YanxReal-Xcode-MPC-a557915/index.js :205
- xcode_analyze YanxReal-Xcode-MPC-a557915/index.js :219
- xcode_archive_export YanxReal-Xcode-MPC-a557915/index.js :234
- swift_format_lint YanxReal-Xcode-MPC-a557915/index.js :257
- xcode_run_tests YanxReal-Xcode-MPC-a557915/index.js :276
- xcode_test_coverage YanxReal-Xcode-MPC-a557915/index.js :301
- simctl_list YanxReal-Xcode-MPC-a557915/index.js :317
- simctl_lifecycle YanxReal-Xcode-MPC-a557915/index.js :329
- simctl_install_launch YanxReal-Xcode-MPC-a557915/index.js :342
- simctl_media_capture YanxReal-Xcode-MPC-a557915/index.js :356
- simctl_push_notification YanxReal-Xcode-MPC-a557915/index.js :371
- simctl_location_mock YanxReal-Xcode-MPC-a557915/index.js :388
- simctl_privacy_control YanxReal-Xcode-MPC-a557915/index.js :402
- simctl_ui_appearance YanxReal-Xcode-MPC-a557915/index.js :421
- simctl_open_url YanxReal-Xcode-MPC-a557915/index.js :434
- devicectl_list YanxReal-Xcode-MPC-a557915/index.js :447
- devicectl_logs YanxReal-Xcode-MPC-a557915/index.js :456
- xctrace_profile YanxReal-Xcode-MPC-a557915/index.js :469
- agvtool_version_bump YanxReal-Xcode-MPC-a557915/index.js :489
- xcode_certificates_check YanxReal-Xcode-MPC-a557915/index.js :509
- xcode_get_active_file YanxReal-Xcode-MPC-a557915/index.js :518
- xcode_open_at_line YanxReal-Xcode-MPC-a557915/index.js :527
- xcode_sync_strings YanxReal-Xcode-MPC-a557915/index.js :541
- asset_list_contents YanxReal-Xcode-MPC-a557915/index.js :554
- asset_manage_color YanxReal-Xcode-MPC-a557915/index.js :567
- asset_manage_image YanxReal-Xcode-MPC-a557915/index.js :583
- asset_read_info YanxReal-Xcode-MPC-a557915/index.js :601
- asset_delete YanxReal-Xcode-MPC-a557915/index.js :613
- asset_validate_actool YanxReal-Xcode-MPC-a557915/index.js :625
- asset_generate_appicon YanxReal-Xcode-MPC-a557915/index.js :643
- package_resolve YanxReal-Xcode-MPC-a557915/index.js :663
install hooks 1
- prepare YanxReal-Xcode-MPC-a557915/package.json :14
chmod +x index.js
declared dependencies 1
- @modelcontextprotocol/sdk@^1.12.0