appium-mcp-server

appium-mcp-server

Enables AI assistants to perform mobile device automation testing via Appium through the Model Context Protocol, supporting Android and iOS devices with 40+ tools.

Category
访问服务器

README

Appium MCP Server

Python 3.9+ License: MIT Code style: black

Appium MCP Server 是一个基于 Model Context Protocol (MCP) 的移动设备自动化测试服务器。它将 Appium 的强大功能通过 MCP 协议暴露给 AI 助手,实现智能化的移动应用测试。

✨ 特性

  • 🤖 AI 友好: 通过 MCP 协议与 Claude、ChatGPT 等 AI 助手无缝集成
  • 📱 跨平台支持: 同时支持 Android 和 iOS 设备及模拟器
  • 🛠️ 丰富的工具集: 提供 40+ 个自动化测试工具
  • 🔄 异步架构: 高性能异步设计,支持并发操作
  • 🎯 易于使用: 5分钟快速上手,详细的文档和示例
  • 🔧 高度可配置: 灵活的配置选项适应不同使用场景

🚀 快速开始

安装

# 安装 Appium MCP Server
pip install appium-mcp-server

# 安装 Appium
npm install -g appium
appium driver install uiautomator2  # Android
appium driver install xcuitest      # iOS (仅 macOS)

基本使用

前置条件检查:

# 验证安装是否成功
appium-mcp-server --version  # 应该显示版本号
appium --version              # 应该显示 Appium 版本
  1. 启动 Appium 服务器

    appium --port 4723
    
  2. 配置 Claude Desktop

    {
      "mcpServers": {
        "appium": {
          "command": "appium-mcp-server",
          "args": ["run"]
        }
      }
    }
    

    注意:配置后重启 Claude Desktop,MCP 服务器会自动启动,无需手动运行。

  3. 重启 Claude Desktop

    配置文件修改后,需要重启 Claude Desktop 使配置生效。

  4. 开始对话

    请帮我连接 Android 设备,启动设置应用并截图。
    

🎬 功能演示

📱 设备连接测试

设备连接测试结果

展示完整的设备管理流程:设备发现 → 设备连接 → 信息获取 → 会话管理 → 截图验证

🎯 测试功能展示

  • ✅ 设备发现: 自动列出所有可用的Android和iOS设备
  • ✅ 设备连接: 成功连接到指定设备并创建会话
  • ✅ 信息获取: 获取设备详细信息和会话状态
  • ✅ 截图功能: 实时截取设备屏幕状态
  • ✅ AI交互: 通过自然语言指令控制设备操作

🛠️ 功能概览

设备管理

  • 设备发现和连接
  • 设备信息获取
  • 应用安装和卸载
  • 设备状态监控

UI 自动化

  • 元素查找和操作
  • 文本输入和清除
  • 手势操作(点击、滑动、拖拽)
  • 多点触控支持

系统操作

  • 截图和录屏
  • 按键操作
  • 设备旋转
  • 系统设置

文件操作

  • 文件传输(推送/拉取)
  • 目录管理
  • 文件权限控制

📚 文档

🎯 使用场景

自动化测试

# Python 客户端示例
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def test_login():
    server_params = StdioServerParameters(
        command="appium-mcp-server", args=[]
    )
    
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # 连接设备
            await session.call_tool("connect_device", {
                "device_id": "emulator-5554"
            })
            
            # 启动应用
            await session.call_tool("launch_app", {
                "device_id": "emulator-5554",
                "app_package": "com.example.app"
            })
            
            # 执行登录流程
            # ...

AI 助手对话

用户: 请测试购物应用的结账流程

AI: 我来帮您测试购物应用的结账流程:

1. 首先连接设备并启动应用
2. 添加商品到购物车
3. 进入结账页面
4. 填写收货信息
5. 选择支付方式
6. 完成下单并验证

让我开始执行测试...

🏗️ 架构

graph TB
    subgraph "MCP Client Layer"
        A[AI Assistant]
        B[Claude Desktop]
        C[Custom Client]
    end
    
    subgraph "Appium MCP Server"
        D[MCP Server Core]
        E[Tool Registry]
        F[Device Manager]
        G[Session Manager]
    end
    
    subgraph "Appium Layer"
        H[Appium Python Client]
        I[WebDriver Sessions]
    end
    
    subgraph "Device Layer"
        J[Android Devices]
        K[iOS Devices]
        L[Emulators]
    end
    
    A --> D
    B --> D
    C --> D
    D --> E
    D --> F
    D --> G
    E --> H
    F --> H
    G --> I
    H --> J
    H --> K
    H --> L

🤝 贡献

我们欢迎社区贡献!请查看 贡献指南 了解如何参与项目开发。

开发环境设置

# 克隆项目
git clone https://github.com/1405942836/appium-mcp.git
cd appium-mcp

# 安装开发依赖
pip install -e ".[dev]"

# 安装 pre-commit hooks
pre-commit install

# 运行测试
pytest

📄 许可证

本项目基于 MIT 许可证 开源。

🆘 获取帮助

🙏 致谢


⭐ 如果这个项目对您有帮助,请给我们一个 Star!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选