Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 5
Write a review

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.

Book a call

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.

We use your email only for this newsletter. Privacy

About

Read and act on Safari — history, tabs and reading list, writes off by default

Use cases: browser-automation, web-search

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, 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_diagnostics
  • apple_safari_find_codes
  • apple_safari_get_page
  • apple_safari_list_bookmarks
  • apple_safari_list_reading_list
  • apple_safari_list_tabs
  • apple_safari_network_list
  • apple_safari_page_elements
  • apple_safari_read_page
  • apple_safari_search_history
  • apple_safari_what_was_i_reading

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

  • apple_safari_add_reading_list_item
  • apple_safari_click
  • apple_safari_fill
  • apple_safari_network_get
  • apple_safari_network_record
  • apple_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_CODES
  • APPLE_SAFARI_ALLOW_NETWORK
  • APPLE_SAFARI_ALLOW_WRITES
  • APPLE_SAFARI_DOWNLOAD_DIR
  • APPLE_SAFARI_NETWORK_CHUNK_CHARS

Network hosts it talks to 2

  • cupertino.mgcrea.io · found in code
  • github.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_item

    Save 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_click

    Description is built at runtime.

  • apple_safari_diagnosticsread-only

    Report 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_fill

    Description is built at runtime.

  • apple_safari_find_codesread-only

    Find 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-only

    Get one page from browsing history by its ref, with visit counts and first/last visit times. Needs Full Disk Access.

  • apple_safari_list_bookmarksread-only

    List 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-only

    List 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-only

    List 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_get

    Description is built at runtime.

  • apple_safari_network_listread-only

    Description is built at runtime.

  • apple_safari_network_record

    Description is built at runtime.

  • apple_safari_open_url

    Open 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-only

    Description is built at runtime.

  • apple_safari_read_pageread-only

    Read 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_scroll

    Description is built at runtime.

  • apple_safari_search_historyread-only

    Search 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 reading

    Track 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
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 26, 2026

More from mgcrea

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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Apple Safari?

CallGet help
Cite this page

Apple Safari MCP server. Agent Mart. https://agentmart.dev/connectors/mgcrea-mcp-apple-safari (last updated 2026-10-26)