appium-mcp 1.40.0 → 1.41.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/CHANGELOG.md +6 -0
- package/dist/tools/app-management/list-apps.d.ts.map +1 -1
- package/dist/tools/app-management/list-apps.js +11 -6
- package/dist/tools/app-management/list-apps.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/resources/submodules.zip +0 -0
- package/src/tools/app-management/list-apps.ts +17 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [1.41.0](https://github.com/appium/appium-mcp/compare/v1.40.0...v1.41.0) (2026-04-02)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **list-apps:** allow fetching system apps on iOS ([#238](https://github.com/appium/appium-mcp/issues/238)) ([dd16581](https://github.com/appium/appium-mcp/commit/dd16581b81b598c7baf0b18f2c7f3753a498e89a))
|
|
6
|
+
|
|
1
7
|
## [1.40.0](https://github.com/appium/appium-mcp/compare/v1.39.0...v1.40.0) (2026-04-01)
|
|
2
8
|
|
|
3
9
|
### Features
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-apps.d.ts","sourceRoot":"","sources":["../../../src/tools/app-management/list-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"list-apps.d.ts","sourceRoot":"","sources":["../../../src/tools/app-management/list-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiFlC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA6CtD"}
|
|
@@ -13,7 +13,7 @@ function normalizeListAppsResult(result) {
|
|
|
13
13
|
''),
|
|
14
14
|
}));
|
|
15
15
|
}
|
|
16
|
-
async function listAppsFromDevice() {
|
|
16
|
+
async function listAppsFromDevice(applicationType = 'User') {
|
|
17
17
|
const driver = await getDriver();
|
|
18
18
|
if (!driver) {
|
|
19
19
|
throw new Error('No driver found');
|
|
@@ -33,7 +33,7 @@ async function listAppsFromDevice() {
|
|
|
33
33
|
const result = JSON.parse(stdout);
|
|
34
34
|
return normalizeListAppsResult(result || {});
|
|
35
35
|
}
|
|
36
|
-
const result = await driver.mobileListApps();
|
|
36
|
+
const result = await driver.mobileListApps(applicationType);
|
|
37
37
|
return normalizeListAppsResult(result || {});
|
|
38
38
|
}
|
|
39
39
|
if (platform === PLATFORM.android &&
|
|
@@ -45,14 +45,19 @@ async function listAppsFromDevice() {
|
|
|
45
45
|
throw new Error(`listApps is not implemented for platform: ${platform}`);
|
|
46
46
|
}
|
|
47
47
|
export default function listApps(server) {
|
|
48
|
-
const schema = z.object({
|
|
48
|
+
const schema = z.object({
|
|
49
|
+
applicationType: z
|
|
50
|
+
.enum(['User', 'System'])
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('iOS only: filter apps by type. "User" returns user-installed apps, "System" returns system apps. Defaults to "User".'),
|
|
53
|
+
});
|
|
49
54
|
server.addTool({
|
|
50
55
|
name: 'appium_list_apps',
|
|
51
|
-
description: 'List all installed apps on the device. On Android, only package IDs are returned (no display names); on iOS, bundle IDs and display names are returned.',
|
|
56
|
+
description: 'List all installed apps on the device. On Android, only package IDs are returned (no display names); on iOS, bundle IDs and display names are returned. On iOS, use applicationType to filter by "User" (default) or "System" apps.',
|
|
52
57
|
parameters: schema,
|
|
53
|
-
execute: async () => {
|
|
58
|
+
execute: async (args) => {
|
|
54
59
|
try {
|
|
55
|
-
const apps = await listAppsFromDevice();
|
|
60
|
+
const apps = await listAppsFromDevice(args.applicationType);
|
|
56
61
|
const textResponse = {
|
|
57
62
|
content: [
|
|
58
63
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-apps.js","sourceRoot":"","sources":["../../../src/tools/app-management/list-apps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,kCAAkC,EAClC,uBAAuB,EACvB,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,SAAS,uBAAuB,CAC9B,MAA2D;IAE3D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB;YAClC,KAAK,EAAE,YAAY;YAClB,KAAa,EAAE,IAAI;YACpB,EAAE,CAAW;KAChB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,kBAAkB
|
|
1
|
+
{"version":3,"file":"list-apps.js","sourceRoot":"","sources":["../../../src/tools/app-management/list-apps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"name": "io.github.appium/appium-mcp",
|
|
4
4
|
"title": "MCP Appium - Mobile Development and Automation Server",
|
|
5
5
|
"description": "MCP server for Appium mobile automation on iOS and Android devices with test creation tools.",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.41.0",
|
|
7
7
|
"packages": [
|
|
8
8
|
{
|
|
9
9
|
"registryType": "npm",
|
|
10
10
|
"identifier": "appium-mcp",
|
|
11
|
-
"version": "1.
|
|
11
|
+
"version": "1.41.0",
|
|
12
12
|
"transport": {
|
|
13
13
|
"type": "stdio"
|
|
14
14
|
}
|
|
Binary file
|
|
@@ -32,9 +32,9 @@ function normalizeListAppsResult(
|
|
|
32
32
|
}));
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
async function listAppsFromDevice(
|
|
36
|
-
|
|
37
|
-
> {
|
|
35
|
+
async function listAppsFromDevice(
|
|
36
|
+
applicationType: 'User' | 'System' = 'User'
|
|
37
|
+
): Promise<{ packageName: string; appName: string }[]> {
|
|
38
38
|
const driver = await getDriver();
|
|
39
39
|
if (!driver) {
|
|
40
40
|
throw new Error('No driver found');
|
|
@@ -61,7 +61,9 @@ async function listAppsFromDevice(): Promise<
|
|
|
61
61
|
const result = JSON.parse(stdout);
|
|
62
62
|
return normalizeListAppsResult(result || {});
|
|
63
63
|
}
|
|
64
|
-
const result = await (driver as XCUITestDriver).mobileListApps(
|
|
64
|
+
const result = await (driver as XCUITestDriver).mobileListApps(
|
|
65
|
+
applicationType
|
|
66
|
+
);
|
|
65
67
|
return normalizeListAppsResult(result || {});
|
|
66
68
|
}
|
|
67
69
|
|
|
@@ -78,16 +80,23 @@ async function listAppsFromDevice(): Promise<
|
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
export default function listApps(server: FastMCP): void {
|
|
81
|
-
const schema = z.object({
|
|
83
|
+
const schema = z.object({
|
|
84
|
+
applicationType: z
|
|
85
|
+
.enum(['User', 'System'])
|
|
86
|
+
.optional()
|
|
87
|
+
.describe(
|
|
88
|
+
'iOS only: filter apps by type. "User" returns user-installed apps, "System" returns system apps. Defaults to "User".'
|
|
89
|
+
),
|
|
90
|
+
});
|
|
82
91
|
|
|
83
92
|
server.addTool({
|
|
84
93
|
name: 'appium_list_apps',
|
|
85
94
|
description:
|
|
86
|
-
'List all installed apps on the device. On Android, only package IDs are returned (no display names); on iOS, bundle IDs and display names are returned.',
|
|
95
|
+
'List all installed apps on the device. On Android, only package IDs are returned (no display names); on iOS, bundle IDs and display names are returned. On iOS, use applicationType to filter by "User" (default) or "System" apps.',
|
|
87
96
|
parameters: schema,
|
|
88
|
-
execute: async () => {
|
|
97
|
+
execute: async (args) => {
|
|
89
98
|
try {
|
|
90
|
-
const apps = await listAppsFromDevice();
|
|
99
|
+
const apps = await listAppsFromDevice(args.applicationType);
|
|
91
100
|
const textResponse = {
|
|
92
101
|
content: [
|
|
93
102
|
{
|