A CLI and MCP server to manage bookmarks in the Safari web browser.
Project description
safari-bookmarks-mcp
Manage Safari bookmarks through an MCP server or CLI.
Built on safari-bookmarks-cli by Marty (evilmarty), extended with MCP support and modern tooling. Apache 2.0.
macOS note: 10.14+ requires Full Disk Access for the terminal app you're running from.
MCP server
Add to your client config — uvx handles installation automatically:
.mcp.json (Claude Code, project scope):
{
"mcpServers": {
"safari-bookmarks": {
"command": "uvx",
"args": ["safari-bookmarks-mcp", "--file", "~/Library/Safari/Bookmarks.plist"]
}
}
}
Or use the bootstrap command to generate config for Claude Code, OpenCode, Codex, and Gemini:
uvx safari-bookmarks-mcp bootstrap --client claude --client opencode --scope local --write
Scopes: local (project-level), global (user-level), both.
Server flags:
--readonly— block all write operations--confirm-write— allow writes (default requiresdry_run=Trueper call)
Tools: list_bookmarks, search_bookmarks, snapshot, add_bookmark, add_folder, move_item, remove_item, edit_item, empty_folder. All write tools accept dry_run=True to preview changes without saving.
CLI
uvx --from safari-bookmarks-mcp safari-bookmarks --help
safari-bookmarks list
safari-bookmarks list "BookmarksMenu"
safari-bookmarks add --title "Example" --url "http://example.com" "BookmarksMenu"
safari-bookmarks add --title "New Folder" --list "BookmarksBar"
safari-bookmarks move "BookmarksMenu" "Example" --to "BookmarksBar" "New Folder"
safari-bookmarks remove "BookmarksBar" "New Folder"
safari-bookmarks empty "BookmarksBar" "New Folder"
Default file: ~/Library/Safari/Bookmarks.plist. Override with -f <path>.
Development
git clone https://github.com/chikingsley/safari-bookmarks-mcp.git
just setup # create .venv and install deps
just check # ruff + ty + pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file safari_bookmarks_mcp-0.6.2.tar.gz.
File metadata
- Download URL: safari_bookmarks_mcp-0.6.2.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c15f582ebf9c849a35be0ab639a43293589509861998f01d799cd0989618c16b
|
|
| MD5 |
63158647341781d6f9153dd466b83bc6
|
|
| BLAKE2b-256 |
c84f96df50cc121dd10c1258a0de3a8b28cbe8a69060a500b189d01f8d1ff75f
|
File details
Details for the file safari_bookmarks_mcp-0.6.2-py3-none-any.whl.
File metadata
- Download URL: safari_bookmarks_mcp-0.6.2-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90d079bde713a8f65866080cc4c44903598f0f09c42b58ec36fee0b8da840cb1
|
|
| MD5 |
150ed6ad7fabb787976ec004fb02e0e0
|
|
| BLAKE2b-256 |
4bf5de14fa7fb8a6ff9991ce9ec2bee840a82525e6816644c080ca11c3db7801
|