# nnemirovsky/iwdp-mcp [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/nnemirovsky/iwdp-mcp  
**GitHub Stars:** 15  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/nnemirovsky-iwdp-mcp

## Description
iOS Safari debugging via ios-webkit-debug-proxy — MCP server with full WebKit Inspector Protocol support (DOM, CSS, Network, Storage, Debugger, and more)

## Tools
Capabilities this server exposes over MCP:

- **iwdp_status** — Check/auto-start ios-webkit-debug-proxy
- **restart_iwdp** — Restart iwdp after a crash (e.g., heap snapshot)
- **list_devices** — List connected iOS devices (HTTP GET :9221)
- **list_pages** — List Safari tabs (HTTP GET :9222+)
- **select_page** — Connect to a specific tab
- **navigate** — Go to URL
- **take_screenshot** — Capture page as PNG
- **evaluate_script** — Run JavaScript
- **get_document** — Get DOM tree
- **query_selector** — Find elements by CSS selector

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `go` (confidence: high):

```json
"mcpServers": {
  "iwdp-mcp": {
    "command": "go",
    "args": ["install","github.com/nnemirovsky/iwdp-mcp/cmd/...@latest"]
  }
}
```

## Documentation

## What nnemirovsky/iwdp-mcp MCP server does

The nnemirovsky/iwdp-mcp MCP server lets an MCP-compatible AI client inspect and control Safari on a connected iPhone or iPad. It uses ios-webkit-debug-proxy rather than Chrome DevTools Protocol, making it suitable for WebKit debugging on a real iOS device.

The server exposes tools for checking the proxy, discovering devices and Safari tabs, selecting a page, navigating to a URL, capturing screenshots, evaluating JavaScript, retrieving the document tree, and finding elements with CSS selectors. The project also describes coverage across WebKit Inspector Protocol domains including CSS, Network, Storage, Debugger, profiling, and heap snapshots.

Typical uses include checking the current page URL and title, inspecting DOM content, running browser-side JavaScript, examining cookies including httpOnly cookies, and investigating iOS-only website behavior.

## How it works

The MCP process communicates with ios-webkit-debug-proxy, which provides HTTP endpoints for connected devices and Safari pages. Device discovery uses port 9221, while Safari page discovery starts at port 9222 and can use subsequent ports for additional pages.

The `iwdp_status` tool can check whether the proxy is available and auto-start it. `restart_iwdp` provides a way to recover after a proxy crash. After discovering tabs with `list_pages`, an agent can use `select_page` before issuing page-level operations such as navigation, screenshots, JavaScript evaluation, or DOM inspection.

This architecture requires physical device connectivity and does not use a browser extension or a Chrome-specific debugging protocol.

## Setup and configuration

Install ios-webkit-debug-proxy separately. The README gives Homebrew installation for macOS and points to the upstream installation guide for Linux and other platforms. Connect the iOS device over USB and enable Safari Web Inspector under Settings, Safari, Advanced, and Web Inspector.

Install the server with Go using the repository's `go install` command, or download a release binary or build from source. Configure the MCP client to launch the `iwdp-mcp` executable over stdio. The README includes configurations for Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Codex CLI, Antigravity, and JetBrains IDEs.

The nnemirovsky/iwdp-mcp MCP server does not require an API key or service account in the supplied configuration examples.

## Tools and capabilities

The listed MCP tools cover these operations:

- Check or restart ios-webkit-debug-proxy.
- List connected iOS devices and available Safari tabs.
- Select a target Safari page.
- Navigate to a URL and capture a PNG screenshot.
- Execute JavaScript in the selected page.
- Retrieve the DOM tree and query CSS selectors.

The README additionally documents protocol support for network inspection and interception, CSS inspection, storage and cookies, JavaScript debugging, timeline recording, CPU profiling, heap snapshots, compositing layers, and related WebKit Inspector features.

## Limitations and notes

The device must be connected and configured for Web Inspector. The proxy is an external prerequisite, so installing the MCP binary alone does not provide device access. Safari debugging is specific to iOS WebKit; this server is not presented as a general Chrome or desktop browser automation server.

Real-device behavior can differ from a simulator, which is one reason to use the nnemirovsky/iwdp-mcp MCP server for iOS-specific testing. Proxy failures may require `restart_iwdp`, and resource-intensive operations such as heap snapshots may cause the proxy to crash according to the documented recovery workflow.

The project is licensed under MIT.

_Full upstream README: https://allmcps.com/mcp/nnemirovsky-iwdp-mcp/readme_

