Skip to content
Agentmart
Submit a tool

Safari DevTools MCP

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

Connector by HayoDev · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/hayodev-safari-devtools-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
20 read · 21 write · 5 delete · 3 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 49

Read from the source code; the running server may list different tools.

Read 20 · Look things up without changing anything.

  • check_ios_web_app_readiness
  • check_webkit_compatibility
  • evaluate_script
  • extract_links
  • extract_meta
  • get_color_scheme
  • get_computed_style
  • get_console_message
  • get_cookies
  • get_html_source
  • get_network_request
  • get_page_content
Show 8 more tools
  • get_safe_area_insets
  • get_storage
  • inspect_viewport_meta
  • list_console_messages
  • list_network_requests
  • list_pages
  • take_screenshot
  • take_snapshot

Write 21 · Create, change, send or run things.

  • click
  • click_at
  • close_page
  • drag
  • fill
  • fill_form
  • hover
  • navigate_page
  • press_key
  • resize_page
  • right_click
  • scroll
Show 9 more tools
  • scroll_to_element
  • select_option
  • select_page
  • set_color_scheme
  • set_cookie
  • set_device_emulation
  • set_storage
  • type_text
  • upload_file

Delete 5 · Delete, drop, revoke or wipe things.

  • clear_console
  • clear_network
  • delete_cookie
  • delete_storage
  • reset_device_emulation

Not yet classified 3 · We could not tell from the name and description.

  • handle_dialog
  • new_page
  • wait_for

Files it touches

  • Any path the agent passes to its tools

Tools (49)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • check_ios_web_app_readiness

    Audit the page for iOS Safari "Add to Home Screen" / PWA readiness. Checks apple-touch-icon, apple-mobile-web-app-capable, status bar style, theme-color, manifest link, and splash screen configuration.

  • check_webkit_compatibility

    Check CSS on the current page against the live Safari session. Extracts every CSS property via structured DOM APIs, runs CSS.supports() in the actual browser, and reports what is broken right now — unsupported properties, missing -webkit- prefixes, and known Safari rendering quirks.

  • clear_console

    Clear all captured console messages.

  • clear_network

    Clear all captured network requests.

  • click

    Clicks on the provided element.

  • click_at

    Clicks at the provided coordinates.

  • close_page

    Closes a page by its ID. The last open page cannot be closed.

  • delete_cookie

    Delete a cookie by name, or delete all cookies when no name is provided.

  • delete_storage

    Delete a key from localStorage or sessionStorage, or clear all entries.

  • drag

    Drag an element onto another element.

  • evaluate_script

    Evaluate a JavaScript function inside the currently selected page. Returns the response as JSON, so returned values have to be JSON-serializable.

  • extract_links

    Extract all links from the current page with their text and href.

  • extract_meta

    Extract meta tags from the current page (og:, twitter:, description, etc.).

  • fill

    Type text into an input, text area or select an option from a <select> element.

  • fill_form

    Fill out multiple form elements at once.

Show 34 more tools
  • get_color_scheme

    Check the currently active color scheme preference (light or dark) as seen by the page, and whether an MCP override is active.

  • get_computed_style

    Get computed CSS styles for an element by its UID from a snapshot. Returns commonly useful properties by default, or specify exact properties.

  • get_console_message

    Gets a console message by its ID. You can get all messages by calling list_console_messages.

  • get_cookies

    Get browser cookies for the current page. Optionally filter by name or domain.

  • get_html_source

    Get the full HTML source of the current page.

  • get_network_request

    Gets a network request by its reqid from the listed requests.

  • get_page_content

    Get the page title, URL, and visible text content.

  • get_safe_area_insets

    Read the current CSS safe-area-inset values (top, right, bottom, left) as seen by the page. These are non-zero on notched iPhones when viewport-fit=cover is set. Also checks whether the page uses env(safe-area-inset-*) in its stylesheets.

  • get_storage

    Read from localStorage or sessionStorage. Returns all entries or a specific key.

  • handle_dialog

    If a browser dialog was opened, use this command to handle it.

  • hover

    Hover over the provided element.

  • inspect_viewport_meta

    Parse the viewport meta tag and validate it against iOS Safari best practices. Reports issues like missing width=device-width, disabled zoom (accessibility violation), missing viewport-fit=cover for safe areas, and other common misconfiguration.

  • list_console_messages

    List all console messages for the currently selected page since the last navigation.

  • list_network_requests

    List all network requests for the currently selected page since the last navigation. Includes historical requests made before monitoring started (with limited detail).

  • list_pages

    Get a list of pages (tabs) open in Safari.

  • navigate_page

    Go to a URL, or back, forward, or reload.

  • new_page

    Open a new tab and load a URL.

  • press_key

    Press a key or key combination. Use this when other input methods like fill() cannot be used.

  • reset_device_emulation

    Remove all device emulation overrides and restore the original viewport size, JS-level user agent, device pixel ratio, and touch settings.

  • resize_page

    Resizes the selected page's window so that the page has specified dimensions.

  • right_click

    Right-click (context click) on the provided element.

  • scroll

    Scroll the page in a direction by a given amount of pixels.

  • scroll_to_element

    Scroll an element into view by its UID from a snapshot.

  • select_option

    Select an option from a <select> dropdown by value or visible label.

  • select_page

    Select a page as context for future tool calls.

  • set_color_scheme

    Emulate prefers-color-scheme (light/dark mode) in the current page. Overrides CSS @media rules, the color-scheme property, and JavaScript matchMedia() (including change events) so the page behaves as if the OS preference changed. Use "reset" to restore the system default.

  • set_cookie

    Set a browser cookie with the given name, value, and optional attributes.

  • set_device_emulation

    Description is built at runtime.

  • set_storage

    Write a key-value pair to localStorage or sessionStorage.

  • take_screenshot

    Take a screenshot of the page or element.

  • take_snapshot

    Take a text snapshot of the currently selected page based on the DOM/a11y tree. The snapshot lists page elements along with a unique identifier (uid). Always use the latest snapshot. Prefer taking a snapshot over taking a screenshot.

  • type_text

    Type text using keyboard into a previously focused input.

  • upload_file

    Upload a file through a provided file input element.

  • wait_for

    Wait for a condition on the page: text content, a CSS selector, or a JS predicate. Returns a snapshot once the condition is met. At least one condition (text, selector, or predicate) must be provided.

Signals

Stars
2
Forks
0
Open issues
1
Last commit
Apr 13, 2026 (6 months ago)
Last release
Apr 13, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.HayoDev/safari-devtools-mcp
Version
1.8.1
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from HayoDev

Cite this page

Safari DevTools MCP. Agent Mart. https://agentmart.dev/connectors/hayodev-safari-devtools-mcp (last updated 2026-10-24)