appium-mcp 1.85.0 → 1.85.1
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,9 @@
|
|
|
1
|
+
## [1.85.1](https://github.com/appium/appium-mcp/compare/v1.85.0...v1.85.1) (2026-06-11)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **session:** return error on invalid capabilities JSON ([#397](https://github.com/appium/appium-mcp/issues/397)) ([c1be520](https://github.com/appium/appium-mcp/commit/c1be520ca463f9d5ff0ce60c70a0095585f4ce5d))
|
|
6
|
+
|
|
1
7
|
## [1.85.0](https://github.com/appium/appium-mcp/compare/v1.84.2...v1.85.0) (2026-06-11)
|
|
2
8
|
|
|
3
9
|
### Features
|
|
@@ -8,12 +14,6 @@
|
|
|
8
14
|
|
|
9
15
|
* **release:** 1.85.0 [skip ci] ([22d7957](https://github.com/appium/appium-mcp/commit/22d79570be7f5e8ea36dec302c21445823495e02))
|
|
10
16
|
|
|
11
|
-
## [1.85.0](https://github.com/appium/appium-mcp/compare/v1.84.2...v1.85.0) (2026-06-11)
|
|
12
|
-
|
|
13
|
-
### Features
|
|
14
|
-
|
|
15
|
-
* add OpenTelemetry feature ([#385](https://github.com/appium/appium-mcp/issues/385)) ([99dee60](https://github.com/appium/appium-mcp/commit/99dee60e81491020cb7b03ed811629a4a955eeb8))
|
|
16
|
-
|
|
17
17
|
## [1.84.2](https://github.com/appium/appium-mcp/compare/v1.84.1...v1.84.2) (2026-06-09)
|
|
18
18
|
|
|
19
19
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/tools/session/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiFvC,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/tools/session/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiFvC,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAkFrD"}
|
|
@@ -74,17 +74,18 @@ export default function session(server) {
|
|
|
74
74
|
execute: async (args) => {
|
|
75
75
|
try {
|
|
76
76
|
// Parse capabilities: some LLMs (e.g. Gemini) pass a JSON string instead of an object.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
77
|
+
let parsedCapabilities;
|
|
78
|
+
if (typeof args.capabilities === 'string') {
|
|
79
|
+
try {
|
|
80
|
+
parsedCapabilities = JSON.parse(args.capabilities);
|
|
85
81
|
}
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
catch (err) {
|
|
83
|
+
return errorResult(`Invalid capabilities JSON: ${toolErrorMessage(err)}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
parsedCapabilities = args.capabilities;
|
|
88
|
+
}
|
|
88
89
|
if (args.action === 'create') {
|
|
89
90
|
if (!args.platform) {
|
|
90
91
|
return errorResult('platform is required for create action');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/tools/session/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;CACA,CAAC;AAEX,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;iMAc8J,CAAC;AAElM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,eAAe,CAAC;SACrB,QAAQ,CACP,qBAAqB;QACnB,WAAW,0BAA0B,EAAE;QACvC,2UAA2U;QAC3U,qIAAqI;QACrI,8GAA8G;QAC9G,0HAA0H;QAC1H,8GAA8G,CACjH;IACH,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,qBAAqB,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CACP,uBAAuB;QACrB,yEAAyE;QACzE,sEAAsE;QACtE,yCAAyC,CAC5C;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2IAA2I;QACzI,6RAA6R;QAC7R,oKAAoK,CACvK;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,kHAAkH,CACnH;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wOAAwO,CACzO;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,MAAe;IAC7C,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,wOAAwO;QAC1O,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,IAA4B,EAAgB,EAAE;YAC5D,IAAI,CAAC;gBACH,uFAAuF;gBACvF,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/tools/session/session.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.85.
|
|
6
|
+
"version": "1.85.1",
|
|
7
7
|
"packages": [
|
|
8
8
|
{
|
|
9
9
|
"registryType": "npm",
|
|
10
10
|
"identifier": "appium-mcp",
|
|
11
|
-
"version": "1.85.
|
|
11
|
+
"version": "1.85.1",
|
|
12
12
|
"transport": {
|
|
13
13
|
"type": "stdio"
|
|
14
14
|
}
|
|
@@ -93,16 +93,21 @@ export default function session(server: FastMCP): void {
|
|
|
93
93
|
execute: async (args: z.infer<typeof schema>): Promise<any> => {
|
|
94
94
|
try {
|
|
95
95
|
// Parse capabilities: some LLMs (e.g. Gemini) pass a JSON string instead of an object.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
let parsedCapabilities: Record<string, any> | undefined;
|
|
97
|
+
if (typeof args.capabilities === 'string') {
|
|
98
|
+
try {
|
|
99
|
+
parsedCapabilities = JSON.parse(args.capabilities) as Record<
|
|
100
|
+
string,
|
|
101
|
+
any
|
|
102
|
+
>;
|
|
103
|
+
} catch (err: unknown) {
|
|
104
|
+
return errorResult(
|
|
105
|
+
`Invalid capabilities JSON: ${toolErrorMessage(err)}`
|
|
106
|
+
);
|
|
103
107
|
}
|
|
104
|
-
|
|
105
|
-
|
|
108
|
+
} else {
|
|
109
|
+
parsedCapabilities = args.capabilities;
|
|
110
|
+
}
|
|
106
111
|
|
|
107
112
|
if (args.action === 'create') {
|
|
108
113
|
if (!args.platform) {
|