AppiumTestDistribution/mcp-webdriveragent
If you are the rightful owner of mcp-webdriveragent and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This is a Model Context Protocol (MCP) server that provides tools for building and signing WebDriverAgent for iOS.
WebDriverAgent MCP Server
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:
- Build WebDriverAgent using Xcode
- Package it into an IPA file
- 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
- Clone this repository
- Install dependencies:
npm install
- 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