@ebowwa/mcp-ios-devices 1.0.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -24,4 +24,5 @@ import './tools/location.js';
24
24
  import './tools/screenshot.js';
25
25
  import './tools/diagnostics.js';
26
26
  import './tools/profile.js';
27
+ import './tools/build.js';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG;AAgBH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -31,6 +31,7 @@ import './tools/location.js';
31
31
  import './tools/screenshot.js';
32
32
  import './tools/diagnostics.js';
33
33
  import './tools/profile.js';
34
+ import './tools/build.js';
34
35
  // Create MCP server
35
36
  const server = new Server({
36
37
  name: '@ebowwa/mcp-ios-devices',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kBAAkB;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,oEAAoE;AACpE,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAE1B,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC3B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;gBACnC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;SACvC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAE5D,eAAe;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC5E;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,uBAAuB,QAAQ,EAAE,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,0BAA0B,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,eAAe,CAAC,MAAsB;IAC7C,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAuB,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,OAAO;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAClD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACxC;AAGD,eAAO,MAAM,KAAK,EAAE,cAAc,EAAO,CAAC;AAE1C;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE1D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,gBAAgB;AAChB,MAAM,CAAC,MAAM,KAAK,GAAqB,EAAE,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAuB;IAClD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tools/app.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tools/app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAElC,YAAY,CAAC;IACX,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,qCAAqC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6CAA6C;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC1D,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACvC,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACvD,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxC,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KAChE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QACpD,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/tools/backup.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/tools/backup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/tools/build.ts"],"names":[],"mappings":""}
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Build, Test & Debug Tools
3
+ * Xcode build, test, debug, and performance profiling operations
4
+ */
5
+ import { z } from 'zod';
6
+ import { registerTool } from '../registry.js';
7
+ import { xcodeTools } from '@ebowwa/ios-devices';
8
+ // ============================================================================
9
+ // Build Tools
10
+ // ============================================================================
11
+ registerTool({
12
+ name: 'ios_build_app',
13
+ description: `Build an iOS app using xcodebuild.
14
+
15
+ Supports building for device or simulator. Returns build status, warnings, errors, and app path.
16
+
17
+ Examples:
18
+ - Build for simulator: { scheme: "MyApp", destination: "platform=iOS Simulator,name=iPhone 15" }
19
+ - Build for device: { scheme: "MyApp", destination: "platform=iOS,name=Starlink" }
20
+ - Build with workspace: { workspace: "MyApp.xcworkspace", scheme: "MyApp" }`,
21
+ inputSchema: z.object({
22
+ project: z.string().optional().describe('Path to .xcodeproj file'),
23
+ workspace: z.string().optional().describe('Path to .xcworkspace file'),
24
+ scheme: z.string().describe('Build scheme name'),
25
+ configuration: z.enum(['Debug', 'Release']).optional().default('Debug'),
26
+ destination: z.string().optional().describe('Build destination (e.g., "platform=iOS,name=Starlink")'),
27
+ sdk: z.string().optional().describe('SDK to use (e.g., "iphoneos", "iphonesimulator")'),
28
+ derivedDataPath: z.string().optional().describe('Path for derived data'),
29
+ codeSignIdentity: z.string().optional().describe('Code signing identity'),
30
+ provisioningProfile: z.string().optional().describe('Provisioning profile UUID'),
31
+ extraArgs: z.array(z.string()).optional().describe('Additional xcodebuild arguments'),
32
+ }),
33
+ handler: async (options) => {
34
+ return xcodeTools.buildApp(options);
35
+ },
36
+ });
37
+ registerTool({
38
+ name: 'ios_archive_app',
39
+ description: `Archive an iOS app for distribution.
40
+
41
+ Creates an .xcarchive that can be exported to IPA.
42
+
43
+ Examples:
44
+ - Archive for release: { scheme: "MyApp", archivePath: "/tmp/MyApp.xcarchive", configuration: "Release" }`,
45
+ inputSchema: z.object({
46
+ project: z.string().optional().describe('Path to .xcodeproj file'),
47
+ workspace: z.string().optional().describe('Path to .xcworkspace file'),
48
+ scheme: z.string().describe('Build scheme name'),
49
+ configuration: z.enum(['Debug', 'Release']).optional().default('Release'),
50
+ archivePath: z.string().describe('Path for the .xcarchive'),
51
+ destination: z.string().optional().describe('Build destination'),
52
+ }),
53
+ handler: async (options) => {
54
+ return xcodeTools.archiveApp(options);
55
+ },
56
+ });
57
+ registerTool({
58
+ name: 'ios_export_ipa',
59
+ description: `Export IPA from archive for distribution.
60
+
61
+ Requires an export options plist for code signing configuration.
62
+
63
+ Examples:
64
+ - Export for App Store: { archivePath: "/tmp/MyApp.xcarchive", exportPath: "/tmp/export", exportOptionsPlist: "/tmp/ExportOptions.plist" }`,
65
+ inputSchema: z.object({
66
+ archivePath: z.string().describe('Path to .xcarchive'),
67
+ exportPath: z.string().describe('Directory for exported IPA'),
68
+ exportOptionsPlist: z.string().describe('Path to ExportOptions.plist'),
69
+ }),
70
+ handler: async (options) => {
71
+ return xcodeTools.exportIPA(options);
72
+ },
73
+ });
74
+ // ============================================================================
75
+ // Test Tools
76
+ // ============================================================================
77
+ registerTool({
78
+ name: 'ios_run_tests',
79
+ description: `Run unit/UI tests using xcodebuild test.
80
+
81
+ Returns test results with pass/fail counts and individual test outcomes.
82
+
83
+ Examples:
84
+ - Run all tests: { scheme: "MyAppTests", destination: "platform=iOS Simulator,name=iPhone 15" }
85
+ - Run specific test: { scheme: "MyAppTests", onlyTesting: ["MyAppTests/MyTestClass/testMethod"] }
86
+ - Run test plan: { scheme: "MyApp", testPlan: "AllTests" }`,
87
+ inputSchema: z.object({
88
+ project: z.string().optional().describe('Path to .xcodeproj file'),
89
+ workspace: z.string().optional().describe('Path to .xcworkspace file'),
90
+ scheme: z.string().describe('Test scheme name'),
91
+ configuration: z.enum(['Debug', 'Release']).optional().default('Debug'),
92
+ destination: z.string().optional().describe('Test destination (device or simulator)'),
93
+ testPlan: z.string().optional().describe('Test plan name'),
94
+ onlyTesting: z.array(z.string()).optional().describe('Specific tests to run (e.g., ["TestClass/testMethod"])'),
95
+ skipTesting: z.array(z.string()).optional().describe('Tests to skip'),
96
+ parallelTesting: z.boolean().optional().default(false).describe('Enable parallel testing'),
97
+ retryCount: z.number().optional().describe('Number of times to retry failed tests'),
98
+ }),
99
+ handler: async (options) => {
100
+ return xcodeTools.runTests(options);
101
+ },
102
+ });
103
+ // ============================================================================
104
+ // Debug Tools
105
+ // ============================================================================
106
+ registerTool({
107
+ name: 'ios_debug_app',
108
+ description: `Start debugging an app on device using lldb.
109
+
110
+ Launches the app and attaches the debugger. Use for debugging crashes, breakpoints, etc.
111
+
112
+ Examples:
113
+ - Debug app: { deviceId: "00008030-00146...", bundleId: "com.myapp.ios" }
114
+ - Wait for debugger: { deviceId: "...", bundleId: "com.myapp.ios", waitForDebugger: true }
115
+ - With environment: { deviceId: "...", bundleId: "com.myapp.ios", environment: { "DEBUG": "1" } }`,
116
+ inputSchema: z.object({
117
+ deviceId: z.string().describe('Device UDID'),
118
+ bundleId: z.string().describe('App bundle identifier'),
119
+ waitForDebugger: z.boolean().optional().default(false).describe('Wait for debugger to attach before launching'),
120
+ environment: z.record(z.string()).optional().describe('Environment variables to set'),
121
+ arguments: z.array(z.string()).optional().describe('Command line arguments'),
122
+ }),
123
+ handler: async (options) => {
124
+ return xcodeTools.startDebugServer(options);
125
+ },
126
+ });
127
+ registerTool({
128
+ name: 'ios_attach_debugger',
129
+ description: `Attach debugger to a running process.
130
+
131
+ Attaches lldb to an already running app for debugging.
132
+
133
+ Examples:
134
+ - Attach by bundle ID: { deviceId: "...", bundleId: "com.myapp.ios" }
135
+ - Attach by PID: { deviceId: "...", bundleId: "com.myapp.ios", pid: 12345 }`,
136
+ inputSchema: z.object({
137
+ deviceId: z.string().describe('Device UDID'),
138
+ bundleId: z.string().describe('App bundle identifier'),
139
+ pid: z.number().optional().describe('Process ID (optional, uses bundle ID if omitted)'),
140
+ }),
141
+ handler: async (options) => {
142
+ return xcodeTools.attachToProcess(options);
143
+ },
144
+ });
145
+ // ============================================================================
146
+ // App Console (Filtered Logs)
147
+ // ============================================================================
148
+ registerTool({
149
+ name: 'ios_app_console',
150
+ description: `Stream console logs for a specific app.
151
+
152
+ Filters device logs to show only messages from the specified app. Useful for debugging app behavior.
153
+
154
+ Examples:
155
+ - Stream app logs for 30s: { deviceId: "...", bundleId: "com.myapp.ios" }
156
+ - Extended logging: { deviceId: "...", bundleId: "com.myapp.ios", timeoutSeconds: 60, maxLines: 2000 }`,
157
+ inputSchema: z.object({
158
+ deviceId: z.string().describe('Device UDID'),
159
+ bundleId: z.string().describe('App bundle identifier to filter logs'),
160
+ timeoutSeconds: z.number().min(5).max(300).default(30).describe('How long to collect logs'),
161
+ maxLines: z.number().min(10).max(5000).default(500).optional().describe('Maximum log lines'),
162
+ includeSystem: z.boolean().optional().default(false).describe('Include system logs (not just app)'),
163
+ }),
164
+ handler: async ({ deviceId, bundleId, timeoutSeconds, maxLines, includeSystem }) => {
165
+ const result = await xcodeTools.streamAppConsole({
166
+ deviceId,
167
+ bundleId,
168
+ timeoutMs: timeoutSeconds * 1000,
169
+ maxLines,
170
+ includeSystem,
171
+ });
172
+ return {
173
+ logCount: result.logs.length,
174
+ truncated: result.truncated,
175
+ logs: result.logs,
176
+ bundleId,
177
+ };
178
+ },
179
+ });
180
+ // ============================================================================
181
+ // Performance Profiling (Instruments)
182
+ // ============================================================================
183
+ registerTool({
184
+ name: 'ios_list_instruments_templates',
185
+ description: `List available Instruments templates for profiling.
186
+
187
+ Returns all available profiling templates like Time Profiler, Allocations, Leaks, etc.
188
+
189
+ Example:
190
+ - List templates: {}`,
191
+ inputSchema: z.object({}),
192
+ handler: async () => {
193
+ return xcodeTools.listInstrumentsTemplates();
194
+ },
195
+ });
196
+ registerTool({
197
+ name: 'ios_run_instruments',
198
+ description: `Run Instruments profiling on device.
199
+
200
+ Profiles app performance using the specified template. Results saved to trace file.
201
+
202
+ Examples:
203
+ - Time profile: { deviceId: "...", bundleId: "com.myapp.ios", template: "Time Profiler", outputPath: "/tmp/trace.trace" }
204
+ - Memory profile: { deviceId: "...", bundleId: "com.myapp.ios", template: "Allocations", outputPath: "/tmp/alloc.trace" }
205
+ - Leaks check: { deviceId: "...", bundleId: "com.myapp.ios", template: "Leaks", outputPath: "/tmp/leaks.trace" }`,
206
+ inputSchema: z.object({
207
+ deviceId: z.string().describe('Device UDID'),
208
+ template: z.string().describe('Instruments template name (e.g., "Time Profiler", "Allocations", "Leaks")'),
209
+ bundleId: z.string().optional().describe('App bundle identifier'),
210
+ appPath: z.string().optional().describe('Path to .app bundle'),
211
+ outputPath: z.string().describe('Path for output .trace file'),
212
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
213
+ extraArgs: z.array(z.string()).optional().describe('Additional instruments arguments'),
214
+ }),
215
+ handler: async (options) => {
216
+ return xcodeTools.runInstruments({
217
+ deviceId: options.deviceId,
218
+ template: options.template,
219
+ bundleId: options.bundleId,
220
+ appPath: options.appPath,
221
+ outputPath: options.outputPath,
222
+ duration: options.duration,
223
+ extraArgs: options.extraArgs,
224
+ });
225
+ },
226
+ });
227
+ registerTool({
228
+ name: 'ios_profile_time',
229
+ description: `Run Time Profiler on app.
230
+
231
+ Profiles CPU usage to identify performance bottlenecks.
232
+
233
+ Examples:
234
+ - Profile for 60s: { deviceId: "...", bundleId: "com.myapp.ios", outputPath: "/tmp/time-profile.trace" }`,
235
+ inputSchema: z.object({
236
+ deviceId: z.string().describe('Device UDID'),
237
+ bundleId: z.string().describe('App bundle identifier'),
238
+ outputPath: z.string().describe('Path for output .trace file'),
239
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
240
+ }),
241
+ handler: async (options) => {
242
+ return xcodeTools.runTimeProfiler(options);
243
+ },
244
+ });
245
+ registerTool({
246
+ name: 'ios_profile_memory',
247
+ description: `Run Allocations profiler on app.
248
+
249
+ Tracks memory allocations to identify memory usage patterns.
250
+
251
+ Examples:
252
+ - Profile memory: { deviceId: "...", bundleId: "com.myapp.ios", outputPath: "/tmp/allocations.trace" }`,
253
+ inputSchema: z.object({
254
+ deviceId: z.string().describe('Device UDID'),
255
+ bundleId: z.string().describe('App bundle identifier'),
256
+ outputPath: z.string().describe('Path for output .trace file'),
257
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
258
+ }),
259
+ handler: async (options) => {
260
+ return xcodeTools.runAllocationsProfiler(options);
261
+ },
262
+ });
263
+ registerTool({
264
+ name: 'ios_profile_leaks',
265
+ description: `Run Leaks profiler on app.
266
+
267
+ Detects memory leaks in the application.
268
+
269
+ Examples:
270
+ - Check for leaks: { deviceId: "...", bundleId: "com.myapp.ios", outputPath: "/tmp/leaks.trace" }`,
271
+ inputSchema: z.object({
272
+ deviceId: z.string().describe('Device UDID'),
273
+ bundleId: z.string().describe('App bundle identifier'),
274
+ outputPath: z.string().describe('Path for output .trace file'),
275
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
276
+ }),
277
+ handler: async (options) => {
278
+ return xcodeTools.runLeaksProfiler(options);
279
+ },
280
+ });
281
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/tools/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/tools/device.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/tools/device.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/tools/file.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/tools/file.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAElC,YAAY,CAAC;IACX,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACpD,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,2BAA2B;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC5D,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;QACnD,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC3D,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;QACnD,OAAO,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,2CAA2C;IACxD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/tools/location.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/tools/location.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,CAAC;IACX,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,sCAAsC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;KAC/D,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,gDAAgD;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/tools/log.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/dist/tools/log.js CHANGED
@@ -7,17 +7,36 @@ import { registerTool } from '../registry.js';
7
7
  import { LibIMobileDevice, DeviceCtl } from '@ebowwa/ios-devices';
8
8
  registerTool({
9
9
  name: 'ios_stream_syslog',
10
- description: 'Stream syslog from device (real-time logs)',
10
+ description: `Stream syslog from device with timeout control.
11
+
12
+ Returns parsed log entries. Use timeoutSeconds to limit collection time.
13
+
14
+ Examples:
15
+ - Stream logs for 30 seconds: { deviceId: "00008030-00146..." }
16
+ - Filter by process: { deviceId: "...", process: "SpringBoard", timeoutSeconds: 60 }
17
+ - Match pattern: { deviceId: "...", match: "error", timeoutSeconds: 30 }`,
11
18
  inputSchema: z.object({
12
19
  deviceId: z.string().describe('Device UDID'),
20
+ timeoutSeconds: z.number().min(5).max(300).default(30).describe('How long to collect logs (seconds)'),
13
21
  match: z.string().optional().describe('Only include logs matching pattern'),
14
22
  exclude: z.string().optional().describe('Exclude logs matching pattern'),
15
23
  process: z.string().optional().describe('Filter by process name'),
16
24
  kernel: z.boolean().optional().describe('Include kernel logs only'),
25
+ maxLines: z.number().min(10).max(10000).default(1000).optional().describe('Maximum number of log lines to return'),
17
26
  }),
18
- handler: async ({ deviceId, match, exclude, process, kernel }) => {
27
+ handler: async ({ deviceId, timeoutSeconds, match, exclude, process, kernel, maxLines }) => {
19
28
  const lib = new LibIMobileDevice({ udid: deviceId });
20
- return lib.streamSyslog({ match, exclude, process, kernel });
29
+ const result = await lib.streamSyslogStructured({
30
+ timeoutMs: timeoutSeconds * 1000,
31
+ maxLines,
32
+ filter: { match, exclude, process, kernel },
33
+ });
34
+ return {
35
+ logCount: result.logs.length,
36
+ truncated: result.truncated,
37
+ logs: result.logs,
38
+ rawOutput: result.rawOutput.slice(0, 5000), // Include first 5000 chars of raw output
39
+ };
21
40
  },
22
41
  });
23
42
  registerTool({
@@ -34,14 +53,30 @@ registerTool({
34
53
  });
35
54
  registerTool({
36
55
  name: 'ios_collect_diagnostics',
37
- description: 'Collect diagnostic information from device',
56
+ description: `Collect diagnostic information from device(s).
57
+
58
+ Creates a ZIP archive with device diagnostics including logs, sysdiagnose, and other info.
59
+
60
+ Examples:
61
+ - Collect from all devices: {}
62
+ - Collect from specific device: { deviceId: "00008030-00146..." }
63
+ - Save to custom path: { deviceId: "...", archiveDestination: "/tmp/my-diagnose.zip" }`,
38
64
  inputSchema: z.object({
39
65
  deviceId: z.string().optional().describe('Device UDID (omit for all devices)'),
40
- archiveDestination: z.string().optional().describe('Path for diagnostic archive'),
66
+ archiveDestination: z.string().optional().describe('Path for diagnostic archive (default: /tmp/devicectl_diagnose_<timestamp>.zip)'),
41
67
  }),
42
68
  handler: async ({ deviceId, archiveDestination }) => {
43
69
  const deviceCtl = new DeviceCtl();
44
- return deviceCtl.collectDiagnostics({ devices: deviceId, archiveDestination });
70
+ const result = await deviceCtl.collectDiagnostics({
71
+ devices: deviceId,
72
+ archiveDestination
73
+ });
74
+ return {
75
+ success: result.success,
76
+ archivePath: archiveDestination || '/tmp/devicectl_diagnose_<timestamp>.zip',
77
+ stdout: result.stdout,
78
+ stderr: result.stderr,
79
+ };
45
80
  },
46
81
  });
47
82
  registerTool({
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/tools/log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/tools/process.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/tools/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/tools/profile.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/tools/profile.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,CAAC;IACX,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,sCAAsC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAClE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC1C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC,CAAC;AAEH,YAAY,CAAC;IACX,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wCAAwC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,CAAC;IACX,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,wCAAwC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACvE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/tools/simulator.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../src/tools/simulator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebowwa/mcp-ios-devices",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for iOS device control - devicectl, libimobiledevice, simctl",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
33
  "@anthropic-ai/sdk": "^0.39.0",
34
- "@ebowwa/ios-devices": "^1.0.3",
34
+ "@ebowwa/ios-devices": "^1.1.0",
35
35
  "@modelcontextprotocol/sdk": "^1.0.0",
36
36
  "zod": "^3.22.0"
37
37
  },
package/src/index.ts CHANGED
@@ -40,6 +40,7 @@ import './tools/location.js';
40
40
  import './tools/screenshot.js';
41
41
  import './tools/diagnostics.js';
42
42
  import './tools/profile.js';
43
+ import './tools/build.js';
43
44
 
44
45
  // Create MCP server
45
46
  const server = new Server(
@@ -0,0 +1,298 @@
1
+ /**
2
+ * Build, Test & Debug Tools
3
+ * Xcode build, test, debug, and performance profiling operations
4
+ */
5
+ import { z } from 'zod';
6
+ import { registerTool } from '../registry.js';
7
+ import { xcodeTools, LibIMobileDevice, DeviceCtl } from '@ebowwa/ios-devices';
8
+
9
+ // ============================================================================
10
+ // Build Tools
11
+ // ============================================================================
12
+
13
+ registerTool({
14
+ name: 'ios_build_app',
15
+ description: `Build an iOS app using xcodebuild.
16
+
17
+ Supports building for device or simulator. Returns build status, warnings, errors, and app path.
18
+
19
+ Examples:
20
+ - Build for simulator: { scheme: "MyApp", destination: "platform=iOS Simulator,name=iPhone 15" }
21
+ - Build for device: { scheme: "MyApp", destination: "platform=iOS,name=Starlink" }
22
+ - Build with workspace: { workspace: "MyApp.xcworkspace", scheme: "MyApp" }`,
23
+ inputSchema: z.object({
24
+ project: z.string().optional().describe('Path to .xcodeproj file'),
25
+ workspace: z.string().optional().describe('Path to .xcworkspace file'),
26
+ scheme: z.string().describe('Build scheme name'),
27
+ configuration: z.enum(['Debug', 'Release']).optional().default('Debug'),
28
+ destination: z.string().optional().describe('Build destination (e.g., "platform=iOS,name=Starlink")'),
29
+ sdk: z.string().optional().describe('SDK to use (e.g., "iphoneos", "iphonesimulator")'),
30
+ derivedDataPath: z.string().optional().describe('Path for derived data'),
31
+ codeSignIdentity: z.string().optional().describe('Code signing identity'),
32
+ provisioningProfile: z.string().optional().describe('Provisioning profile UUID'),
33
+ extraArgs: z.array(z.string()).optional().describe('Additional xcodebuild arguments'),
34
+ }),
35
+ handler: async (options) => {
36
+ return xcodeTools.buildApp(options);
37
+ },
38
+ });
39
+
40
+ registerTool({
41
+ name: 'ios_archive_app',
42
+ description: `Archive an iOS app for distribution.
43
+
44
+ Creates an .xcarchive that can be exported to IPA.
45
+
46
+ Examples:
47
+ - Archive for release: { scheme: "MyApp", archivePath: "/tmp/MyApp.xcarchive", configuration: "Release" }`,
48
+ inputSchema: z.object({
49
+ project: z.string().optional().describe('Path to .xcodeproj file'),
50
+ workspace: z.string().optional().describe('Path to .xcworkspace file'),
51
+ scheme: z.string().describe('Build scheme name'),
52
+ configuration: z.enum(['Debug', 'Release']).optional().default('Release'),
53
+ archivePath: z.string().describe('Path for the .xcarchive'),
54
+ destination: z.string().optional().describe('Build destination'),
55
+ }),
56
+ handler: async (options) => {
57
+ return xcodeTools.archiveApp(options);
58
+ },
59
+ });
60
+
61
+ registerTool({
62
+ name: 'ios_export_ipa',
63
+ description: `Export IPA from archive for distribution.
64
+
65
+ Requires an export options plist for code signing configuration.
66
+
67
+ Examples:
68
+ - Export for App Store: { archivePath: "/tmp/MyApp.xcarchive", exportPath: "/tmp/export", exportOptionsPlist: "/tmp/ExportOptions.plist" }`,
69
+ inputSchema: z.object({
70
+ archivePath: z.string().describe('Path to .xcarchive'),
71
+ exportPath: z.string().describe('Directory for exported IPA'),
72
+ exportOptionsPlist: z.string().describe('Path to ExportOptions.plist'),
73
+ }),
74
+ handler: async (options) => {
75
+ return xcodeTools.exportIPA(options);
76
+ },
77
+ });
78
+
79
+ // ============================================================================
80
+ // Test Tools
81
+ // ============================================================================
82
+
83
+ registerTool({
84
+ name: 'ios_run_tests',
85
+ description: `Run unit/UI tests using xcodebuild test.
86
+
87
+ Returns test results with pass/fail counts and individual test outcomes.
88
+
89
+ Examples:
90
+ - Run all tests: { scheme: "MyAppTests", destination: "platform=iOS Simulator,name=iPhone 15" }
91
+ - Run specific test: { scheme: "MyAppTests", onlyTesting: ["MyAppTests/MyTestClass/testMethod"] }
92
+ - Run test plan: { scheme: "MyApp", testPlan: "AllTests" }`,
93
+ inputSchema: z.object({
94
+ project: z.string().optional().describe('Path to .xcodeproj file'),
95
+ workspace: z.string().optional().describe('Path to .xcworkspace file'),
96
+ scheme: z.string().describe('Test scheme name'),
97
+ configuration: z.enum(['Debug', 'Release']).optional().default('Debug'),
98
+ destination: z.string().optional().describe('Test destination (device or simulator)'),
99
+ testPlan: z.string().optional().describe('Test plan name'),
100
+ onlyTesting: z.array(z.string()).optional().describe('Specific tests to run (e.g., ["TestClass/testMethod"])'),
101
+ skipTesting: z.array(z.string()).optional().describe('Tests to skip'),
102
+ parallelTesting: z.boolean().optional().default(false).describe('Enable parallel testing'),
103
+ retryCount: z.number().optional().describe('Number of times to retry failed tests'),
104
+ }),
105
+ handler: async (options) => {
106
+ return xcodeTools.runTests(options);
107
+ },
108
+ });
109
+
110
+ // ============================================================================
111
+ // Debug Tools
112
+ // ============================================================================
113
+
114
+ registerTool({
115
+ name: 'ios_debug_app',
116
+ description: `Start debugging an app on device using lldb.
117
+
118
+ Launches the app and attaches the debugger. Use for debugging crashes, breakpoints, etc.
119
+
120
+ Examples:
121
+ - Debug app: { deviceId: "00008030-00146...", bundleId: "com.myapp.ios" }
122
+ - Wait for debugger: { deviceId: "...", bundleId: "com.myapp.ios", waitForDebugger: true }
123
+ - With environment: { deviceId: "...", bundleId: "com.myapp.ios", environment: { "DEBUG": "1" } }`,
124
+ inputSchema: z.object({
125
+ deviceId: z.string().describe('Device UDID'),
126
+ bundleId: z.string().describe('App bundle identifier'),
127
+ waitForDebugger: z.boolean().optional().default(false).describe('Wait for debugger to attach before launching'),
128
+ environment: z.record(z.string()).optional().describe('Environment variables to set'),
129
+ arguments: z.array(z.string()).optional().describe('Command line arguments'),
130
+ }),
131
+ handler: async (options) => {
132
+ return xcodeTools.startDebugServer(options);
133
+ },
134
+ });
135
+
136
+ registerTool({
137
+ name: 'ios_attach_debugger',
138
+ description: `Attach debugger to a running process.
139
+
140
+ Attaches lldb to an already running app for debugging.
141
+
142
+ Examples:
143
+ - Attach by bundle ID: { deviceId: "...", bundleId: "com.myapp.ios" }
144
+ - Attach by PID: { deviceId: "...", bundleId: "com.myapp.ios", pid: 12345 }`,
145
+ inputSchema: z.object({
146
+ deviceId: z.string().describe('Device UDID'),
147
+ bundleId: z.string().describe('App bundle identifier'),
148
+ pid: z.number().optional().describe('Process ID (optional, uses bundle ID if omitted)'),
149
+ }),
150
+ handler: async (options) => {
151
+ return xcodeTools.attachToProcess(options);
152
+ },
153
+ });
154
+
155
+ // ============================================================================
156
+ // App Console (Filtered Logs)
157
+ // ============================================================================
158
+
159
+ registerTool({
160
+ name: 'ios_app_console',
161
+ description: `Stream console logs for a specific app.
162
+
163
+ Filters device logs to show only messages from the specified app. Useful for debugging app behavior.
164
+
165
+ Examples:
166
+ - Stream app logs for 30s: { deviceId: "...", bundleId: "com.myapp.ios" }
167
+ - Extended logging: { deviceId: "...", bundleId: "com.myapp.ios", timeoutSeconds: 60, maxLines: 2000 }`,
168
+ inputSchema: z.object({
169
+ deviceId: z.string().describe('Device UDID'),
170
+ bundleId: z.string().describe('App bundle identifier to filter logs'),
171
+ timeoutSeconds: z.number().min(5).max(300).default(30).describe('How long to collect logs'),
172
+ maxLines: z.number().min(10).max(5000).default(500).optional().describe('Maximum log lines'),
173
+ includeSystem: z.boolean().optional().default(false).describe('Include system logs (not just app)'),
174
+ }),
175
+ handler: async ({ deviceId, bundleId, timeoutSeconds, maxLines, includeSystem }) => {
176
+ const result = await xcodeTools.streamAppConsole({
177
+ deviceId,
178
+ bundleId,
179
+ timeoutMs: timeoutSeconds * 1000,
180
+ maxLines,
181
+ includeSystem,
182
+ });
183
+
184
+ return {
185
+ logCount: result.logs.length,
186
+ truncated: result.truncated,
187
+ logs: result.logs,
188
+ bundleId,
189
+ };
190
+ },
191
+ });
192
+
193
+ // ============================================================================
194
+ // Performance Profiling (Instruments)
195
+ // ============================================================================
196
+
197
+ registerTool({
198
+ name: 'ios_list_instruments_templates',
199
+ description: `List available Instruments templates for profiling.
200
+
201
+ Returns all available profiling templates like Time Profiler, Allocations, Leaks, etc.
202
+
203
+ Example:
204
+ - List templates: {}`,
205
+ inputSchema: z.object({}),
206
+ handler: async () => {
207
+ return xcodeTools.listInstrumentsTemplates();
208
+ },
209
+ });
210
+
211
+ registerTool({
212
+ name: 'ios_run_instruments',
213
+ description: `Run Instruments profiling on device.
214
+
215
+ Profiles app performance using the specified template. Results saved to trace file.
216
+
217
+ Examples:
218
+ - Time profile: { deviceId: "...", bundleId: "com.myapp.ios", template: "Time Profiler", outputPath: "/tmp/trace.trace" }
219
+ - Memory profile: { deviceId: "...", bundleId: "com.myapp.ios", template: "Allocations", outputPath: "/tmp/alloc.trace" }
220
+ - Leaks check: { deviceId: "...", bundleId: "com.myapp.ios", template: "Leaks", outputPath: "/tmp/leaks.trace" }`,
221
+ inputSchema: z.object({
222
+ deviceId: z.string().describe('Device UDID'),
223
+ template: z.string().describe('Instruments template name (e.g., "Time Profiler", "Allocations", "Leaks")'),
224
+ bundleId: z.string().optional().describe('App bundle identifier'),
225
+ appPath: z.string().optional().describe('Path to .app bundle'),
226
+ outputPath: z.string().describe('Path for output .trace file'),
227
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
228
+ extraArgs: z.array(z.string()).optional().describe('Additional instruments arguments'),
229
+ }),
230
+ handler: async (options) => {
231
+ return xcodeTools.runInstruments({
232
+ deviceId: options.deviceId,
233
+ template: options.template,
234
+ bundleId: options.bundleId,
235
+ appPath: options.appPath,
236
+ outputPath: options.outputPath,
237
+ duration: options.duration,
238
+ extraArgs: options.extraArgs,
239
+ });
240
+ },
241
+ });
242
+
243
+ registerTool({
244
+ name: 'ios_profile_time',
245
+ description: `Run Time Profiler on app.
246
+
247
+ Profiles CPU usage to identify performance bottlenecks.
248
+
249
+ Examples:
250
+ - Profile for 60s: { deviceId: "...", bundleId: "com.myapp.ios", outputPath: "/tmp/time-profile.trace" }`,
251
+ inputSchema: z.object({
252
+ deviceId: z.string().describe('Device UDID'),
253
+ bundleId: z.string().describe('App bundle identifier'),
254
+ outputPath: z.string().describe('Path for output .trace file'),
255
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
256
+ }),
257
+ handler: async (options) => {
258
+ return xcodeTools.runTimeProfiler(options);
259
+ },
260
+ });
261
+
262
+ registerTool({
263
+ name: 'ios_profile_memory',
264
+ description: `Run Allocations profiler on app.
265
+
266
+ Tracks memory allocations to identify memory usage patterns.
267
+
268
+ Examples:
269
+ - Profile memory: { deviceId: "...", bundleId: "com.myapp.ios", outputPath: "/tmp/allocations.trace" }`,
270
+ inputSchema: z.object({
271
+ deviceId: z.string().describe('Device UDID'),
272
+ bundleId: z.string().describe('App bundle identifier'),
273
+ outputPath: z.string().describe('Path for output .trace file'),
274
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
275
+ }),
276
+ handler: async (options) => {
277
+ return xcodeTools.runAllocationsProfiler(options);
278
+ },
279
+ });
280
+
281
+ registerTool({
282
+ name: 'ios_profile_leaks',
283
+ description: `Run Leaks profiler on app.
284
+
285
+ Detects memory leaks in the application.
286
+
287
+ Examples:
288
+ - Check for leaks: { deviceId: "...", bundleId: "com.myapp.ios", outputPath: "/tmp/leaks.trace" }`,
289
+ inputSchema: z.object({
290
+ deviceId: z.string().describe('Device UDID'),
291
+ bundleId: z.string().describe('App bundle identifier'),
292
+ outputPath: z.string().describe('Path for output .trace file'),
293
+ duration: z.number().optional().default(60).describe('Profiling duration in seconds'),
294
+ }),
295
+ handler: async (options) => {
296
+ return xcodeTools.runLeaksProfiler(options);
297
+ },
298
+ });
package/src/tools/log.ts CHANGED
@@ -9,17 +9,37 @@ import { LibIMobileDevice, DeviceCtl } from '@ebowwa/ios-devices';
9
9
 
10
10
  registerTool({
11
11
  name: 'ios_stream_syslog',
12
- description: 'Stream syslog from device (real-time logs)',
12
+ description: `Stream syslog from device with timeout control.
13
+
14
+ Returns parsed log entries. Use timeoutSeconds to limit collection time.
15
+
16
+ Examples:
17
+ - Stream logs for 30 seconds: { deviceId: "00008030-00146..." }
18
+ - Filter by process: { deviceId: "...", process: "SpringBoard", timeoutSeconds: 60 }
19
+ - Match pattern: { deviceId: "...", match: "error", timeoutSeconds: 30 }`,
13
20
  inputSchema: z.object({
14
21
  deviceId: z.string().describe('Device UDID'),
22
+ timeoutSeconds: z.number().min(5).max(300).default(30).describe('How long to collect logs (seconds)'),
15
23
  match: z.string().optional().describe('Only include logs matching pattern'),
16
24
  exclude: z.string().optional().describe('Exclude logs matching pattern'),
17
25
  process: z.string().optional().describe('Filter by process name'),
18
26
  kernel: z.boolean().optional().describe('Include kernel logs only'),
27
+ maxLines: z.number().min(10).max(10000).default(1000).optional().describe('Maximum number of log lines to return'),
19
28
  }),
20
- handler: async ({ deviceId, match, exclude, process, kernel }) => {
29
+ handler: async ({ deviceId, timeoutSeconds, match, exclude, process, kernel, maxLines }) => {
21
30
  const lib = new LibIMobileDevice({ udid: deviceId });
22
- return lib.streamSyslog({ match, exclude, process, kernel });
31
+ const result = await lib.streamSyslogStructured({
32
+ timeoutMs: timeoutSeconds * 1000,
33
+ maxLines,
34
+ filter: { match, exclude, process, kernel },
35
+ });
36
+
37
+ return {
38
+ logCount: result.logs.length,
39
+ truncated: result.truncated,
40
+ logs: result.logs,
41
+ rawOutput: result.rawOutput.slice(0, 5000), // Include first 5000 chars of raw output
42
+ };
23
43
  },
24
44
  });
25
45
 
@@ -38,14 +58,31 @@ registerTool({
38
58
 
39
59
  registerTool({
40
60
  name: 'ios_collect_diagnostics',
41
- description: 'Collect diagnostic information from device',
61
+ description: `Collect diagnostic information from device(s).
62
+
63
+ Creates a ZIP archive with device diagnostics including logs, sysdiagnose, and other info.
64
+
65
+ Examples:
66
+ - Collect from all devices: {}
67
+ - Collect from specific device: { deviceId: "00008030-00146..." }
68
+ - Save to custom path: { deviceId: "...", archiveDestination: "/tmp/my-diagnose.zip" }`,
42
69
  inputSchema: z.object({
43
70
  deviceId: z.string().optional().describe('Device UDID (omit for all devices)'),
44
- archiveDestination: z.string().optional().describe('Path for diagnostic archive'),
71
+ archiveDestination: z.string().optional().describe('Path for diagnostic archive (default: /tmp/devicectl_diagnose_<timestamp>.zip)'),
45
72
  }),
46
73
  handler: async ({ deviceId, archiveDestination }) => {
47
74
  const deviceCtl = new DeviceCtl();
48
- return deviceCtl.collectDiagnostics({ devices: deviceId, archiveDestination });
75
+ const result = await deviceCtl.collectDiagnostics({
76
+ devices: deviceId,
77
+ archiveDestination
78
+ });
79
+
80
+ return {
81
+ success: result.success,
82
+ archivePath: archiveDestination || '/tmp/devicectl_diagnose_<timestamp>.zip',
83
+ stdout: result.stdout,
84
+ stderr: result.stderr,
85
+ };
49
86
  },
50
87
  });
51
88