Safari Web Inspector Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SWIB_PROXY_PORT | No | Starting port for ios-webkit-debug-proxy device ports | 9222 |
| SWIB_AUTO_CONNECT | No | Auto-connect to the first inspectable page on startup | false |
| SWIB_CONSOLE_CAPTURE | No | Capture console messages on connect | true |
| SWIB_NETWORK_CAPTURE | No | Capture network requests on connect | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List connected iOS devices with Web Inspector enabled |
| list_inspectable_pagesA | Enumerate all inspectable WKWebViews across connected devices |
| connectB | Attach to a specific inspectable page for observation and automation |
| get_urlA | Get the current URL of the connected page |
| get_domA | Read the page's DOM as HTML |
| get_network_logA | Retrieve captured network requests since connection or last clear |
| get_console_logA | Retrieve JavaScript console messages since connection or last clear |
| screenshotB | Capture a screenshot of the webview content |
| debug_protocolA | Dump the raw WebKit Inspector Protocol messages exchanged (for debugging) |
| navigateA | Load a URL in the connected webview |
| execute_javascriptB | Evaluate a JavaScript expression in the page context |
| click_elementA | Click a DOM element identified by CSS selector |
| type_textA | Type text into the currently focused element or a specified element |
| wait_forC | Wait for a condition before proceeding |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clearly distinct role: enumeration (list_devices, list_inspectable_pages), connection, state retrieval (get_url, get_dom, get_network_log, get_console_log), actions (navigate, execute_javascript, click_element, type_text, wait_for), and debugging (screenshot, debug_protocol). No two tools target the same resource or action in an ambiguous way.
Most tools follow a consistent verb_noun pattern (list_devices, get_url, click_element). A few single-word verbs (connect, navigate, screenshot) deviate slightly but are still clear and fit the overall imperative style. No mixed naming conventions like camelCase or inconsistent prefixes.
14 tools is well within the ideal range for a comprehensive browser automation/inspection server. Each tool covers a necessary aspect of the workflow without redundancy or bloat.
The toolset covers the core lifecycle of inspecting and automating WKWebViews: discovery, connection, navigation, DOM access, interaction, waiting, and logging. A minor gap is lack of an explicit clear operation for network/console logs despite descriptions mentioning 'last clear', but this can be worked around with reconnection.