mobile-automation
A production-ready iOS automation MCP server built with FastMCP 2.0, featuring clean modular architecture with complete platform segregation. Ready for cross-platform expansion with iOS-specific and shared components properly separated.
claude mcp add --transport stdio ihacksubhodip-mobile-automation-mcp-server uv run python mobile-automation-mcp-server/fastmcp_server.py \ --env LOG_LEVEL="INFO" \ --env PYTHONUNBUFFERED="1"
How to use
This MCP server provides a modular mobile automation platform focused on iOS, built with FastMCP 2.0. It exposes an extensible set of platform-specific tools (in particular for iOS automation) and utilities that enable remote control, element interaction, and Appium-driven automation within a consistent MCP framework. You can run the server locally via uv, or connect to a remote hosted instance as demonstrated in the README. The available tools include taking screenshots, launching apps on the iOS Simulator, finding and tapping UI elements, typing into fields via Appium, listing simulators, and checking server status. The architecture emphasizes clean separation between shared utilities, iOS-specific code, and configuration, making it straightforward to extend for future platforms like Android.
How to install
Prerequisites:\n- macOS (recommended for iOS automation)\n- Python 3.11+\n- uv (recommended) or pip for local setup\n- Xcode with iOS Simulator\n- Node.js (for Appium, optional if you only use Python-based tooling)\n\nInstallation steps:\n1) Clone the repository that contains the MCP server code:\nbash\ngit clone https://github.com/iHackSubhodip/mcp-server-demo.git\ncd mcp-server-demo\n\n2) Install uv and sync dependencies (recommended):\nbash\nuv sync\n\n3) Install Python dependencies in editable mode (local development):\nbash\npip install -e .\n\n4) Run the FastMCP server locally using uv:\nbash\nuv run python mobile-automation-mcp-server/fastmcp_server.py\n\n5) (Optional) Start Appium and configure environment as needed:\nbash\nnpm install -g appium\nappium driver install xcuitest\nappium server --port 4723\n\n6) If you prefer a configuration file approach, create an MCP config similar to the example in the README, referencing the local entry point.\njson\n{\n "mcpServers": {\n "mobile-automation": {\n "command": "uv",\n "args": ["run", "python", "mobile-automation-mcp-server/fastmcp_server.py"]\n }\n }\n}\n
Additional notes
Tips and caveats:\n- The recommended local runner is uv for Python-based MCP servers. Make sure the path in the command matches your project structure.\n- For iOS automation, macOS and Xcode are required; Simulator-based testing is common.\n- If you use the remote hosted option, you can reference the mcp-remote package via npx as shown in the Quick Start example.\n- Environment variables like PYTHONUNBUFFERED can help with log readability in long-running tasks.\n- Ensure Appium and its iOS drivers are installed if you plan to run Appium-based actions locally.\n- The server is designed with modular configuration; you can add new platforms by following the existing directory structure and adding new platform-specific tooling.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP