Safari

A node MCP server for controlling safari with an AI
  • typescript

20

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "lxman-safari-mcp-server": {
      "command": "node",
      "args": [
        "C:/Users/<USERNAME>/RiderProjects/AIPacketAnalyzer/safari-mcp-server/build/index.js"
      ]
    }
  }
}

You deploy a Safari MCP Server to give AI assistants direct access to Safari browser automation and development tools. It enables you to start and manage Safari sessions, capture console and network activity, inspect elements, run JavaScript in the browser, take screenshots, and monitor performance — all through MCP-enabled clients.

How to use

You connect an MCP client to the Safari MCP Server to control Safari sessions and perform browser automation. Start a session, navigate to pages, run JavaScript, capture screenshots, and fetch logs and performance data. You can manage multiple sessions, perform DOM inspections, and gather visual or diagnostic information to enhance your AI workflows.

How to install

Prerequisites: you run on macOS with Node.js 18 or newer and Safari 10 or newer.

Install the server dependencies and build the project, then start the MCP server.

Run these commands in sequence from your project directory:

# Install dependencies
npm install

# Build the project
npm run build

# Start the MCP server
npm start

Configuration and runtime notes

When starting a session, you can specify options to enable additional browser features such as the Web Inspector and profiling.

{
  "sessionId": "my-session",
  "options": {
    "enableInspection": true,
    "enableProfiling": true,
    "usesTechnologyPreview": false
  }
}

Available tools

safari_start_session

Start a new Safari automation session with a unique sessionId to manage browser context.

safari_close_session

Close an active Safari automation session by sessionId to release resources.

safari_list_sessions

List all currently active Safari automation sessions.

safari_navigate

Navigate the current session to a specific URL and load the page.

safari_get_page_info

Retrieve the current page's URL and title for context.

safari_get_console_logs

Fetch the browser console logs for debugging and analysis.

safari_get_network_logs

Fetch network activity logs to analyze requests and responses.

safari_get_performance_metrics

Obtain performance metrics and timing data for the loaded page.

safari_execute_script

Execute custom JavaScript within the browser context of the active session.

safari_take_screenshot

Capture a screenshot of the current page for visual inspection.

safari_inspect_element

Inspect DOM elements and retrieve their properties for analysis.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational