A side-by-side look at the Browserless and Ios Simulator MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Browserless for browser automation work as a local process; choose Ios Simulator MCP for browser automation as a local process. You can also run both side by side in one mcpServers block.
browserless_content, browserless_scrape, browserless_screenshot.get_booted_sim_id, open_simulator, ui_describe_all.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 59/100 · Good | 69/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 2,194 |
| Directory activity | 1 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 4 | 17 |
| Full listing | View Browserless | View Ios Simulator MCP |
browserless_contentRender a URL in headless Chromium and return the fully-executed HTML (after JavaScript runs) — use this when a plain fetch returns an empty shell or JS-rendered SPA. Example: browserless_content({ url: "https://example.com", _apiKey: "your-token" })browserless_scrapeExtract structured data from a rendered page using CSS selectors. Returns text, inner HTML, attributes and geometry for every matched element. Example: browserless_scrape({ url: "https://news.ycombinator.com", elements: [{ selector: ".titleline a" }], _apiKey: "your-token" })browserless_screenshotCapture a screenshot of a rendered page. Returns the image byte-length and metadata only (the binary PNG is NOT inlined). Example: browserless_screenshot({ url: "https://example.com", fullPage: true, _apiKey: "your-token" })browserless_smart_scrapeAI-assisted extraction: tries a plain HTTP fetch first and falls back to a full headless browser, returning content in the requested formats (html, markdown, links, screenshot, pdf). Best when you just want clean page content and do not know the right selectors. Example: browserless_smart_scrape({ url: "https://example.com", formats: ["markdown", "links"], _apiKey: "your-token" })get_booted_sim_idGet the ID of the currently booted iOS simulatoropen_simulatorOpens the iOS Simulator applicationui_describe_allDescribes accessibility information for the entire screen in the iOS Simulatorui_tapTap on the screen in the iOS Simulatorui_typeInput text into the iOS Simulatorui_swipeSwipe on the screen in the iOS Simulatorui_describe_pointReturns the accessibility element at given co-ordinates on the iOS Simulator's screenui_find_elementSearches the accessibility tree and returns elements matching the given criteriaui_viewGet the image content of a compressed screenshot of the current simulator viewscreenshotTakes a screenshot of the iOS Simulatorrecord_videoRecords a video of the iOS Simulator using simctl directlystop_recordingStops the simulator video recording using killallPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"browserless": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-browserless"
]
}
}
}
{
"mcpServers": {
"ios-simulator-mcp": {
"command": "npx",
"args": [
"-y",
"ios-simulator-mcp"
]
}
}
}