appium-mcp 1.92.5 → 1.92.7
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
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [1.92.7](https://github.com/appium/appium-mcp/compare/v1.92.6...v1.92.7) (2026-08-27)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* missing teen process ([#495](https://github.com/appium/appium-mcp/issues/495)) ([54da403](https://github.com/appium/appium-mcp/commit/54da40304902df0dc9c6cc93ab91a702b53cf9d3))
|
|
6
|
+
|
|
7
|
+
## [1.92.6](https://github.com/appium/appium-mcp/compare/v1.92.5...v1.92.6) (2026-08-25)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **alert:** read W3C element id for Android custom button clicks ([#491](https://github.com/appium/appium-mcp/issues/491)) ([3500517](https://github.com/appium/appium-mcp/commit/3500517630c4aa951fab0e9379d388feef3dacca))
|
|
12
|
+
|
|
1
13
|
## [1.92.5](https://github.com/appium/appium-mcp/compare/v1.92.4...v1.92.5) (2026-08-21)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { elementClick, execute, findElement, getPageSource } from '../../command.js';
|
|
3
3
|
import { generateAllElementLocators } from '../../locators/generate-all-locators.js';
|
|
4
4
|
import { getPlatformName, PLATFORM } from '../../session-store.js';
|
|
5
|
-
import { resolveDriver, textResult, errorResult, toolErrorMessage } from '../tool-response.js';
|
|
5
|
+
import { readWebElementId, resolveDriver, textResult, errorResult, toolErrorMessage } from '../tool-response.js';
|
|
6
6
|
const ANDROID_LOCATOR_STRATEGY_ORDER = ['accessibility id', 'id', 'xpath', '-android uiautomator', 'class name'];
|
|
7
7
|
export default function alert(server) {
|
|
8
8
|
const appiumAlertSchema = z.object({
|
|
@@ -82,8 +82,11 @@ async function handleAndroidAlert(driver, action, buttonLabel) {
|
|
|
82
82
|
if (!button) {
|
|
83
83
|
throw new Error('Could not find element with any generated locator; it may have disappeared');
|
|
84
84
|
}
|
|
85
|
-
const
|
|
86
|
-
|
|
85
|
+
const buttonId = readWebElementId(button);
|
|
86
|
+
if (!buttonId) {
|
|
87
|
+
throw new Error('Element was returned without a valid element ID');
|
|
88
|
+
}
|
|
89
|
+
await elementClick(driver, buttonId);
|
|
87
90
|
}
|
|
88
91
|
else {
|
|
89
92
|
if (action === 'accept') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-alert.js","sourceRoot":"","sources":["../../../src/tools/interactions/handle-alert.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAC,0BAA0B,EAAC,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAC,eAAe,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"handle-alert.js","sourceRoot":"","sources":["../../../src/tools/interactions/handle-alert.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-mcp",
|
|
3
|
-
"version": "1.92.
|
|
3
|
+
"version": "1.92.7",
|
|
4
4
|
"description": "Intelligent MCP server providing AI assistants with powerful tools and resources for Appium mobile automation",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/appium/appium-mcp/issues"
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
"ios-mobileprovision-finder": "^1.2.1",
|
|
81
81
|
"lru-cache": "^11.5.0",
|
|
82
82
|
"node-simctl": "^9.1.0",
|
|
83
|
+
"teen_process": "^4.2.1",
|
|
83
84
|
"webdriver": "^9.30.0",
|
|
84
85
|
"xpath": "^0.0.34",
|
|
85
86
|
"zod": "^4.3.6"
|
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.92.
|
|
6
|
+
"version": "1.92.7",
|
|
7
7
|
"packages": [
|
|
8
8
|
{
|
|
9
9
|
"registryType": "npm",
|
|
10
10
|
"identifier": "appium-mcp",
|
|
11
|
-
"version": "1.92.
|
|
11
|
+
"version": "1.92.7",
|
|
12
12
|
"transport": {
|
|
13
13
|
"type": "stdio"
|
|
14
14
|
}
|
|
@@ -5,7 +5,7 @@ import {elementClick, execute, findElement, getPageSource} from '../../command.j
|
|
|
5
5
|
import {generateAllElementLocators} from '../../locators/generate-all-locators.js';
|
|
6
6
|
import {getPlatformName, PLATFORM} from '../../session-store.js';
|
|
7
7
|
import type {DriverInstance} from '../../session-store.js';
|
|
8
|
-
import {resolveDriver, textResult, errorResult, toolErrorMessage} from '../tool-response.js';
|
|
8
|
+
import {readWebElementId, resolveDriver, textResult, errorResult, toolErrorMessage} from '../tool-response.js';
|
|
9
9
|
|
|
10
10
|
const ANDROID_LOCATOR_STRATEGY_ORDER = ['accessibility id', 'id', 'xpath', '-android uiautomator', 'class name'];
|
|
11
11
|
|
|
@@ -99,8 +99,11 @@ async function handleAndroidAlert(driver: DriverInstance, action: string, button
|
|
|
99
99
|
if (!button) {
|
|
100
100
|
throw new Error('Could not find element with any generated locator; it may have disappeared');
|
|
101
101
|
}
|
|
102
|
-
const
|
|
103
|
-
|
|
102
|
+
const buttonId = readWebElementId(button);
|
|
103
|
+
if (!buttonId) {
|
|
104
|
+
throw new Error('Element was returned without a valid element ID');
|
|
105
|
+
}
|
|
106
|
+
await elementClick(driver, buttonId);
|
|
104
107
|
} else {
|
|
105
108
|
if (action === 'accept') {
|
|
106
109
|
await execute(driver, 'mobile: acceptAlert', {});
|