Apple Safari
Read and act on Safari — history, tabs and reading list, writes off by default
Connector by mgcrea · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Apple Safari?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/mgcrea-mcp-apple-safari
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.
About
Use cases: browser-automation, web-search
Reviews
Write a reviewNo 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, install config and code. Checked Oct 25, 2026.
- Tools
- 11 read · 6 write · 1 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 18
Read from the source code; the running server may list different tools.
Read 11 · Look things up without changing anything.
apple_safari_diagnosticsapple_safari_find_codesapple_safari_get_pageapple_safari_list_bookmarksapple_safari_list_reading_listapple_safari_list_tabsapple_safari_network_listapple_safari_page_elementsapple_safari_read_pageapple_safari_search_historyapple_safari_what_was_i_reading
Write 6 · Create, change, send or run things.
apple_safari_add_reading_list_itemapple_safari_clickapple_safari_fillapple_safari_network_getapple_safari_network_recordapple_safari_scroll
Delete 1 · Delete, drop, revoke or wipe things.
apple_safari_open_url
Secrets and settings it asks for
Other settings (environment variables or headers).
APPLE_SAFARI_ALLOW_CODESAPPLE_SAFARI_ALLOW_NETWORKAPPLE_SAFARI_ALLOW_WRITESAPPLE_SAFARI_DOWNLOAD_DIRAPPLE_SAFARI_NETWORK_CHUNK_CHARS
Network hosts it talks to 2
cupertino.mgcrea.io· found in codegithub.com· found in code
Files it touches
- Your home directory (~)
Tools (18)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
apple_safari_add_reading_list_itemSave a URL to Safari's Reading List. Nothing appears on screen: no tab opens and nothing comes to the front. It is NOT inert on the network though — Safari fetches the page in the background to build the entry, so this makes a request to that host from the user's browser. Sends an Apple Event, so it needs an Automation grant; it LAUNCHES Safari if it is not running. `title` and `previewText` are BEST-EFFORT and usually ignored: Safari fetches the page itself and overwrites both with what it finds there (measured — a custom title survived only on a URL that does not resolve). Pass them for a pa…
apple_safari_clickDescription is built at runtime.
apple_safari_diagnosticsread-onlyReport which of Safari's two lanes are working, what each one can answer, and what this server deliberately cannot do. Start here when a read returns nothing — on this surface one lane failing while the other works is normal.
apple_safari_fillDescription is built at runtime.
apple_safari_find_codesread-onlyFind a one-time authentication code (2FA/OTP) in the text of an open page. Runs through the Cupertino Safari extension, so it needs NO Full Disk Access and NO Automation grant — what it needs is the extension enabled in Safari AND allowed on that specific website, which Safari grants one site at a time. The page must be open. Expect about a second of latency on a visible tab and up to ten on a background one. THERE IS NO `ageSeconds` HERE AND THERE CANNOT BE. A message carries the time it arrived; a paragraph on a page does not. A code that expired twenty minutes ago sits in the DOM looking e…
apple_safari_get_pageread-onlyGet one page from browsing history by its ref, with visit counts and first/last visit times. Needs Full Disk Access.
apple_safari_list_bookmarksread-onlyList Safari bookmarks, with the folder each one sits in. Needs Full Disk Access. Reads the bookmarks file directly and does NOT require Safari to be running. Reading List entries are excluded — use apple_safari_list_reading_list for those.
apple_safari_list_reading_listread-onlyList Safari's Reading List — pages saved to read later. Needs Full Disk Access; does NOT require Safari to be running. Unread state is derived from whether the entry has ever been opened: there is no read/unread flag in Safari's data, only the presence or absence of a last-viewed date. Entries may carry a short preview of the page text.
apple_safari_list_tabsread-onlyList the tabs currently open in Safari, across every window. This is the ONE Safari tool that does not need Full Disk Access — it reads live state through Apple Events, so it needs an Automation grant instead, and it requires Safari to be running. To answer 'what am I looking at', use the tab marked `frontmost`: `active` means selected in its own window, so a person with three windows open has three active tabs and only one frontmost one. Each tab optionally carries its matching history entry. A null `history` means the URL was not found in history, NOT that the page was never visited. The mat…
apple_safari_network_getDescription is built at runtime.
apple_safari_network_listread-onlyDescription is built at runtime.
apple_safari_network_recordDescription is built at runtime.
apple_safari_open_urlOpen a URL in Safari — in a new tab by default, or in the tab the user is currently looking at. Sends an Apple Event, so it needs an Automation grant and NOT Full Disk Access. LAUNCHES Safari if it is not running. Only http:// and https:// URLs are accepted; a javascript: URL is refused because it would execute script in the page, which this server does not offer. This does NOT wait for the page to load, so the returned tab may still show the previous URL or no title — call apple_safari_list_tabs a moment later to see where it landed. `route` says how the page was placed: "tab-push" and "curre…
apple_safari_page_elementsread-onlyDescription is built at runtime.
apple_safari_read_pageread-onlyRead the content of a page open in Safari, as readable text or raw HTML. Needs the Cupertino Safari extension installed, enabled, and ALLOWED ON THAT WEBSITE — Safari grants extensions per site, so a page you have not permitted returns nothing even though the extension is on. It asks the open tab for its content as it is NOW, and `source` says "live" when that worked. A tab that cannot answer within a few seconds — hidden in the background, closed, or running an extension from before an update — gets the snapshot the extension stored instead, with `source: "capture"` and `liveRead` saying why.…
Show 3 more tools
apple_safari_scrollDescription is built at runtime.
apple_safari_search_historyread-onlySearch Safari browsing history by URL or page title, optionally within a date range. Needs Full Disk Access — there is no second lane for history, so without the grant this returns an error rather than an empty list. Results are pages (one per URL), newest visit first, each with a visit count and a ref for apple_safari_get_page.
apple_safari_what_was_i_readingFind something I was readingTrack down a page across history, open tabs and the Reading List — three separate stores that answer three different questions. Read-only.
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 2
- Weekly downloads
- 418
- Last commit (this folder)
- Oct 22, 2026 (8 days ago)
- Last release
- Oct 25, 2026 (5 days ago)
- Last package publish
- Oct 22, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.mgcrea/mcp-apple-safari- Version
- 1.31.0
- Auth
- No auth
- Packages
- npm @mgcrea/mcp-apple-safari
- License
- MIT
- Repository
- github.com/mgcrea/cupertino
- Website
- cupertino.mgcrea.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 26, 2026
More from mgcrea
- 0.578score
Apple Calendar
mgcrea
Search, read and act on Apple Calendar — ranges, free-time lookup, writes off by default
ConnectorAFreshness: ALocal★ 5↓ 457/wkClaude Code +5 - 0.577score
Apple Mail
mgcrea
Search, read and act on Apple Mail — threads, attachments, body search, writes off by default
ConnectorAFreshness: ALocal★ 5↓ 400/wkClaude Code +5 - 0.576score
Apple Reminders
mgcrea
Search, read and act on Apple Reminders — lists, due dates, writes off by default
ConnectorAFreshness: ALocal★ 5↓ 370/wkClaude Code +5 - 0.575score
Apple Notes
mgcrea
Search, read and act on Apple Notes — folders, attachments, writes off by default
ConnectorAFreshness: ALocal★ 5↓ 329/wkClaude Code +5 - 0.575score
Apple Messages
mgcrea
Search and read Apple Messages — chats and decoded text, sending off by default
ConnectorAFreshness: ALocal★ 5↓ 319/wkClaude Code +5 - 0.575score
Apple Maps
mgcrea
Read and act on Apple Maps — favourites, Guides and recents, writes off by default
ConnectorAFreshness: ALocal★ 5↓ 299/wkClaude Code +5
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Apple Safari running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Apple Safari MCP server. Agent Mart. https://agentmart.dev/connectors/mgcrea-mcp-apple-safari (last updated 2026-10-26)