{"_id":"@mgcrea/mcp-apple-safari","_rev":"29-60d8ba3ef11dc8f9613917157aa185e9","name":"@mgcrea/mcp-apple-safari","dist-tags":{"bootstrap":"0.0.0-bootstrap","latest":"1.25.0"},"versions":{"1.3.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.3.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.3.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"8fcff7478bd7dd762e3eb03d0664a57e774b4c2b","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.3.0.tgz","fileCount":10,"integrity":"sha512-qfWQ3yy8gDPtbPgaKpoPuNZKWc3uDOr/BhTVBwDy4GbtZGO/iwJhpBlZh2isONsdbxs00R4rIAvvxgh3ENUsqQ==","signatures":[{"sig":"MEUCIQDPd7Zf7RLyicxJgjIFQejYdMaxvB+WavcHESWrFKBdvwIgD/4CIbRtDfy7wIQvOVQWMuie1DEVDlH3245e5u877uA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228876},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mgcrea","email":"olivier@mg-crea.com"},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/safari"},"description":"Model Context Protocol server for the macOS Apple Safari app","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.3.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.3.0_1787773600236_0.07186308038252598","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-bootstrap":{"name":"@mgcrea/mcp-apple-safari","version":"0.0.0-bootstrap","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@0.0.0-bootstrap","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"9797b4c6843abeb75d1354dd3c95899925288346","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-0.0.0-bootstrap.tgz","fileCount":10,"integrity":"sha512-jbeZIV+BSLFz55HyVN3tC4xiIgjC4mzjkIruP+qHHPcuoAAw5oRRer096rt7/B0grx7Sc/haz8ZtlU/gWlmFfw==","signatures":[{"sig":"MEUCIQCEgeT22FdbrduXeIVDQXuK+zPtWjiv13o3HDohP6jPugIgNVOBau2acg3I9V/XrDrOl9aOunhcGsPjfBjcNuYYnWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228886},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mgcrea","email":"olivier@mg-crea.com"},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/safari"},"description":"Model Context Protocol server for the macOS Apple Safari app","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.3.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_0.0.0-bootstrap_1787773667415_0.4765104723123119","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@mgcrea/mcp-apple-safari","version":"1.3.1","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.3.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"e7741992682a19b72944a10065a240049e8544f4","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.3.1.tgz","fileCount":10,"integrity":"sha512-OaMwPyeJg0NU9pOrn/tIwOpEdhi16TJLZtZpcUAL2IGZB9NpPaSFGMWUkJUWp303TQXTWlzxSvRiaByuaWRE0g==","signatures":[{"sig":"MEQCIAqmZLnbfDIzu1/l1g0ACZFHTo8/b1OD5Hjx9ikdNGbTAiA3iIGyawY3P2IDabXcUvQfYmVdTTN7ra4iFRQnqpGCdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228876},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d10ef8e5-62bf-4d9c-b749-491ea29ba967"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/safari"},"description":"Model Context Protocol server for the macOS Apple Safari app","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.3.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.3.1_1787840879288_0.18106204525917002","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.4.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.4.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"b792861398f5967c5372855d448debacce4327b2","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.4.0.tgz","fileCount":10,"integrity":"sha512-A3d++01veTl7dkobvDVK91QbDP4eEhMcNpRPyatGLB05GFUFD1424n76qDdVDrA3EIyaWOT4F+vmY5SrFTyqVw==","signatures":[{"sig":"MEUCIDDjSM0wOx988tUo+5c51+dFMB3Zgh891X/7PhLaAIApAiEA6Qdg8HAftXSWduMHyUR1tN1tWBdYhHCcTgk34M4/YVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228876},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d10ef8e5-62bf-4d9c-b749-491ea29ba967"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/safari"},"description":"Model Context Protocol server for the macOS Apple Safari app","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.4.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.4.0_1788099199600_0.6972994487201827","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.6.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.6.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"936bb7470153ced47b4c9b330fbe5ed7f53fc6e1","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.6.0.tgz","fileCount":10,"integrity":"sha512-yW5ykuqJA9Z1KqgCRVxM1YuD9RC0W4868U4LeKYfSXViRdsR0RdmUMybJaT1U83HBB0RW4hBcC9ue8t6eU2HGQ==","signatures":[{"sig":"MEUCIQDScUnhmgIs7mw+//Neu6T3dBYjE8kT1tNQW9ee5x9zMwIgVV9S1yvEXFffqQO/YRAVmt9pP4QC/bMlOXliRwy6Wn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354034},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Model Context Protocol server for the macOS Apple Safari app","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.6.0_1788253926765_0.16412454599248427","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.7.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.7.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"7eeb16a720760b74756c7b73e51d39fd0c91e6ae","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.7.0.tgz","fileCount":11,"integrity":"sha512-QObDgapXBldq+SaewqCCB8kOp22LLiaE2XDCy8NuFQKZ5nla5ydR+froUrrRyb9FITsjm2r//EWndCHA8GGG0w==","signatures":[{"sig":"MEUCIBd6e5GtEdc4CFVe9mO/1GVD5DQeH9RYH3oPeUWfi92+AiEA/9hvNwrCAfgor0A8zNCPLpWKssF0s5LzkocLJIVne0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.7.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.7.0_1788267723384_0.3154676853875704","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.8.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.8.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"3d63d483375ed33e21fda4642246d70a11036802","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.8.0.tgz","fileCount":11,"integrity":"sha512-TJznTYMuvvfUX5c1T7plkEzHU09niW763zF11SD1uphSs32Nrn8qNg8OLNbV0xzR5Ajkvel5VD/b6+8TRFIJPA==","signatures":[{"sig":"MEUCIBGgsc9uhAo78YtuXoxBrJq22OH+Syy8x7SCLJqY+xtAAiEAyozLyw5v5hdVw/cOOHwiCVGjjkW+1b7uYS/tCmzWZm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.8.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.8.0_1788291444546_0.5528101572136366","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.9.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.9.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"9431c572908e167555cde09a5031ccfa900f6445","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.9.0.tgz","fileCount":11,"integrity":"sha512-kjNWMXvXLxZAhEpW7ZnEbiAU6Oq7njkFg6EVjBZZXuKpFuTaVKc9KoCiqAsT8UHTCHjOYtVczEjxgU2THJ6jxg==","signatures":[{"sig":"MEYCIQCmUkuFhwymBkcoioh5UrgvjMvQFFG0t3NFmYGG2ftoXQIhAJOHgMXCiy9SDSU10bhC0GWXspmNhg2XDguR7ewHmhKd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.9.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.9.0_1788300096903_0.5503379777775996","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.10.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.10.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"0424025a382e3aa9f351c37f1b12cca1677b9751","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.10.0.tgz","fileCount":11,"integrity":"sha512-GnkMAaBFNT3sFuYmGJi9cAYG4wxOzdA3LkY4OAUZGcrqLvkbCeCEh02E8R7PIyZb4LBx4vFjG3AclqPD5b7byQ==","signatures":[{"sig":"MEUCIQChkXReFIAf+wtf2kB1PfZDAeZqSLzJEWgu9PgEo6YPdgIgAP3H041WzQzvuEquZC0mOgDgrGH4jXqPLdu+VmVsImo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.10.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.10.0_1788383464747_0.05260060878578954","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.11.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.11.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"6564f30e16272377b62f9cb49465c656c56f3e9a","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.11.0.tgz","fileCount":11,"integrity":"sha512-AIJe82UYKfu+Uvxl/oL3NiQ9Oi+wsGMk7uvZUEkKAtxcY4X9V6tzqnOjnnKAOBjPitgtiSiiacWHE6riBJ0Icw==","signatures":[{"sig":"MEQCIFNUfCgoBlROmgNEvlXLHipsrMASmjjiAvVoGCmDOx4PAiAsFGkYUHC/2UkVhpD6AF6O65nzmVUazBHS/3BrB4Yy8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.11.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.11.0_1788440270271_0.23603043798091816","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.12.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.12.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"371c01d18a3a40bc409da47643ecd5608abd3778","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.12.0.tgz","fileCount":11,"integrity":"sha512-c7shOdzJRiLMNMi0Vtb4Hqj6H/I4y8U15FAzI6oHtVg3Haoy/yL9Jlu7M9XLBH2bRXo5LbZq/GF1bAUuycvFcw==","signatures":[{"sig":"MEQCIDJHjjCqrrJaI4O7lf0P8vMRHglEhH6/qIbmwmRhEWbZAiB0XM4vSlRo/3FX7n/7mvfYZDXN1aOtU9aeFcnSJ+ranA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.12.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.12.0_1788455872902_0.7643655290456306","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.13.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.13.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"375088400d16f3350e22d95241b79758f0d2ece8","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.13.0.tgz","fileCount":11,"integrity":"sha512-4vws38R0HU/M5cnUdCMS9AhfwFUfj9Dm1UJ7mHNYLEy2G8RvbX8PtHMxPF7y0yOoorKZ09tbhNuYBAM8+fHd7A==","signatures":[{"sig":"MEQCIDEPkpRdkfKWxO6wnfxrE69LQg9EZhlSvThH3yVj7ir6AiA71qiL/3YelZlQae6z2AUahEcs10FcFmR1G0A1BhZ8Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.13.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.13.0_1788524381784_0.4971696481500909","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.14.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.14.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"5b54309deb802877b52457403beae6792222ebb6","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.14.0.tgz","fileCount":11,"integrity":"sha512-D71d9KRieY/9x21SHS9mZqEOoxOC0bocyHkuyyJ30PNpZ7FW/9As28N1Z67m3nNYNDYgF1kEc2XvCVr7vGWpHw==","signatures":[{"sig":"MEUCIFpeiV+bv/UjcCb7X79ArwhcGbCRr8Gzl3rBnwjeOgnMAiEAu3k6hPU1ppLU7daSGCk0R1JPlNG+bYpneedbInWVeQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.14.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.14.0_1788558148828_0.15760398223741934","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.15.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.15.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"61ef4a6c8975415d8ffeb939ad8096edbf20027a","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.15.0.tgz","fileCount":11,"integrity":"sha512-dYD6zcDvYsEAmxJQE9u/DZHdi3TuUrwgDlzXfWrYRJKkQwQ2Qp8tbk6BUv7JqxG+5jz6bnKjVPHQnSpYpym1Hw==","signatures":[{"sig":"MEUCIQD/rNy060MibeHx0fmDue7NXxY84YBaMCRwGgDMKtRTWQIgIITv3tx95+893Idw+IqLMcEbEG7URrHTtrcjUzlSF5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432698},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.15.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.15.0_1788648731720_0.20087055480741434","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.16.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.16.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"c446c427aa47117a100b8916633d111fcdcf5a29","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.16.0.tgz","fileCount":11,"integrity":"sha512-hjCkX51uN//qNHBgQiRuTn14q0U2G0KAglnrrtu+VI7OVV5F2+zyR2ZVnssCYJy030oR60dXHHjxr46027yF2Q==","signatures":[{"sig":"MEYCIQDWXvOvRbeWWBcj7Ge8uZ1urgNs3VW+r6LceKjeRy3BCQIhAJ4c40o4Q7ZD5rL/f8TSmQTKTxs4mOMNjIOErtUh/BaO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432698},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.16.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.16.0_1788691308056_0.05632262448340808","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.17.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.17.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"4a1f0f4c401f9bd9125967c181f528927c08ea7d","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.17.0.tgz","fileCount":11,"integrity":"sha512-UAsq/Zg71HMlOOkmVHkcOk+XIfsKKJ3dnhAfK8p2el7w2uYPIetDDhYSYUCS5jKnRQJ+/IVhHr1M7UTVmao4DQ==","signatures":[{"sig":"MEUCIQDoKKlSbT5HVjtWLWQ22Eh5Oz4Oue7QabsiHnBjFgf8vwIgao+xtGY9HpefpvKB3A9LuqBRgB2dVwVVCDK+KzuPX7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.17.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.17.0_1788793554024_0.5200354336248858","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.18.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.18.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"a0adecfbc448280932a4e32ce779e9da96fc9696","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.18.0.tgz","fileCount":11,"integrity":"sha512-oGwAFWp98HqY4/x4LianKl2DhY6r1B/hH7upBMntGckTEXT4c6rMdmxlPyjTUEMMvxw6rrr14l4zeuojIzrlJw==","signatures":[{"sig":"MEYCIQDRVzU798r0n/OfTSbQon1HKA5nVY7/B2We6hQ99OIenQIhALQNVdyDSfUPDd4InkQqFc5I8mkt5SL6ZqoG0aJPCyfj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.18.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.18.0_1788811884134_0.27874477605382864","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.19.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.19.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"dc2254a1235b3f704d064a4f658723a24b041280","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.19.0.tgz","fileCount":11,"integrity":"sha512-OhpknEd7jOmu0CdnXjvb98+zPdIXZYvo47wqdUOQtRet1f6hurqxNRlYm2FAoljxPNpk6ckUguYlVPsmYrSYww==","signatures":[{"sig":"MEQCIFsfptYPT8B5fvQhZ0FvmWNHrLx0LHqrmmcJCedkh11DAiB6xtCAmj/G1Riw9iKawsdC7NXxsKYbQVRvoVsi7giF/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.19.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.19.0_1788868267379_0.02866567435124545","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@mgcrea/mcp-apple-safari","version":"1.19.1","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.19.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"1f581f6c4edf40894997d65b53c4b825e1ebc5f9","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.19.1.tgz","fileCount":11,"integrity":"sha512-75pMleo+BDUYNxQtIvOFsrWklq6mExINOmtIOjeL9v9FHf5Fjo9LlFTcNi15sB9aQmzMPVOzyUzpfofT6nu5vg==","signatures":[{"sig":"MEYCIQCWHRvfykJbVKwfijankCd4mazo6upZ8HlrwMhEN2LDlQIhAP9Z6MQFX9XQpX5kgGBbvkvTBve2CvC6gQj23i5wYCH9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.19.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.19.1_1788879798455_0.8594557051626324","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.20.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.20.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"9696040c9ebab035c0ceb598c72588ed725bdcba","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.20.0.tgz","fileCount":11,"integrity":"sha512-awTtugnljnYSWCnfuSZk0qDWbjts04gVBnmKSdsJ46EqOgi36b8YzfesZTxMjCISIY9qyuWXV+8WnhzVl52Vog==","signatures":[{"sig":"MEUCIFM2MkFFkx+/1FQ8ER4iMl4B4y0d4IuhNkxn/7HCE0iVAiEA8ZbXBQc8STZ3rKPn/ixi5IYmJ5tp5mK4l9oVy5ZCCnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.20.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.20.0_1788901534220_0.20484039529417064","host":"s3://npm-registry-packages-npm-production"}},"1.20.1":{"name":"@mgcrea/mcp-apple-safari","version":"1.20.1","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.20.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"04fb88404bddf6ad0ddc5a237093d4aa7b4c7485","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.20.1.tgz","fileCount":11,"integrity":"sha512-+TwdVZzmcoUcS6hiz6gW/Ny8Y/99V4WMhxMJRET8rpy19Ma+HVwekpJ8eAf5fACjN4y6vg3mu2KaC+Nm4FY0sQ==","signatures":[{"sig":"MEUCIGTFEeSpk8R6zanzFR1OJtb/2bnPyYVnuwTD1KuVb4QAAiEAyo2WtpvpgixDsEb0K6cZEKDn6TbQI2mmz5SOU+hFpgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.20.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.20.1_1788954041373_0.5509701496626249","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.21.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.21.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"c0c98059270eda05548b2f371e3d453d07150453","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.21.0.tgz","fileCount":11,"integrity":"sha512-5cfGEQwK3LxVHNXj9MC15vKeXNGw0sr2cYqHjd7vI3vfAWvLIhflG0QbGqtBOWz7M8LiOUbMEKX+95zfzbRExQ==","signatures":[{"sig":"MEYCIQDVt2pdxfvWLm9rF+aav2ZS2ADGljYbj3xiGMyLGL9+DwIhAJ3a4xgMj6q6kAzmtTInJlbFhS4kGMp123n038H4xbW3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.21.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.21.0_1789053052031_0.30798479420267344","host":"s3://npm-registry-packages-npm-production"}},"1.21.1":{"name":"@mgcrea/mcp-apple-safari","version":"1.21.1","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.21.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"d3250e98bee540911efb4167ec2b97e142faa071","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.21.1.tgz","fileCount":11,"integrity":"sha512-BcQxp1OcYoPs6F7fxRnH8XsKrUrwC378+OIx+JPdMs5YBPe/7sT3lNiJFoTVdZ8BEM4XUVeIc1woz4NEOwpkWg==","signatures":[{"sig":"MEYCIQCnm+2HElI2NFrq15E/xSu5xSPbvTZvy3lGg3DHsnm64QIhALLVfiVHizq8Ip9vn/U6Q/MuVvmlqNFpGLee8KhSwd/p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSXDqNe3oq3TmrHP3ZI8rbRwsxBwSUHSHzWxzUVAOBxQIgfaC8qQ7GtcjmFhRxlFFB4KF1gVo4DWp/NGV4TyDx8CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.21.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.21.1_1789162020650_0.18442640649445496","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.22.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.22.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"2e8cbb76f6ac43342a476dadd080daab501a4afe","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.22.0.tgz","fileCount":11,"integrity":"sha512-hACJ+47Ja9ovbBxcSS6VJFo7HWQVPlLJIGVpZJaSDLNqqB4d02DhOxL2/YZ/rp8yXMbtyS9M1bq3gD5fb80E5A==","signatures":[{"sig":"MEQCIDJlWQfEas8ehp7o3sGJS2Gc1rS7F3Lxgk4fPhkqsGdMAiBmjU05qbopv3q8OQc3GOxFxl8yAXBGiZ4mgScJJ2LI0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB6O0Vaprl+ieXJwlAxa0EKMqm34ySXfF+WJdb+7UCrHAiANEeMnoOPf+Mmmb7hrBYu4DJRkYHscyF1SNWTBFxA+xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.22.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.22.0_1789551598904_0.27344542459851184","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@mgcrea/mcp-apple-safari","version":"1.22.1","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.22.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"070ae529e7001fc79aa9fbdafa41cc96c6de062d","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.22.1.tgz","fileCount":11,"integrity":"sha512-opcwJuhAubuHtvTkJfhctNPWzv+mWnW7LIahPQt6c6MuYZRrUYeiw0L1izPrDYQ0Mw/Fx36J4BRVRexYRkYYwg==","signatures":[{"sig":"MEYCIQDEvGhoEiyMeknYgb/Xkyq2dv3fN4/DAofmYVU5unB4BAIhANXfbxM3xx3ZhnMZ/VgnBW2K1EyT3U2XnMMaM3s9x+RU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCB+yWnxEIBTRKppliPeZNkEO6MWHEB0QkkIF8zicN84gIgBHBN9uEtCkly/NJ4xhl3BAz13JMam42o9zbPdb+eYpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.22.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.22.1_1789565555755_0.2459782661305847","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.23.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.23.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"a640c3d03fde7426d6b136ee35432e21b056f9ee","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.23.0.tgz","fileCount":11,"integrity":"sha512-dLmVtYJxNIc9SFQrUUAZptls19xpYQdrQBe99YaEx6RIHOqja3WFdirD0yzR7tAjvKWbb1nM8j8qCJm+IDAn8A==","signatures":[{"sig":"MEUCIFkZLVPKykXDLVqYRUw1H071hwkZXMrp7RkT4x9i3VYLAiEAz7eZpDBtNWxFN0o90SJ7YmmRCtSHfagkHZGtfDi9ObM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDJ7czAc0XAuEPGAaMgln6DD5akNK+nVKmKLmcUFmBROQIhAJd5EzyM22Ifgz/bugjSBDLrZPxSMRElXolOAeuVuchN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.23.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.23.0_1789810113972_0.8016402111241983","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@mgcrea/mcp-apple-safari","version":"1.24.0","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.24.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"7edc534058ee48e049894d315d9c417b21900180","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.24.0.tgz","fileCount":11,"integrity":"sha512-qGgm8lf5Jk+kXGF2eiQzwA4cN6mUxFc5Syy7aPhriMDD9ip/W9dpt9jhRIrl3sRgrge04p9Kez6V1dsA5yylEQ==","signatures":[{"sig":"MEUCIQDTqUEGBJO5LpsY3fnD96Ntmu4ArrQ3QJ5IOwr4ZQX5rQIgQPE6tkBfYr6zqiKo4/RwDSXhFMG0bAKiTgYlaHoCWm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDYUBg5cuUILrwAyREd3SF1DT9mFM6zKh+lM2sO/XajDQIgB0hb6abCsAWi7kRgAdzy6trwQL7jFfh/DrCFqUU73sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.24.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.24.0_1790452799417_0.6841542858239924","host":"s3://npm-registry-packages-npm-production"}},"1.24.1":{"name":"@mgcrea/mcp-apple-safari","version":"1.24.1","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-safari@1.24.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-safari-mcp":"dist/cli.js"},"dist":{"shasum":"c5bdbd8aa07720f31ed23caaad686f64625d5156","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.24.1.tgz","fileCount":11,"integrity":"sha512-U+NraMr9YvmFGA3Ulz3X4/L1ZykfVty79KoMcrOkJlhc9f6ZrfW+bC4Bus1EQ0dHvTu2kmZm+qJtlpKx5hE+Lg==","signatures":[{"sig":"MEYCIQDYIztBEiUyXRjz4geMicDAe2giDz6N+ZPqVCSeQJKJRQIhALWf0Rk04jXE9rjdI6mr1CTBxccx5GiPhuIqYXenObLq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIESuDNYFpnob1bbRxh3ehAqAQPnGKTEMjJlyL+R2JdBbAiBBQswWRDxffwELXORwRMzzKzs7x3llW4tsBZNgFZG8vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432083},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.24.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-safari_1.24.1_1790694594799_0.4386180864675939","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"os":["darwin"],"_id":"@mgcrea/mcp-apple-safari@1.25.0","bin":{"apple-safari-mcp":"dist/cli.js"},"bugs":"https://github.com/mgcrea/cupertino/issues","dist":{"shasum":"a9ae3c18f0c8e133dfd9ce67d16e44b5dd928edc","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-safari/-/mcp-apple-safari-1.25.0.tgz","fileCount":11,"integrity":"sha512-5rqdlvvTcL2GqjJPl+RzfTm97ucHjcrUyj2IlWb1S0dZZdjBxv5voZZYG6sJ97LdSMwX3fG7fKu96knam/3N/Q==","signatures":[{"sig":"MEUCIBSpwEeBTRKZ6AIiKZhkFUOE4XwPS+wWa8yRciEPSpPXAiEArjWLgQmbmUnjDgW+zFOjQ1177meN1doVnamkp8f4Q8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCKila/B3MfIav4Y3fu7Z27Dgmdzhd/XNtaCj4eUWSdSwIgTZ23KBbgSK41JNRnm27AuHn3ELzRfuS/bAOHnKG4EF4="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-safari@1.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":437208},"main":"./dist/index.js","name":"@mgcrea/mcp-apple-safari","type":"module","types":"./dist/index.d.ts","author":"Olivier Louvignes <olivier@mgcrea.io>","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"MIT","mcpName":"io.github.mgcrea/mcp-apple-safari","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"version":"1.25.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"db49adf4-f4b4-4892-8e5f-bc2b418e6fde"}},"homepage":"https://cupertino.mgcrea.io","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","directories":{},"maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.25.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^24.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-apple-safari_1.25.0_1791052539041_0.22383770427952743"}}},"time":{"created":"2026-08-26T19:46:40.086Z","modified":"2026-10-03T18:35:39.439Z","1.3.0":"2026-08-26T19:46:40.386Z","0.0.0-bootstrap":"2026-08-26T19:47:47.620Z","1.3.1":"2026-08-27T14:27:59.478Z","1.4.0":"2026-08-30T14:13:19.762Z","1.6.0":"2026-09-01T09:12:06.900Z","1.7.0":"2026-09-01T13:02:03.521Z","1.8.0":"2026-09-01T19:37:24.733Z","1.9.0":"2026-09-01T22:01:37.084Z","1.10.0":"2026-09-02T21:11:04.910Z","1.11.0":"2026-09-03T12:57:50.416Z","1.12.0":"2026-09-03T17:17:53.062Z","1.13.0":"2026-09-04T12:19:41.957Z","1.14.0":"2026-09-04T21:42:29.012Z","1.15.0":"2026-09-05T22:52:11.859Z","1.16.0":"2026-09-06T10:41:48.211Z","1.17.0":"2026-09-07T15:05:54.175Z","1.18.0":"2026-09-07T20:11:24.278Z","1.19.0":"2026-09-08T11:51:07.528Z","1.19.1":"2026-09-08T15:03:18.678Z","1.20.0":"2026-09-08T21:05:34.422Z","1.20.1":"2026-09-09T11:40:41.540Z","1.21.0":"2026-09-10T15:10:52.175Z","1.21.1":"2026-09-11T21:27:00.738Z","1.22.0":"2026-09-16T09:39:58.985Z","1.22.1":"2026-09-16T13:32:35.844Z","1.23.0":"2026-09-19T09:28:34.057Z","1.24.0":"2026-09-26T19:59:59.517Z","1.24.1":"2026-09-29T15:09:54.934Z","1.25.0":"2026-10-03T18:35:39.133Z"},"bugs":"https://github.com/mgcrea/cupertino/issues","author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","homepage":"https://cupertino.mgcrea.io","keywords":["apple","apple-safari","browser","history","macos","mcp","model-context-protocol","reading-list","safari"],"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/safari"},"description":"Read and act on Safari — history, tabs and reading list, writes off by default","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"readme":"# @mgcrea/mcp-apple-safari\n\nMCP server for the macOS **Safari** browser: what you have visited, what is open now, and what is on\nthe page in front of you.\n\n```json\n{\n  \"mcpServers\": {\n    \"apple-safari\": { \"command\": \"npx\", \"args\": [\"-y\", \"@mgcrea/mcp-apple-safari\"] }\n  }\n}\n```\n\n## Three lanes that are not fallbacks for each other\n\nThis is the thing to understand before anything else. Every other surface in this bundle has two\nroutes to the same data and the choice is about speed. Safari's lanes see almost **disjoint** things,\nand each needs a different permission — so an ungranted Safari server is not a slower Safari server,\nit is a different and much smaller one.\n\n| Lane             | Needs                                          | Answers                                        |\n| ---------------- | ---------------------------------------------- | ---------------------------------------------- |\n| **File**         | Full Disk Access                               | the past: history, bookmarks, the Reading List |\n| **Apple Events** | an Automation grant, Safari running            | the present: which tabs are open               |\n| **Extension**    | the extension enabled AND allowed on that site | the page: its text, its elements, acting on it |\n\nThe extension lane needs **no TCC grant of any kind**. Safari consents to it one website at a time,\nwhich the user can see and revoke per site.\n\n## Tools\n\n**Read**\n\n| Tool                             | What                                                  |\n| -------------------------------- | ----------------------------------------------------- |\n| `apple_safari_search_history`    | history by text or date range, with visit counts      |\n| `apple_safari_get_page`          | one history item by ref                               |\n| `apple_safari_list_tabs`         | tabs open right now, optionally enriched from history |\n| `apple_safari_list_bookmarks`    | the bookmark tree                                     |\n| `apple_safari_list_reading_list` | saved items, and which are unread                     |\n| `apple_safari_read_page`         | a captured page as text or HTML                       |\n| `apple_safari_page_elements`     | what is clickable or typeable on a live page          |\n| `apple_safari_diagnostics`       | which lanes work, and why one does not                |\n\n**Opt-in read** — `APPLE_SAFARI_ALLOW_CODES`\n\n| Tool                      | What                                            |\n| ------------------------- | ----------------------------------------------- |\n| `apple_safari_find_codes` | a one-time 2FA code in the TEXT of an open page |\n\n**Write** — `APPLE_SAFARI_ALLOW_WRITES`\n\n| Tool                                 | What                                    |\n| ------------------------------------ | --------------------------------------- |\n| `apple_safari_open_url`              | open a URL, in a new tab or the current |\n| `apple_safari_add_reading_list_item` | save a URL for later                    |\n| `apple_safari_click`                 | click an element on a live page         |\n| `apple_safari_fill`                  | type into one                           |\n| `apple_safari_scroll`                | scroll a page                           |\n\n## Configuration\n\n| Variable                               | Default |                                                       |\n| -------------------------------------- | ------- | ----------------------------------------------------- |\n| `APPLE_SAFARI_ALLOW_WRITES`            | off     | Register the five write tools at all.                 |\n| `APPLE_SAFARI_ALLOW_CODES`             | off     | One-time codes — see below.                           |\n| `APPLE_SAFARI_LIVE_TABS`               | on      | Use the Apple Events lane. Off = no Apple Event.      |\n| `APPLE_SAFARI_STORE`                   | auto    | Explicit `History.db` path.                           |\n| `APPLE_SAFARI_BOOKMARKS`               | auto    | Explicit `Bookmarks.plist` path.                      |\n| `APPLE_SAFARI_PAGES`                   | auto    | Explicit extension capture directory.                 |\n| `APPLE_SAFARI_ACTION_TIMEOUT_MS`       | `12000` | How long an action waits for the page to answer.      |\n| `APPLE_SAFARI_LIVE_READ_TIMEOUT_MS`    | `2500`  | How long `read_page` waits on the tab. `0` = capture. |\n| `APPLE_SAFARI_READING_LIST_CONFIRM_MS` | `1500`  | Beat before re-reading to confirm a Reading List add. |\n| `APPLE_SAFARI_INDEX_MODE`              | `auto`  | `auto` \\| `ro` \\| `immutable` \\| `off`.               |\n| `APPLE_SAFARI_DEFAULT_RANGE_DAYS`      | `30`    | Window when only a start is given.                    |\n| `APPLE_SAFARI_MAX_RANGE_DAYS`          | `3660`  | Hard ceiling on a single range.                       |\n| `APPLE_SAFARI_MAX_RESULTS`             | —       | Default page size.                                    |\n| `APPLE_SAFARI_EXPOSE_PROMPTS`          | off     | Register prompts and `cupertino://` resources.        |\n| `APPLE_SAFARI_DEBUG`                   | off     | Verbose logging.                                      |\n\n### `APPLE_SAFARI_ALLOW_CODES`\n\nTwo things move together when it is on: `find_codes` is registered, and `page_elements` returns the\nvalue of a **one-time-code field**. It is a **read**, and deliberately not folded into\n`ALLOW_WRITES` — reaching a read through the write gate would mean granting the right to click a\nbutton in order to see a number.\n\n**A credential field is withheld either way.** A password, a card number or a CVC comes back\n`redacted: \"credential\"` with no value and no setting that returns it. This flag is named for codes\nand does not widen past them. In both cases `hasValue` still says whether the field is filled, which\nis usually what you needed.\n\n**It is weaker than the Messages gate of the same name, and worth knowing which.** There, off means\nthe tool does not exist and the alternative is sifting whole threads. Here `read_page` stays ungated,\nso off removes the targeted field read and the live DOM scan — not every byte of a page.\n\nSee `docs/passwords.md` in the repo for why the Passwords app itself is unreachable by any lane, and\nwhy reading a code a _website shows_ is a different question from reading the vault.\n\n## Notes that will bite you\n\n- **An unmatched tab is normal, not an error.** The only join key between a live tab and history is\n  the URL, and it is trivially lossy: measured match rates were 60.7%, 55.3% and **8.3%** across\n  three runs. A single-page app reached by `pushState` commits no history row at all, so the page\n  was genuinely visited and genuinely is not in the store. Treat `history: null` as NOT FOUND, never\n  as \"never visited\".\n- **An exact URL match is not proof the row is about that page.** One measured tab on\n  `http://localhost:4321/` matched a history row for an entirely different project. Any local\n  address carries this.\n- **`read_page` is live when the tab can answer, and a snapshot when it cannot.** It asks the open\n  tab first and waits `APPLE_SAFARI_LIVE_READ_TIMEOUT_MS`; a visible tab answers within a second. A\n  hidden tab checks in only every ten, so it — like a closed one — gets the capture the extension\n  stored at load and as the page settled, with `source: \"capture\"`, `ageSeconds`, and `liveRead`\n  saying why. The acting tools always go to the live page, which is why they cost about a second on\n  a visible tab and up to ten on a hidden one.\n- **Read a form with `page_elements`, not `read_page`.** Field values are not page text. Elements\n  carry `value` (a select's shown option too), `checked` on checkboxes and radios, and\n  `disabled: true` on greyed-out controls, which are listed rather than dropped. Values are cut at\n  200 characters unless `maxValueChars` raises it, and a cut one says so with `valueTruncated`.\n- **Set a form with `fill` and `click`.** `fill` writes through the element's native setter, which\n  is what makes React register the change — a plain `el.value =` shows the text and leaves React's\n  state on the old value. On a select it takes the option text `page_elements` reports. Checkboxes\n  and radios are clicked, not filled, and a click toggles, so read `checked` first. File inputs\n  cannot be set: a content script has no way to reach a file on disk.\n- **A timeout from an action means nothing was listening** — the extension off, not allowed on that\n  site, or the page closed. It never means the page refused. Commands are at-most-once: one that is\n  handed out and lost is not retried, because a click that MIGHT have landed must not be repeated.\n- **Element ids die on navigation.** They come from a `page_elements` call and are valid for that\n  page only. Never construct one, and re-enumerate after any click that loaded something.\n- **A Reading List add hits the network.** Safari fetches the URL in the background to build the\n  entry, and overwrites any `withTitle` you pass with the page's own title. `verified` has three\n  states and is never `false`: the file lags the add by about 2 s, and reporting an unconfirmed\n  write as a failed one makes callers retry — into a list with no remove verb.\n- **The write lane needs no Full Disk Access.** Both Apple Events writes work on a machine where the\n  read lane does not. `APPLE_SAFARI_LIVE_TABS=false` outranks the write gate, because that flag\n  promises a server that sends no Apple Event at all.\n- **`open_url` accepts `http` and `https` only.** A `javascript:` URL would be `do JavaScript`\n  through the front door — measured: Safari accepts one through the navigation verb — and `file:`\n  is a navigation verb that reads local files.\n\n## Licence\n\n[MIT](LICENSE).\n","readmeFilename":""}