github analyzed 9bc2afb

HayoDev/safari-devtools-mcp

github

MCP server for Safari DevTools — browser debugging and automation for AI coding agents

maintainer
HayoDev
license
first seen
2026-06-03
last seen
2026-06-03
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 46 tools
transport stdio · http verified reported listed in the official MCP registry counts 46 tools · 0 res · 0 prompts permission surface via code analysis

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

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 9bc2afb · analyzer v20 · 1d ago

skills & prompt files 4

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

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