Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-webdriveragent

MCP.Pizza Chef: AppiumTestDistribution

The mcp-webdriveragent is an MCP server that automates building, packaging, and signing the iOS WebDriverAgent using Xcode and provisioning profiles. It streamlines preparing WebDriverAgent for Appium testing on iOS devices by handling IPA creation and code signing, enabling seamless integration into automated workflows.

Use This MCP server To

Build iOS WebDriverAgent projects automatically using Xcode Package WebDriverAgent into IPA files for deployment Sign IPA files with mobile provisioning profiles Automate preparation of WebDriverAgent for Appium testing Integrate WebDriverAgent build and signing into CI/CD pipelines

README

WebDriverAgent MCP Server


MCP_WDA


This is a Model Context Protocol (MCP) server that provides tools for building and signing WebDriverAgent for iOS.

Overview

The WebDriverAgent MCP Server exposes functionality to:

  1. Build WebDriverAgent using Xcode
  2. Package it into an IPA file
  3. Sign the IPA with a mobile provisioning profile

This server is particularly useful for automating the process of preparing WebDriverAgent for use with Appium on iOS devices.

Installation

  1. Clone this repository
  2. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration

To use this MCP server with Claude, you need to add it to your MCP settings configuration file. The location of this file depends on your platform:

  • For Cursor: /Users/[username]/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • For Claude Desktop: /Users/[username]/Library/Application Support/Claude/claude_desktop_config.json
  • For Cline or other MCP clients: Check your client's documentation for the configuration file location

Add the following configuration to the mcpServers object in the settings file:

{
  "mcpServers": {
    "mcp-wda": {
      "command": "npx",
      "args": ["mcp-webdriveragent"],
      "autoApprove": [],
      "timeout": 300
    }
  }
}

This configuration uses npx to run the globally or locally installed mcp-webdriveragent package.

Available Tools

The server provides a workflow of tools that should be used in sequence:

1. list_provisioning_profiles

Lists all iOS provisioning profiles available on the system.

Parameters:

  • profileUuid (required): UUID of the selected provisioning profile

Example Usage:

<use_mcp_tool>
<server_name>mcp-wda</server_name>
<tool_name>list_provisioning_profiles</tool_name>
<arguments>
{
  "profileUuid": "00000000-0000-0000-0000-000000000000"
}
</arguments>
</use_mcp_tool>

2. is_free_account

Confirms if the selected provisioning profile is from a free or enterprise account.

Parameters:

  • isFreeAccount (required): Boolean indicating if the profile is from a free account (true) or enterprise account (false)

Example Usage:

<use_mcp_tool>
<server_name>mcp-wda</server_name>
<tool_name>is_free_account</tool_name>
<arguments>
{
  "isFreeAccount": true
}
</arguments>
</use_mcp_tool>

3. build_and_sign_wda

Builds and signs WebDriverAgent for iOS using the selected provisioning profile.

Parameters:

  • selectedProvisioningProfile (required): Object containing the selected profile details (UUID, name, bundleId, filePath)
  • isFreeAccount (required): Boolean indicating if the profile is from a free account (true) or enterprise account (false)

Example Usage:

<use_mcp_tool>
<server_name>mcp-wda</server_name>
<tool_name>build_and_sign_wda</tool_name>
<arguments>
{
  "selectedProvisioningProfile": {
    "value": "00000000-0000-0000-0000-000000000000",
    "name": "iOS Team Provisioning Profile: com.example.WebDriverAgentRunner",
    "bundleId": "com.example.WebDriverAgentRunner",
    "filePath": "/Users/username/Library/MobileDevice/Provisioning Profiles/profile.mobileprovision"
  },
  "isFreeAccount": true
}
</arguments>
</use_mcp_tool>

Requirements

  • macOS with Xcode installed
  • Node.js 14 or higher
  • Valid iOS provisioning profile for signing
  • Appium WebDriverAgent dependencies (installed automatically)

Development

To run the server in development mode with automatic recompilation:

npm run dev

License

MIT

mcp-webdriveragent FAQ

How do I install the mcp-webdriveragent server?
Clone the repository, run 'npm install' to install dependencies, then 'npm run build' to build the project.
What platforms support running the mcp-webdriveragent server?
It runs on platforms that support Node.js and Xcode, typically macOS for iOS development.
How does mcp-webdriveragent handle code signing?
It signs the IPA using a provided mobile provisioning profile to ensure the app can run on iOS devices.
Can I integrate mcp-webdriveragent with different LLM providers?
Yes, it can be configured to work with MCP clients using models like OpenAI, Claude, and Gemini.
Is it possible to automate WebDriverAgent builds in CI/CD pipelines?
Yes, the server is designed to be scriptable and integrates well with automated build and deployment workflows.
What is required to configure mcp-webdriveragent for use with an MCP client?
You need to add the server to your MCP settings configuration file, specifying paths and credentials as needed.
Does mcp-webdriveragent support building for multiple iOS device targets?
Yes, it leverages Xcode build settings, allowing configuration for different device targets and architectures.
How secure is the signing process in mcp-webdriveragent?
The signing uses your provisioning profiles and certificates locally, ensuring secure and trusted app signing.