MCP server for Safari DevTools — browser debugging and automation for AI coding agents
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
check_ios_web_app_readiness
Audit the page for Add to Home Screen / PWA readiness (apple-touch-icon, manifest, splash screens, status bar)
-
check_webkit_compatibility
Check page CSS against the live Safari session via CSS.supports()
-
clear_console
Clear all captured console messages
-
clear_network
Clear all captured network requests
-
click
Click an element by UID from a snapshot
-
click_at
Click at specific x/y coordinates
-
close_page
Close a tab
-
delete_cookie
Delete a cookie by name, or delete all cookies
-
delete_storage
Delete a key or clear all entries from localStorage/sessionStorage
-
drag
Drag and drop between elements or coordinates
-
evaluate_script
Execute JavaScript in the browser context and return results
-
extract_links
Extract all links with their text, href, and rel attributes
-
extract_meta
Extract meta tags (og:, twitter:, description, etc.)
-
fill
Type into an input field or select from a dropdown
-
fill_form
Fill multiple form fields at once
-
get_computed_style
Get computed CSS styles for any element by UID
-
get_console_message
Get a detailed message including stack trace and arguments
-
get_cookies
Get browser cookies, optionally filtered by name or domain
-
get_html_source
Get the full HTML source of the page
-
get_network_request
Get full request/response details with headers and body
-
get_page_content
Get the page title, URL, and visible text content
-
get_safe_area_insets
Read CSS safe-area-inset values and check whether the page handles notched devices correctly
-
get_storage
Read from localStorage or sessionStorage
-
handle_dialog
Accept or dismiss browser dialogs (alert, confirm, prompt)
-
hover
Hover over an element
-
inspect_viewport_meta
Parse the viewport meta tag and validate against iOS best practices (width, zoom, viewport-fit)
-
list_console_messages
List console messages with filtering by level (log, warn, error)
-
list_network_requests
Monitor network requests — Fetch, XHR, and resource loads
-
list_pages
List all open Safari tabs across windows
-
macOS
(Safari and SafariDriver are Apple-exclusive)
-
navigate_page
Navigate to a URL, go back, forward, or reload
-
new_page
Open a new tab and navigate to a URL
-
press_key
Press a key or combination (e.g., Meta+A, Enter)
-
resize_page
Resize the browser window
-
right_click
Right-click (context menu) on an element
-
scroll
Scroll the page in any direction by a given amount
-
scroll_to_element
Scroll an element into view by its UID
-
select_option
Select an option from a dropdown by value or label
-
select_page
Switch to a specific tab
-
set_cookie
Set a cookie with name, value, and optional attributes
-
set_storage
Write a key-value pair to localStorage or sessionStorage
-
take_screenshot
Capture a PNG screenshot of the page or a specific element
-
take_snapshot
Accessibility-tree snapshot of the DOM with stable UIDs for element targeting
-
type_text
Type text into the currently focused element
-
upload_file
Upload a file through a file input
-
wait_for
Wait for specific text to appear on the page
analyzed commit 9bc2afb · analyzer v20 · 1d ago
skills & prompt files 4
- skillHayoDev-safari-devtools-mcp-9bc2afb/skills/a11y-debugging/SKILL.md
- skillHayoDev-safari-devtools-mcp-9bc2afb/skills/performance-debugging/SKILL.md
- skillHayoDev-safari-devtools-mcp-9bc2afb/skills/safari-devtools/SKILL.md
- skillHayoDev-safari-devtools-mcp-9bc2afb/skills/safari-specific-debugging/SKILL.md
filesystem 4
- fs HayoDev-safari-devtools-mcp-9bc2afb/src/prompts.ts :11
import {readFileSync} from 'fs'; - fs HayoDev-safari-devtools-mcp-9bc2afb/src/tools/page-content.ts :7
import {writeFile} from 'fs/promises'; - fs HayoDev-safari-devtools-mcp-9bc2afb/src/tools/screenshot.ts :10
import {writeFile} from 'fs/promises'; - fs HayoDev-safari-devtools-mcp-9bc2afb/src/tools/snapshot.ts :7
import {writeFile} from 'fs/promises';
shell / exec 1
- shell HayoDev-safari-devtools-mcp-9bc2afb/src/SafariDriver.ts :696
const {execSync} = await import('child_process');
network 2
- net HayoDev-safari-devtools-mcp-9bc2afb/src/injected/network.ts :7
* 2. Fetch interception — captures ongoing fetch() requests with full details - net HayoDev-safari-devtools-mcp-9bc2afb/src/tools/script.ts :21
return await fetch("example.com")
install hooks 1
- prepare HayoDev-safari-devtools-mcp-9bc2afb/package.json :29
sh scripts/install-hooks.sh
declared dependencies 8
- @modelcontextprotocol/sdk@^1.27.0
- selenium-webdriver@^4.26.1
- zod@^3.23.0
- @types/node@^22.10.0
- @types/selenium-webdriver@^4.1.27
- oxfmt@^0.42.0
- oxlint@^1.58.0
- typescript@^5.7.0