关于 MCP Appium Gestures
MCP Appium Gestures 是一个 MCP 服务,提供 Appium 移动端手势的文档资源,并可生成对应的测试代码。它面向移动自动化测试人员,支持 JavaScript 与 Java 两种语言。
主要功能
- 01手势文档资源(gesture:// 协议)
- 02生成 Tap、Swipe、Scroll 等手势代码
- 03支持 JavaScript(WebdriverIO)与 Java
- 04支持 stdio 与 SSE 传输方式
适用场景
- 01为 Appium 自动化脚本快速生成手势代码
- 02查阅各类移动手势的参考说明
- 03在 AI 客户端中辅助编写移动端测试
MCP 相关
该服务通过 MCP 向客户端暴露手势文档资源与代码生成工具,客户端可读取 gesture:// 资源并调用 generate-*-code 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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 时必需)- 要点击的元素 IDx:数字(当 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:字符串(可选)- 要滚动到的元素 IDdistance:数字(可选,默认值:300)- 滚动距离
generate-long-press-code
生成长按手势代码。
参数:
language:'javascript' 或 'java'useElement:布尔值 - 是否长按元素或指定坐标elementId:字符串(当 useElement 为 true 时必需)- 要长按的元素 IDx:数字(当 useElement 为 false 时必需)- 长按位置的 x 坐标y:数字(当 useElement 为 false 时必需)- 长按位置的 y 坐标duration:数字(可选,默认值:2000)- 长按持续时间,单位为毫秒
generate-double-tap-code
生成双击手势的代码。
参数:
language:'javascript' 或 'java'useElement:布尔值 - 是否在元素上双击,而不是在坐标处双击elementId:字符串(如果useElement为 true 则必填)- 要双击的元素 IDx:数字(如果useElement为 false 则必填)- 双击位置的 x 坐标y:数字(如果useElement为 false 则必填)- 双击位置的 y 坐标pauseDuration:数字(可选,默认值:200)- 两次点击之间的暂停时长,单位为毫秒
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
