mcpField
M
MCP Appium Gestures

MCP Appium Gestures

本地服务
github.com/AppiumTestDistribution开发工具3167 周前更新

关于 MCP Appium Gestures

MCP Appium Gestures 是一个 MCP 服务,提供 Appium 移动端手势的文档资源,并可生成对应的测试代码。它面向移动自动化测试人员,支持 JavaScript 与 Java 两种语言。

主要功能

  1. 01手势文档资源(gesture:// 协议)
  2. 02生成 Tap、Swipe、Scroll 等手势代码
  3. 03支持 JavaScript(WebdriverIO)与 Java
  4. 04支持 stdio 与 SSE 传输方式

适用场景

  1. 01为 Appium 自动化脚本快速生成手势代码
  2. 02查阅各类移动手势的参考说明
  3. 03在 AI 客户端中辅助编写移动端测试

MCP 相关

该服务通过 MCP 向客户端暴露手势文档资源与代码生成工具,客户端可读取 gesture:// 资源并调用 generate-*-code 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"appium-gestures": {
"command": "npx",
"args": [
"-y",
"mcp-appium-gestures"
]
}
}
}
启动命令npx -y mcp-appium-gestures

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-appium-gestures

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

MCP Appium 手势

一个提供 Appium 移动手势资源和工具的 MCP(模型上下文协议)服务。

功能

  • 常见 Appium 移动手势的文档资源:

    • 点击
    • 滑动
    • 滚动
    • 捏合/缩放
    • 长按
    • 拖放
    • 双击
  • 用于以不同语言生成这些手势代码的工具:

    • JavaScript(WebdriverIO v9 及以上和以下版本)
    • Java(Appium Java Client)

安装

# Clone the repository
git clone https://github.com/yourusername/mcp-appium-gestures.git
cd mcp-appium-gestures

# Install dependencies
npm install

使用方法

通过 stdio 传输启动(本地使用)
# Start the server with stdio transport
npm start
# or
npm run start:stdio
通过 SSE 传输启动(远程使用)
# Start the server with SSE transport on default port (8080)
npm run start:sse

# Start the server with SSE transport on a custom port
npm run start:sse:port 3000
开发与测试
# Test with mcp-cli
npm run dev

# Inspect with MCP Inspector
npm run inspect

与 Claude 配合使用

若要将此 MCP 服务与 Claude 配合使用,需要将其添加到 MCP 设置配置文件中。该文件的位置因平台而异:

  • 对于 Cursor:/Users/[username]/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • 对于 Claude Desktop:/Users/[username]/Library/Application Support/Claude/claude_desktop_config.json
  • 对于 Cline 或其他 MCP 客户端:请查看客户端文档,了解配置文件的位置

将以下配置添加到设置文件中的 mcpServers 对象:

{
  "mcpServers": {
    "appium-gestures": {
      "command": "npx",
      "disabled": false,
      "args": ["mcp-appium-gestures"],
      "autoApprove": [],
      "timeout": 300,
      "transportType": "stdio"
    }
  }
}

配置完成后,即可直接在 Claude 中使用 MCP 服务的工具和资源:

<use_mcp_tool>
<server_name>appium-gestures</server_name>
<tool_name>generate-tap-code</tool_name>
<arguments>
{
  "language": "javascript",
  "useElement": true,
  "elementId": "login-button"
}
</arguments>
</use_mcp_tool>

或者访问资源:

<access_mcp_resource>
<server_name>appium-gestures</server_name>
<uri>gesture://tap</uri>
</access_mcp_resource>

资源

该服务为以下手势提供文档资源:

  • gesture://tap - 点击手势文档
  • gesture://swipe - 滑动手势文档
  • gesture://scroll - 滚动手势文档
  • gesture://pinch-zoom - 捏合和缩放手势文档
  • gesture://long-press - 长按手势文档
  • gesture://drag-drop - 拖放手势文档
  • gesture://double-tap - 双击手势文档

也可以使用模板 gesture://{name},按名称访问特定手势。

工具

该服务提供以下工具,用于生成 Appium 手势代码:

generate-tap-code

生成点击手势代码。

参数:

  • language:'javascript' 或 'java'
  • useElement:布尔值 - 是否点击元素或指定坐标
  • elementId:字符串(当 useElement 为 true 时必需)- 要点击的元素 ID
  • x:数字(当 useElement 为 false 时必需)- 点击位置的 x 坐标
  • y:数字(当 useElement 为 false 时必需)- 点击位置的 y 坐标
generate-swipe-code

生成滑动手势代码。

参数:

  • language:'javascript' 或 'java'
  • startX:数字 - 起始 x 坐标
  • startY:数字 - 起始 y 坐标
  • endX:数字 - 结束 x 坐标
  • endY:数字 - 结束 y 坐标
  • duration:数字(可选,默认值:500)- 滑动持续时间,单位为毫秒
generate-scroll-code

生成滚动手势代码。

参数:

  • language:'javascript' 或 'java'
  • direction:'up'、'down'、'left' 或 'right'
  • useElement:布尔值(可选,默认值:false)- 是否滚动到某个元素
  • elementId:字符串(可选)- 要滚动到的元素 ID
  • distance:数字(可选,默认值:300)- 滚动距离
generate-long-press-code

生成长按手势代码。

参数:

  • language:'javascript' 或 'java'
  • useElement:布尔值 - 是否长按元素或指定坐标
  • elementId:字符串(当 useElement 为 true 时必需)- 要长按的元素 ID
  • x:数字(当 useElement 为 false 时必需)- 长按位置的 x 坐标
  • y:数字(当 useElement 为 false 时必需)- 长按位置的 y 坐标
  • duration:数字(可选,默认值:2000)- 长按持续时间,单位为毫秒
generate-double-tap-code

生成双击手势的代码。

参数:

  • language:'javascript' 或 'java'
  • useElement:布尔值 - 是否在元素上双击,而不是在坐标处双击
  • elementId:字符串(如果 useElement 为 true 则必填)- 要双击的元素 ID
  • x:数字(如果 useElement 为 false 则必填)- 双击位置的 x 坐标
  • y:数字(如果 useElement 为 false 则必填)- 双击位置的 y 坐标
  • pauseDuration:数字(可选,默认值:200)- 两次点击之间的暂停时长,单位为毫秒

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。