appium-mcp 1.81.2 → 1.81.4

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.81.4](https://github.com/appium/appium-mcp/compare/v1.81.3...v1.81.4) (2026-05-30)
2
+
3
+ ### Bug Fixes
4
+
5
+ * addTool argument format in plugin ([#375](https://github.com/appium/appium-mcp/issues/375)) ([2dee443](https://github.com/appium/appium-mcp/commit/2dee443bf30741dc2756846ef30809afb0c2ea0b))
6
+
7
+ ## [1.81.3](https://github.com/appium/appium-mcp/compare/v1.81.2...v1.81.3) (2026-05-30)
8
+
9
+ ### Bug Fixes
10
+
11
+ * correct the order of plugins ([#374](https://github.com/appium/appium-mcp/issues/374)) ([394da39](https://github.com/appium/appium-mcp/commit/394da39b55669512acd3ec6b3aaa88025758d9f3))
12
+
1
13
  ## [1.81.2](https://github.com/appium/appium-mcp/compare/v1.81.1...v1.81.2) (2026-05-30)
2
14
 
3
15
  ### Miscellaneous Chores
package/README.md CHANGED
@@ -357,14 +357,21 @@ class CheckoutPlugin implements AppiumMcpPlugin {
357
357
  readonly version = '1.0.0';
358
358
 
359
359
  register(registry: McpRegistry): void {
360
- registry.addTool(
361
- 'assert_checkout_summary',
362
- 'Assert that the checkout summary screen shows an expected order ID.',
363
- z.object({ orderId: z.string() }),
364
- async ({ orderId }) => ({
365
- content: [{ type: 'text', text: `Assert checkout order ${orderId}` }],
366
- })
367
- );
360
+ const parameters = z.object({ orderId: z.string() });
361
+ registry.addTool({
362
+ name: 'assert_checkout_summary',
363
+ description:
364
+ 'Assert that the checkout summary screen shows an expected order ID.',
365
+ parameters,
366
+ execute: async (args) => {
367
+ const { orderId } = parameters.parse(args);
368
+ return {
369
+ content: [
370
+ { type: 'text', text: `Assert checkout order ${orderId}` },
371
+ ],
372
+ };
373
+ },
374
+ });
368
375
  }
369
376
 
370
377
  async beforeCall(ctx: ToolCallContext): Promise<void> {
@@ -407,9 +414,9 @@ The supported plugin API is intentionally small:
407
414
 
408
415
  `McpRegistry` methods delegate to the matching FastMCP registration APIs, so their object shapes follow FastMCP's documented tool, prompt, resource, and resource-template definitions. Appium MCP wraps registered tools with plugin call hooks, but prompts and resources are registered directly with FastMCP.
409
416
 
410
- Each plugin name should be unique within the server. If two plugins use the same `name`, Appium MCP keeps the first plugin registered for that name and skips later duplicates with a warning. Use a stable, package-style or organization-prefixed name, such as `acme-checkout-plugin`, to avoid collisions when composing plugins from multiple teams.
417
+ Each plugin name should be unique within the server. If two plugins use the same `name`, Appium MCP keeps the first plugin registered for that name and skips later plugins with a warning. Use a stable, package-style or organization-prefixed name, such as `acme-checkout-plugin`, to avoid collisions when composing plugins from multiple teams.
411
418
 
412
- Each tool name should also be unique across all plugins and the core server. FastMCP registers the latest tool definition for a name, so a duplicate name can replace an earlier tool definition. Appium MCP registers plugin tools before built-in tools, which means a plugin tool that uses the same name as a built-in tool can be replaced by the built-in tool. Appium MCP tools usually have an `appium_` prefix, so plugin tool names should avoid that pattern to reduce the chance of collisions with future core tools.
419
+ Each tool name should also be unique across all plugins and the core server. Tool names follow FastMCP behavior, not plugin-name behavior: when a tool is registered with the same `name` as an existing tool, FastMCP replaces the earlier tool definition with the later one. Appium MCP registers built-in tools before plugin tools, which means a plugin tool that uses the same name as a built-in tool replaces the built-in tool. Appium MCP tools usually have an `appium_` prefix, so plugin tool names should use that pattern only when they intentionally override a core tool.
413
420
 
414
421
  ### Verify plugin and tool names
415
422
 
@@ -430,7 +437,7 @@ console.log(formatVerificationReport(report));
430
437
  process.exit(report.ok ? 0 : 1);
431
438
  ```
432
439
 
433
- When you provide multiple plugins, order is preserved. Plugins are verified in array order. This matters because Appium MCP keeps the first plugin for a duplicate plugin name and skips later plugins with the same name. Tool names still need to be unique across all loaded plugins and `appium-mcp core`; the verifier reports any collisions it finds.
440
+ When you provide multiple plugins, order is preserved. Plugins are verified in array order after the `appium-mcp core` tools. This matters because Appium MCP keeps the first plugin for a duplicate plugin name and skips later plugins with the same name, while duplicate tool names follow FastMCP's later-registration-wins behavior. Tool names still need to be unique across all loaded plugins and `appium-mcp core`; the verifier reports any collisions it finds.
434
441
 
435
442
  The report labels this package's own shipped tools as `appium-mcp core`. Plugin sources are labeled as `plugin:<name>` with the plugin version.
436
443
 
@@ -62,16 +62,16 @@ export function createAppiumMcpServer(options = {}) {
62
62
  manager.register(plugins);
63
63
  }
64
64
  // -------------------------------------------------------------------------
65
- // 2. Register plugin tools (before built-ins so plugins appear first in the
66
- // tool list, but either order is fine – adjust if needed).
67
- // -------------------------------------------------------------------------
68
- manager.registerPluginCapabilities();
69
- // -------------------------------------------------------------------------
70
- // 3. Register built-in Appium MCP resources and tools.
65
+ // 2. Register built-in Appium MCP resources and tools.
71
66
  // -------------------------------------------------------------------------
72
67
  registerResources(server);
73
68
  registerTools(server);
74
69
  // -------------------------------------------------------------------------
70
+ // 3. Register plugin capabilities after built-ins. FastMCP replaces tools by
71
+ // name, so plugin tools can intentionally override built-in tools.
72
+ // -------------------------------------------------------------------------
73
+ manager.registerPluginCapabilities();
74
+ // -------------------------------------------------------------------------
75
75
  // 4. Initialize plugins (after all tools are registered so plugins can look
76
76
  // up built-in tools via the PluginContext if needed).
77
77
  // -------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAElE,MAAM,cAAc,GAAG,GAAG,CAAC,OAA0C,CAAC;AAEtE,MAAM,mBAAmB,GAAG;IAC1B,yEAAyE;IACzE,6LAA6L;IAC7L,+JAA+J;IAC/J,8GAA8G;IAC9G,oJAAoJ;IACpJ,iGAAiG;CAClG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAsCb,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,UAAU,GAAG,YAAY,EACzB,aAAa,GAAG,cAAc,EAC9B,sBAAsB,EACtB,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,sBAAsB;QACzC,CAAC,CAAC,GAAG,mBAAmB,KAAK,sBAAsB,EAAE;QACrD,CAAC,CAAC,mBAAmB,CAAC;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;QACzB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,aAAa;QACtB,YAAY;KACb,CAAC,CAAC;IAEH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,4EAA4E;IAC5E,8EAA8E;IAC9E,6DAA6D;IAC7D,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,8DAA8D;IAC9D,4EAA4E;IAC5E,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAErC,4EAA4E;IAC5E,uDAAuD;IACvD,4EAA4E;IAC5E,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,4EAA4E;IAC5E,4EAA4E;IAC5E,yDAAyD;IACzD,4EAA4E;IAC5E,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,gFAAgF;IAChF,uDAAuD;IACvD,IAAI,uBAAuB,GAAyB,IAAI,CAAC;IACzD,IAAI,oBAAoB,GAAyB,IAAI,CAAC;IAEtD;;;;;OAKG;IACH,MAAM,wBAAwB,GAAG,KAAK,IAAmB,EAAE;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,oBAAoB,CAAC;QAC7B,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,uBAAuB,KAAK,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3B,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,uBAAuB,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,uBAAuB,CAAC;IAChC,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;QACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,uBAAuB,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,uBAAuB,CAAC;QAChC,CAAC;QAED,IAAI,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,oBAAoB,KAAK,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,iBAAiB,GAAG,KAAK,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACT,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,oBAAoB,CAAC;IAC7B,CAAC,CAAC;IAEF,4EAA4E;IAC5E,iDAAiD;IACjD,4EAA4E;IAC5E,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,iBAAiB,IAAI,CAAC,CAAC;QAEvB,kDAAkD;QAClD,MAAM,wBAAwB,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACtC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,8BAA8B,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC,MAAM,CACzC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAC3C,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CACN,GAAG,aAAa,CAAC,MAAM,kDAAkD;gBACvE,yCAAyC,CAC5C,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CACN,GAAG,aAAa,CAAC,MAAM,0DAA0D,CAClF,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,qBAAqB,EAAE,CAAC;gBACnD,GAAG,CAAC,IAAI,CACN,GAAG,YAAY,oDAAoD,CACpE,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,oBAAoB,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,8BAA8B;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9E,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CACN,oCAAoC,GAAG,+CAA+C,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * as the `PluginManager` class which handles plugin registration, lifecycle, and
6
6
  * tool call interception.
7
7
  */
8
- import type { ContentResult, FastMCP, FastMCPSessionAuth, Tool, ToolParameters } from 'fastmcp';
8
+ import type { ContentResult, FastMCP } from 'fastmcp';
9
9
  import { listSessions } from './session-store.js';
10
10
  import type { DriverInstance, SessionInfo } from './session-store.js';
11
11
  /**
@@ -51,7 +51,9 @@ export interface AppiumMcpPlugin {
51
51
  * Unique plugin identifier within a server instance.
52
52
  *
53
53
  * Duplicate plugin names are skipped with a warning, so prefer stable
54
- * package-style or organization-prefixed names.
54
+ * package-style or organization-prefixed names. This differs from MCP tool
55
+ * names: FastMCP replaces an existing tool when another tool is registered
56
+ * with the same name.
55
57
  */
56
58
  readonly name: string;
57
59
  readonly version: string;
@@ -104,24 +106,21 @@ export declare class McpRegistry {
104
106
  /**
105
107
  * Register one MCP tool. Tool calls are wrapped by plugin call hooks.
106
108
  *
107
- * Delegates to FastMCP `addTool`.
109
+ * Delegates to FastMCP `addTool`. If a tool with the same name was already
110
+ * registered, FastMCP replaces the earlier tool with this definition.
108
111
  *
109
112
  * @see https://github.com/punkpeye/fastmcp#tools
110
113
  */
111
- addTool<Params extends ToolParameters>(name: string, description: string, parameters: Params, execute: Tool<FastMCPSessionAuth, Params>['execute']): void;
114
+ addTool(def: AddToolParam): void;
112
115
  /**
113
116
  * Register multiple MCP tools.
114
117
  *
115
118
  * Delegates to FastMCP `addTool` for each definition.
119
+ * Duplicate tool names are therefore last-registration-wins.
116
120
  *
117
121
  * @see https://github.com/punkpeye/fastmcp#tools
118
122
  */
119
- addTools(defs: Array<{
120
- name: string;
121
- description: string;
122
- parameters: ToolParameters;
123
- execute: AddToolParam['execute'];
124
- }>): void;
123
+ addTools(defs: AddToolParam[]): void;
125
124
  /**
126
125
  * Register one MCP prompt.
127
126
  *
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -17,23 +17,25 @@ export class McpRegistry {
17
17
  /**
18
18
  * Register one MCP tool. Tool calls are wrapped by plugin call hooks.
19
19
  *
20
- * Delegates to FastMCP `addTool`.
20
+ * Delegates to FastMCP `addTool`. If a tool with the same name was already
21
+ * registered, FastMCP replaces the earlier tool with this definition.
21
22
  *
22
23
  * @see https://github.com/punkpeye/fastmcp#tools
23
24
  */
24
- addTool(name, description, parameters, execute) {
25
- this.server.addTool({ name, description, parameters, execute });
25
+ addTool(def) {
26
+ this.server.addTool(def);
26
27
  }
27
28
  /**
28
29
  * Register multiple MCP tools.
29
30
  *
30
31
  * Delegates to FastMCP `addTool` for each definition.
32
+ * Duplicate tool names are therefore last-registration-wins.
31
33
  *
32
34
  * @see https://github.com/punkpeye/fastmcp#tools
33
35
  */
34
36
  addTools(defs) {
35
37
  for (const def of defs) {
36
- this.addTool(def.name, def.description, def.parameters, def.execute);
38
+ this.addTool(def);
37
39
  }
38
40
  }
39
41
  /**
@@ -275,6 +277,16 @@ export function verifyAppiumMcpNames(options = {}) {
275
277
  const seenPluginNames = new Set();
276
278
  const registry = new McpRegistry(collector);
277
279
  const core = new AppiumMcpCore();
280
+ currentSource = CORE_SOURCE;
281
+ try {
282
+ withSuppressedRegistrationLogs(() => registerTools(collector));
283
+ }
284
+ catch (err) {
285
+ errors.push({
286
+ source: currentSource,
287
+ message: errorMessage(err),
288
+ });
289
+ }
278
290
  for (const plugin of plugins) {
279
291
  if (seenPluginNames.has(plugin.name)) {
280
292
  continue;
@@ -294,16 +306,6 @@ export function verifyAppiumMcpNames(options = {}) {
294
306
  });
295
307
  }
296
308
  }
297
- currentSource = CORE_SOURCE;
298
- try {
299
- withSuppressedRegistrationLogs(() => registerTools(collector));
300
- }
301
- catch (err) {
302
- errors.push({
303
- source: currentSource,
304
- message: errorMessage(err),
305
- });
306
- }
307
309
  duplicates.push(...findDuplicates('tool', toolEntries));
308
310
  return {
309
311
  ok: duplicates.length === 0 && errors.length === 0,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,20 @@ class MockFastMCP {
17
17
  registeredServers.push(this);
18
18
  }
19
19
  addTool(toolDef) {
20
+ const existingIndex = this.tools.findIndex((tool) => tool.name === toolDef.name);
21
+ if (existingIndex !== -1) {
22
+ this.tools.splice(existingIndex, 1);
23
+ }
20
24
  this.tools.push(toolDef);
21
25
  }
22
26
  addTools(toolDefs) {
23
27
  this.addToolsCallCount += 1;
28
+ const newToolNames = new Set(toolDefs.map((tool) => tool.name));
29
+ for (let index = this.tools.length - 1; index >= 0; index -= 1) {
30
+ if (newToolNames.has(this.tools[index].name)) {
31
+ this.tools.splice(index, 1);
32
+ }
33
+ }
24
34
  this.tools.push(...toolDefs);
25
35
  }
26
36
  addResource(resourceDef) {
@@ -177,12 +187,22 @@ describe('createAppiumMcpServer plugin lifecycle', () => {
177
187
  name: 'policy-plugin',
178
188
  version: '1.0.0',
179
189
  register(registry) {
180
- registry.addTool('plugin_allowed', 'Allowed plugin tool', testToolParameters, async () => ({
181
- content: [{ type: 'text', text: 'allowed' }],
182
- }));
183
- registry.addTool('plugin_blocked', 'Blocked plugin tool', testToolParameters, async () => ({
184
- content: [{ type: 'text', text: 'blocked' }],
185
- }));
190
+ registry.addTool({
191
+ name: 'plugin_allowed',
192
+ description: 'Allowed plugin tool',
193
+ parameters: testToolParameters,
194
+ execute: async () => ({
195
+ content: [{ type: 'text', text: 'allowed' }],
196
+ }),
197
+ });
198
+ registry.addTool({
199
+ name: 'plugin_blocked',
200
+ description: 'Blocked plugin tool',
201
+ parameters: testToolParameters,
202
+ execute: async () => ({
203
+ content: [{ type: 'text', text: 'blocked' }],
204
+ }),
205
+ });
186
206
  },
187
207
  };
188
208
  const server = createAppiumMcpServer({
@@ -192,9 +212,39 @@ describe('createAppiumMcpServer plugin lifecycle', () => {
192
212
  },
193
213
  });
194
214
  expect(server.tools.map((tool) => tool.name)).toEqual([
215
+ 'builtin_tool',
195
216
  'plugin_allowed',
217
+ ]);
218
+ });
219
+ test('allows plugin tools to override built-in tools by name', async () => {
220
+ const plugin = {
221
+ name: 'override-plugin',
222
+ version: '1.0.0',
223
+ register(registry) {
224
+ registry.addTool({
225
+ name: 'builtin_tool',
226
+ description: 'Plugin override for built-in test tool',
227
+ parameters: testToolParameters,
228
+ execute: async () => ({
229
+ content: [{ type: 'text', text: 'plugin override result' }],
230
+ }),
231
+ });
232
+ },
233
+ };
234
+ const server = createAppiumMcpServer({
235
+ plugins: [plugin],
236
+ });
237
+ expect(server.tools.map((tool) => tool.name)).toEqual([
238
+ 'blocked_tool',
196
239
  'builtin_tool',
197
240
  ]);
241
+ const overriddenTool = server.tools.find((tool) => tool.name === 'builtin_tool');
242
+ expect(overriddenTool?.description).toBe('Plugin override for built-in test tool');
243
+ const result = (await overriddenTool?.execute({}, {}));
244
+ expect(result.content[0]).toEqual({
245
+ type: 'text',
246
+ text: 'plugin override result',
247
+ });
198
248
  });
199
249
  test('applies policy to batch tool and resource registration methods', () => {
200
250
  const server = createAppiumMcpServer({
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.test.js","sourceRoot":"","sources":["../../src/tests/create-server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-server.test.js","sourceRoot":"","sources":["../../src/tests/create-server.test.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,10 @@ function makeMockServer() {
28
28
  const registeredResourceTemplates = [];
29
29
  const server = {
30
30
  addTool(toolDef) {
31
+ const existingIndex = registeredTools.findIndex((tool) => tool.name === toolDef.name);
32
+ if (existingIndex !== -1) {
33
+ registeredTools.splice(existingIndex, 1);
34
+ }
31
35
  registeredTools.push(toolDef);
32
36
  },
33
37
  addPrompt(promptDef) {
@@ -57,12 +61,41 @@ describe('McpRegistry', () => {
57
61
  test('delegates tool registration to server.addTool', () => {
58
62
  const mockServer = makeMockServer();
59
63
  const registry = new McpRegistry(mockServer);
60
- registry.addTool('my_tool', 'A test tool', {}, async () => ({
61
- content: [{ type: 'text', text: 'ok' }],
62
- }));
64
+ registry.addTool({
65
+ name: 'my_tool',
66
+ description: 'A test tool',
67
+ parameters: {},
68
+ execute: async () => ({
69
+ content: [{ type: 'text', text: 'ok' }],
70
+ }),
71
+ });
63
72
  expect(mockServer._tools).toHaveLength(1);
64
73
  expect(mockServer._tools[0].name).toBe('my_tool');
65
74
  });
75
+ test('uses FastMCP replacement behavior for duplicate tool names', async () => {
76
+ const mockServer = makeMockServer();
77
+ const registry = new McpRegistry(mockServer);
78
+ registry.addTool({
79
+ name: 'same_tool',
80
+ description: 'first tool',
81
+ parameters: {},
82
+ execute: async () => ({
83
+ content: [{ type: 'text', text: 'first' }],
84
+ }),
85
+ });
86
+ registry.addTool({
87
+ name: 'same_tool',
88
+ description: 'second tool',
89
+ parameters: {},
90
+ execute: async () => ({
91
+ content: [{ type: 'text', text: 'second' }],
92
+ }),
93
+ });
94
+ expect(mockServer._tools).toHaveLength(1);
95
+ expect(mockServer._tools[0].description).toBe('second tool');
96
+ const result = (await mockServer._tools[0].execute({}, {}));
97
+ expect(result.content[0].text).toBe('second');
98
+ });
66
99
  test('delegates prompt and resource registration to server methods', () => {
67
100
  const mockServer = makeMockServer();
68
101
  const registry = new McpRegistry(mockServer);
@@ -318,9 +351,14 @@ describe('PluginManager.registerPluginCapabilities', () => {
318
351
  version: '1.0.0',
319
352
  register(registry) {
320
353
  called = true;
321
- registry.addTool('custom_tool', 'A custom tool', {}, async () => ({
322
- content: [{ type: 'text', text: 'custom' }],
323
- }));
354
+ registry.addTool({
355
+ name: 'custom_tool',
356
+ description: 'A custom tool',
357
+ parameters: {},
358
+ execute: async () => ({
359
+ content: [{ type: 'text', text: 'custom' }],
360
+ }),
361
+ });
324
362
  },
325
363
  };
326
364
  manager.register([plugin]);
@@ -339,9 +377,14 @@ describe('PluginManager.registerPluginCapabilities', () => {
339
377
  version: '1.0.0',
340
378
  register(registry) {
341
379
  registerCount += 1;
342
- registry.addTool('repeat_tool', 'A repeat tool', {}, async () => ({
343
- content: [{ type: 'text', text: 'repeat' }],
344
- }));
380
+ registry.addTool({
381
+ name: 'repeat_tool',
382
+ description: 'A repeat tool',
383
+ parameters: {},
384
+ execute: async () => ({
385
+ content: [{ type: 'text', text: 'repeat' }],
386
+ }),
387
+ });
345
388
  },
346
389
  };
347
390
  log.warn.mockClear();
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.test.js","sourceRoot":"","sources":["../../src/tests/plugin.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.test.js","sourceRoot":"","sources":["../../src/tests/plugin.test.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,14 @@ describe('verifyAppiumMcpNames', () => {
20
20
  name: 'unique-plugin',
21
21
  version: '1.0.0',
22
22
  register(registry) {
23
- registry.addTool('plugin_tool', 'plugin tool', {}, async () => ({
24
- content: [{ type: 'text', text: 'ok' }],
25
- }));
23
+ registry.addTool({
24
+ name: 'plugin_tool',
25
+ description: 'plugin tool',
26
+ parameters: {},
27
+ execute: async () => ({
28
+ content: [{ type: 'text', text: 'ok' }],
29
+ }),
30
+ });
26
31
  },
27
32
  };
28
33
  const report = verifyAppiumMcpNames({ plugins: [plugin] });
@@ -62,9 +67,14 @@ describe('verifyAppiumMcpNames', () => {
62
67
  name: 'conflicting-plugin',
63
68
  version: '1.0.0',
64
69
  register(registry) {
65
- registry.addTool('builtin_tool', 'conflicting tool', {}, async () => ({
66
- content: [{ type: 'text', text: 'ok' }],
67
- }));
70
+ registry.addTool({
71
+ name: 'builtin_tool',
72
+ description: 'conflicting tool',
73
+ parameters: {},
74
+ execute: async () => ({
75
+ content: [{ type: 'text', text: 'ok' }],
76
+ }),
77
+ });
68
78
  },
69
79
  };
70
80
  const report = verifyAppiumMcpNames({ plugins: [plugin] });
@@ -74,8 +84,8 @@ describe('verifyAppiumMcpNames', () => {
74
84
  kind: 'tool',
75
85
  name: 'builtin_tool',
76
86
  entries: [
77
- { name: 'builtin_tool', source: 'plugin:conflicting-plugin' },
78
87
  { name: 'builtin_tool', source: 'appium-mcp core' },
88
+ { name: 'builtin_tool', source: 'plugin:conflicting-plugin' },
79
89
  ],
80
90
  },
81
91
  ]);
@@ -94,9 +104,14 @@ describe('verifyAppiumMcpNames', () => {
94
104
  name: 'working-plugin',
95
105
  version: '1.0.0',
96
106
  register(registry) {
97
- registry.addTool('working_plugin_tool', 'working tool', {}, async () => ({
98
- content: [{ type: 'text', text: 'ok' }],
99
- }));
107
+ registry.addTool({
108
+ name: 'working_plugin_tool',
109
+ description: 'working tool',
110
+ parameters: {},
111
+ execute: async () => ({
112
+ content: [{ type: 'text', text: 'ok' }],
113
+ }),
114
+ });
100
115
  },
101
116
  },
102
117
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"verify.test.js","sourceRoot":"","sources":["../../src/tests/verify.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.test.js","sourceRoot":"","sources":["../../src/tests/verify.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "appium-mcp",
3
3
  "mcpName": "io.github.appium/appium-mcp",
4
- "version": "1.81.2",
4
+ "version": "1.81.4",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
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.81.2",
6
+ "version": "1.81.4",
7
7
  "packages": [
8
8
  {
9
9
  "registryType": "npm",
10
10
  "identifier": "appium-mcp",
11
- "version": "1.81.2",
11
+ "version": "1.81.4",
12
12
  "transport": {
13
13
  "type": "stdio"
14
14
  }
@@ -117,16 +117,16 @@ export function createAppiumMcpServer(
117
117
  }
118
118
 
119
119
  // -------------------------------------------------------------------------
120
- // 2. Register plugin tools (before built-ins so plugins appear first in the
121
- // tool list, but either order is fine – adjust if needed).
120
+ // 2. Register built-in Appium MCP resources and tools.
122
121
  // -------------------------------------------------------------------------
123
- manager.registerPluginCapabilities();
122
+ registerResources(server);
123
+ registerTools(server);
124
124
 
125
125
  // -------------------------------------------------------------------------
126
- // 3. Register built-in Appium MCP resources and tools.
126
+ // 3. Register plugin capabilities after built-ins. FastMCP replaces tools by
127
+ // name, so plugin tools can intentionally override built-in tools.
127
128
  // -------------------------------------------------------------------------
128
- registerResources(server);
129
- registerTools(server);
129
+ manager.registerPluginCapabilities();
130
130
 
131
131
  // -------------------------------------------------------------------------
132
132
  // 4. Initialize plugins (after all tools are registered so plugins can look
package/src/plugin.ts CHANGED
@@ -72,7 +72,9 @@ export interface AppiumMcpPlugin {
72
72
  * Unique plugin identifier within a server instance.
73
73
  *
74
74
  * Duplicate plugin names are skipped with a warning, so prefer stable
75
- * package-style or organization-prefixed names.
75
+ * package-style or organization-prefixed names. This differs from MCP tool
76
+ * names: FastMCP replaces an existing tool when another tool is registered
77
+ * with the same name.
76
78
  */
77
79
  readonly name: string;
78
80
  readonly version: string;
@@ -152,36 +154,26 @@ export class McpRegistry {
152
154
  /**
153
155
  * Register one MCP tool. Tool calls are wrapped by plugin call hooks.
154
156
  *
155
- * Delegates to FastMCP `addTool`.
157
+ * Delegates to FastMCP `addTool`. If a tool with the same name was already
158
+ * registered, FastMCP replaces the earlier tool with this definition.
156
159
  *
157
160
  * @see https://github.com/punkpeye/fastmcp#tools
158
161
  */
159
- addTool<Params extends ToolParameters>(
160
- name: string,
161
- description: string,
162
- parameters: Params,
163
- execute: Tool<FastMCPSessionAuth, Params>['execute']
164
- ): void {
165
- this.server.addTool({ name, description, parameters, execute });
162
+ addTool(def: AddToolParam): void {
163
+ this.server.addTool(def);
166
164
  }
167
165
 
168
166
  /**
169
167
  * Register multiple MCP tools.
170
168
  *
171
169
  * Delegates to FastMCP `addTool` for each definition.
170
+ * Duplicate tool names are therefore last-registration-wins.
172
171
  *
173
172
  * @see https://github.com/punkpeye/fastmcp#tools
174
173
  */
175
- addTools(
176
- defs: Array<{
177
- name: string;
178
- description: string;
179
- parameters: ToolParameters;
180
- execute: AddToolParam['execute'];
181
- }>
182
- ): void {
174
+ addTools(defs: AddToolParam[]): void {
183
175
  for (const def of defs) {
184
- this.addTool(def.name, def.description, def.parameters, def.execute);
176
+ this.addTool(def);
185
177
  }
186
178
  }
187
179
 
@@ -473,6 +465,16 @@ export function verifyAppiumMcpNames(
473
465
  const registry = new McpRegistry(collector as never);
474
466
  const core = new AppiumMcpCore();
475
467
 
468
+ currentSource = CORE_SOURCE;
469
+ try {
470
+ withSuppressedRegistrationLogs(() => registerTools(collector as never));
471
+ } catch (err: unknown) {
472
+ errors.push({
473
+ source: currentSource,
474
+ message: errorMessage(err),
475
+ });
476
+ }
477
+
476
478
  for (const plugin of plugins) {
477
479
  if (seenPluginNames.has(plugin.name)) {
478
480
  continue;
@@ -491,16 +493,6 @@ export function verifyAppiumMcpNames(
491
493
  });
492
494
  }
493
495
  }
494
-
495
- currentSource = CORE_SOURCE;
496
- try {
497
- withSuppressedRegistrationLogs(() => registerTools(collector as never));
498
- } catch (err: unknown) {
499
- errors.push({
500
- source: currentSource,
501
- message: errorMessage(err),
502
- });
503
- }
504
496
  duplicates.push(...findDuplicates('tool', toolEntries));
505
497
 
506
498
  return {
Binary file