Controls Safari from Claude Desktop through a local Node.js bridge and Safari Web Extension.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by ClaudeForSafari.
safari_list_profilesList available Safari profiles
safari_navigateNavigate to a URL
safari_get_page_textRead the visible text of the current page
safari_read_pageGet the full HTML of the current page
safari_javascriptExecute arbitrary JavaScript
safari_findFind elements by CSS selector or text content
The Lyosis/claudeForSafari MCP server connects Claude Desktop to Safari. It exposes browser actions through MCP, allowing an agent to inspect pages, navigate between URLs, interact with page elements, and manage open tabs. The project is intended for macOS users who need Safari-specific browser control rather than automation through Playwright or WebDriver.
Available operations include listing Safari profiles, navigating to a URL, reading visible page text, retrieving the current page's HTML, running JavaScript, locating elements by CSS selector or text, clicking elements, entering values into inputs and textareas, scrolling, and listing, creating, closing, or switching tabs.
Claude Desktop starts the Node.js bridge as an MCP stdio process. The bridge exchanges JSON-RPC messages with Claude Desktop and forwards browser requests through a WebSocket at ws://localhost:45678. The Safari extension receives those requests and uses Safari tab APIs and script execution to act on the active tab.
Safari must be open and the extension must be enabled. The extension reconnects to the bridge after sleep or after Safari Settings has been opened. Page script injection requires the extension's permission to run on all websites. Internal Safari pages such as favorites:// and about:blank cannot be injected; an HTTP or HTTPS page is required for operations that depend on page injection.
The Lyosis/claudeForSafari MCP server requires macOS 14 or later, Xcode 16 or later, Node.js 18 or later, an Apple developer account, and Claude Desktop with MCP support. A free Apple developer account is sufficient for local use.
Install the bridge dependencies from the repository's bridge directory with npm install. Open app/claudeExtension.xcodeproj in Xcode, select the claudeExtension scheme, choose My Mac, and run the host app. When macOS prompts to add the Safari extension, open Safari Preferences and enable it. In Safari Settings, open Extensions, enable claudeExtension, and allow it on all websites.
Add an safari entry to Claude Desktop's claude_desktop_config.json. Its command must invoke Node.js with the absolute path to bridge/bridge.js; use the full Node.js path if node is not available in Claude Desktop's PATH. Restart Claude Desktop after saving the configuration. The bridge then starts with the MCP client, provided Safari is running with the extension enabled.
The MCP tools cover four main areas:
<input> and <textarea> controls.safari_javascript can execute arbitrary JavaScript in the active tab. safari_form_input does not support rich-text editors based on contenteditable, including the examples noted in the project documentation such as Notion and Gmail compose.
The Lyosis/claudeForSafari MCP server is designed for local Safari control. Its bridge listens only on localhost, but it has no cryptographic authentication, so any local process that can reach the port may connect. The security model assumes other processes under the same user account are trusted.
Because arbitrary JavaScript execution is available, use the tool only on pages and content you trust. If the extension is not connected, verify that Safari is open, the extension is enabled, and the bridge process is running. Changes to extension resources require rebuilding in Xcode and usually disabling and re-enabling the extension, while bridge changes take effect after Claude Desktop restarts. The project is licensed under MIT.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/lyosis-claudeforsafari)<a href="https://allmcps.com/mcp/lyosis-claudeforsafari"><img src="https://allmcps.com/api/badge/lyosis-claudeforsafari?style=directory" alt="ClaudeForSafari on AllMCPs" /></a>