{"_id":"@mgcrea/mcp-apple-contacts","_rev":"28-bdce87f513d9882fe621ed35f4bc6e8a","name":"@mgcrea/mcp-apple-contacts","dist-tags":{"bootstrap":"0.0.0-bootstrap","latest":"1.24.1"},"versions":{"0.0.0-bootstrap":{"name":"@mgcrea/mcp-apple-contacts","version":"0.0.0-bootstrap","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"01135350932e6cf43d60851f348dcc705eb87523","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-0.0.0-bootstrap.tgz","fileCount":11,"integrity":"sha512-WQfi12RFtjPcu3Ix8oZClScCBGpOgdlW5eWb8CT8spjO0ud4Fq5RGWVokzRsmvWi/+X0F+63HAStt9tlEiDrkA==","signatures":[{"sig":"MEUCIHQoIqG167s1JarY+Kxl3T8JVIUJ3aiNQj3X5Exsj0UdAiEArljbrJs0TbHebJugXUtCdCkGpKm9LMH5dy1y77KrA5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199244},"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/contacts"},"description":"Model Context Protocol server for the macOS Apple Contacts app","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.1.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-contacts_0.0.0-bootstrap_1787408927939_0.7020360758636042","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.3.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"e8924de0d669aad75feb765c3cfa2d84432fca6b","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.3.0.tgz","fileCount":11,"integrity":"sha512-/2DqOUY4aG5686ZOhcFm07x2Kl3e0qcaXCLiO+tKfyVdWUZU6CzKB7qaUPd2NSlxfqJsL3z7uXMvtwXOFe5HGA==","signatures":[{"sig":"MEQCIHHoqTEAKZOH554Zq7Uu4ZYQ/yPrnjRt/v+vnFzFH5xfAiAVmG1TFZKfRHjDCO2LLod26wcSgELtyOXoKGSdnzJ+SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211781},"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:1e2adc63-ed10-432a-b94f-e4b5be7656f6"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/contacts"},"description":"Model Context Protocol server for the macOS Apple Contacts app","directories":{},"_nodeVersion":"24.19.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-contacts_1.3.0_1787737316602_0.2708050137424036","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@mgcrea/mcp-apple-contacts","version":"1.3.1","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"f175fe2a2bd538c8449c0254f9200916f62c86d4","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.3.1.tgz","fileCount":11,"integrity":"sha512-l1tUUH6YXtAwkYtsuTlKJSFDhy2sKdIHidm4f+JakHxhaj+cdhPrJM2Fd/b336g+8OkcVcmv6XxjFHJD1buMFA==","signatures":[{"sig":"MEUCIQCoifI7dSzTaCuxB7ZYioxzoCmDl+vWHxw//kIqDMfPFAIgAsThsjIdB9ucz5dmg5MDFa+mIVyJea+hfN8KvCus/2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211781},"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:1e2adc63-ed10-432a-b94f-e4b5be7656f6"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/contacts"},"description":"Model Context Protocol server for the macOS Apple Contacts 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-contacts_1.3.1_1787840751290_0.1566140503483231","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.4.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"19abefbf9caf425f365d9154e767b949362b4795","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.4.0.tgz","fileCount":11,"integrity":"sha512-Q4rKJxcWnps71Qv4/kbbvqI+RINxHO54KDbriR55syr0+0n4t33lIv8ERR5LfPmT9lGnkJ50aPlHjDCsuiqpxQ==","signatures":[{"sig":"MEUCIQD7NgCNQot28ClVWf1UZ81B2x6MM5lOa6YD+HumJsm08AIgL+JloxKDeRpb5sP1gZ9Z+jLG2DFYlArJWJaH1989/bk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211781},"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:1e2adc63-ed10-432a-b94f-e4b5be7656f6"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/contacts"},"description":"Model Context Protocol server for the macOS Apple Contacts 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-contacts_1.4.0_1788099031645_0.6765929631325038","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.6.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"7d0bab74882033a4911e119f2bf017b4c990dcc0","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.6.0.tgz","fileCount":11,"integrity":"sha512-4fQpopBMrDbOsCNh4FIS9wspIlLwo9rRzdmlptlhjzddg+8ThBhxS+VJk9JpnEL/fP/YfUSF6ufIODyuA4BpCg==","signatures":[{"sig":"MEUCIQDPrDUMhRe64WkgRbIaBYZ+b+FbSLM6b9V0BiaTavLjMAIgV+DXE8Mfm7aLwrHdvOse58CMqLogJI/QbaFhrW8oCD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211773},"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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Model Context Protocol server for the macOS Apple Contacts 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-contacts_1.6.0_1788253727504_0.2225379346635934","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.7.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"70ea0ebc53acaa003f7c9dda722aab00ef8bec73","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.7.0.tgz","fileCount":11,"integrity":"sha512-UIuGWTZZeQ+Bn1KUurp0eP1SYpHu1Vs5oeNKMVmtC1qeImKAjacXZlAUPG/58pQCXq+T9Rrf+ABunYWCLKFrvw==","signatures":[{"sig":"MEYCIQC8XQIC2dZdOnf6QeRoxIDgSs85xTt5Opb9SpXhLT8iKgIhAK2u4wHQcB2Ee85x1vIRdr6lOzaexeTx3/pFXEqyzKlb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211956},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.7.0_1788267472806_0.4621461506310134","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.8.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"18b61f4eb4a4c08cce9d5d16c0a53600c254a7cf","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.8.0.tgz","fileCount":11,"integrity":"sha512-3sVi5pmvAK4UuIhg+wRVw4trNcbCB0xWN01A6cp2rQDYG1H4XTbulRIZrgdmXgHJUOHZoyFtM9dJ6TyJZjgtuw==","signatures":[{"sig":"MEUCIDKftbbo3Vw0MeByUC9/5F+0koRycWjvs8dsJKnSmHKdAiEA3bw1wkeF+OTcXzCgMIb5yvSlYDg00DuIoz4nI5dyKRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211956},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.8.0_1788291141232_0.2016607401343289","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.9.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"4f9303a01913257df955daa561735de71a2a62a0","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.9.0.tgz","fileCount":11,"integrity":"sha512-3Lb/F8eJDHN5ZGtv49C6Gsl796iq+wJHmdbjhs7Id+P3LQ3ap20st2KiEt+sbe+YHfPlDm54eZ4zNV9y9pl3aw==","signatures":[{"sig":"MEYCIQDIZ8DA1rccgi8fD9sAA3hEn1/4fAMa0yUM/kP3lM7TjAIhAIOAOaH//G7P6dGy+v4wwP6uFcAB8mVSNGXm2MEutiw9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211956},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.9.0_1788299779309_0.2842261778996009","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.10.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"a4e0e578fde172ad6f68911dabb1361c6ab9906a","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.10.0.tgz","fileCount":11,"integrity":"sha512-asJkzo2GVwwb9o3OLa199/qvj9foO4ZEcIAbZWsLZUD0AYffnkJQtC1dmq4NoTn3MrYMlUWMvHT3DDNjzFYiEA==","signatures":[{"sig":"MEUCIQDGFxJ1X2bYDNJFrZVa9JaitZQnv4UGFVCZJjoXN7ewPgIgM4mMQhBSXNOmnRjmmf1thsxAwxzCLefmHmkf5uXpF6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211958},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.10.0_1788382781680_0.635087220565361","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.11.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"bf5adcce516382286da4b1df3d9bb4d2c51091e4","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.11.0.tgz","fileCount":11,"integrity":"sha512-GnI9HmjHeYg7IfDan7GV2aOaQSN9E5bWo8kFqs2BE9tWkBqbMwdQoH7TMAYhgKCDHNgplsCzNpfgOHaDzI+xVQ==","signatures":[{"sig":"MEUCIQCr6Jjo1l3OVvQa1sY2lcFNfDpfAJomO1NUrHJnMTHEdAIgMavIMI64pe+V39WdH8PAaRWx5c8IMdQyWgkiIOOoDl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211958},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.11.0_1788440038958_0.2411632817474032","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.12.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"28250365c78196c148050613dce4c8b896ce1c87","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.12.0.tgz","fileCount":11,"integrity":"sha512-3IcKhFnTlc5LAwJVI6zz2KuJlljKl4ybczSmJP0EfFqb5d7dcaMwzMAOls6Yqyp+sBKBJvT68WCrz+N32+geaQ==","signatures":[{"sig":"MEYCIQDxIWeSo6zLgYoQVzTznFYvwOfL79Vl03UBhaIoDu9vXgIhAMyE6GwSXPM8EQ6b9kF2w1BFWO0+oGw3EG/gLrdZBNTB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211958},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, writes off by default","directories":{},"_nodeVersion":"24.19.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-contacts_1.12.0_1788455685584_0.4321332087434082","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.13.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"9785199feb364b3680b55b4f483b07c429e32a01","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.13.0.tgz","fileCount":11,"integrity":"sha512-cYxFYdZ94c9vVYoSjKFDcuJ9ProH9z50qjJ9D/qzHLGrcZGDwoW74Lj8rv520fqDfljE9LytC4zTSrNXnszsQQ==","signatures":[{"sig":"MEYCIQDo1J+HymqEBS+6ONJyM0AgcVZFvTkVVDdxf8ZYAGPlcQIhAObQHTMlwyDREzkOEH+REHR/8/zYHL5g4zuT/tBQQKZY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211958},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.13.0_1788524070204_0.1900777364412951","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.14.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"7f9ecb4309d0707c1c7f5285772d37804beeaef0","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.14.0.tgz","fileCount":11,"integrity":"sha512-3Bt5EOtUG6XVdXdPT9xFaLB4fr9OyiXGJKojspsd31p91xSCNCaRsNq6dxoGYTlAKkWc1RkXTscoJYaK1z5+9g==","signatures":[{"sig":"MEUCIEM3/WR7wTN42fOHZMWkwtJFvVblYvRkzApua3fJdiAVAiEA8irAGapJV1rrg7zk9HH3DITyK/P3hQX0dQnjpM3VYwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211958},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.14.0_1788557802404_0.6307534204045149","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.15.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"4fb739f718b0f6597436a2a7d7d9bc10aa6c991b","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.15.0.tgz","fileCount":11,"integrity":"sha512-+MvcI2wgn+ZrODBm0zUsyHY1ojtNV+dN46TxwEKHZWK98y0dy9nEacqAngf7OdrB7JT2blTxIwKETh4YEOr7HQ==","signatures":[{"sig":"MEQCIFo4RbN3RUc+LfklY44wJFfdEK9J0PasFGLX5TGAyKQoAiALSl43OUv3zHyjsff11AYCPhaOxG2fw2aZPYVpA7MBXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212589},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.15.0_1788648470479_0.8711644461613139","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.16.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"d6dfb1ce0f7c3d4df5c3300c05ec8f6f5569a880","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.16.0.tgz","fileCount":11,"integrity":"sha512-yxG1fwr6cxFGAkGGLX66Vlz6bVmET8d1UjlMBQS/RmSVbWlQ/SqY8z/3kdkQMmaX1hi7qPTHls+HoSfi3gU/iA==","signatures":[{"sig":"MEQCIEn8057a/xTKZY8bhrRnwzRWFVNEc71s9LMa1Ht8tYtBAiBdMH+rQOAN5/EPuwPzmf1vvEe3G79VF0XeGpwTSvW01w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212589},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.16.0_1788691109574_0.046778586149747614","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.17.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"fe000fa82518cda401808f3445993ef5d0054424","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.17.0.tgz","fileCount":11,"integrity":"sha512-khKlCtYyq6NE71CJ3BgFztasJ1BZ4KJg4AZl9O/R4JQX7Lg959Fi9kRq0P8hn+k923kjZCK6q4mZ5yTQUO6DGQ==","signatures":[{"sig":"MEQCIFtyYUq3VDHKNjVgpLexG83DGBnnzZSFga48Xu/8DWWdAiAv1cRHz3iG3SmU5VOlPp5c4KQ5xVO//nQKe3CKeljo6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.17.0_1788793264244_0.3177300145008928","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.18.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"c620ce0b7fa82c7039d66ca9fbe1060811f40851","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.18.0.tgz","fileCount":11,"integrity":"sha512-qRMRGLepJWvX1od3owV4cveldHxum6j9djr9ArK9qzFH1KLfY2wgm4ZXtfIrmTs9Yd2teG/sW3cFIDypcPCuyA==","signatures":[{"sig":"MEUCIA3xc7gcQrRNVDi1p5+dNDM0bpSOlrtX3RjlJ6DLDAyfAiEAt9UUt7r72hXH81s+9ZJpm5tPkDrzb8bjg+agMOF306c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.18.0_1788811597053_0.7710157235286856","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.19.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"80c010f022d48b8b958746da026aab9ac5271fdd","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.19.0.tgz","fileCount":11,"integrity":"sha512-vub93KC/LE2EM4+IY1hkams/TwU3lMbE0KpknljaUBlCsRjqdeS+2DZA6+MGzcE2U00N/VXM5pIvhYTaZ1yLBw==","signatures":[{"sig":"MEQCIDchvOmg0EIACjc9FeaAfr/nA2/Qmw6erhm6kNtYOcg2AiAI4ZtoAS0t5OAJu0wBU/4CgcQ1t/W4OvcMAU0RGYmQRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.19.0_1788867819853_0.1302350885729533","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@mgcrea/mcp-apple-contacts","version":"1.19.1","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"ea18aedcf5d5f62ab6041449a87b500ec249a490","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.19.1.tgz","fileCount":11,"integrity":"sha512-M5krbwqrg5G3zyBvy6GoJU4yYQCHJcJv4JH/Ewttz/NYSUiWD9ichxm7avPWpFUOSi+i9Rwhdscy3pGMeaA0nw==","signatures":[{"sig":"MEUCIQDK7c+oXiJnNF9mVNcPRfiILICYB15+IY/IhlJnqCqUbQIgKA+WWfgEAUcbikOIEviRwRns5i2HaCz4EDSCL8hecnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.19.1_1788879503087_0.9973698038751766","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.20.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"aaf5b66340a3b4edc157c5fe4113b0dbf34edaef","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.20.0.tgz","fileCount":11,"integrity":"sha512-VlsR6KkRN0PQZkMKygx6Izp3hpgsojlYCnUajZifdK162UDuswymTK2E9LRnpWbJ+Hc29gSMUgNRDj9ZPrQbXQ==","signatures":[{"sig":"MEUCICtVGPFCSWUvxUE0Eni31Un3th53UxqWI3oCV7K2MM8MAiEAheHGCbRxd03kMfecC/lQGIogkOUexODVRIifbV5d05c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.20.0_1788901207528_0.1622871584230876","host":"s3://npm-registry-packages-npm-production"}},"1.20.1":{"name":"@mgcrea/mcp-apple-contacts","version":"1.20.1","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"a1c96562f12f55b95118e72c423a442389becd68","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.20.1.tgz","fileCount":11,"integrity":"sha512-cUNGtdia4bhOA8zV2tqfkWPXzWQcH/5EgpnTeWaLrIOmMepHH4TdwZa2lJffpKfERAxDTClb5vwOd0d8hdIb4A==","signatures":[{"sig":"MEUCIQDJGbnPPOwtZBKhubG+MMV0aXbRgSrzeZtQrMmg2SZ4BQIgLtxIYVstSTihJW6HyuRkpVAXV4/IUEzwzX68RodGYfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.20.1_1788953651566_0.5256284598400689","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.21.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"5d174ef54855941b6d9360611a25b872b830ff8d","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.21.0.tgz","fileCount":11,"integrity":"sha512-VSj6ev3/7y4MqM33rhoUhQBB3YuzfjfR/hg/Pf0kRBl3g1qK7sqmaDNELjXnT4khyLe+hYVLnsuN5/yP3ppgNw==","signatures":[{"sig":"MEQCIDJoEvGvZHRZBjiN8TdJ1GrK7tPWQZHvsqQaqBDMg1j8AiBtEnaYqsPjDrQ+OvMh6+SV7YbtDj0eMJCtNhvVmLCzQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.21.0_1789052779823_0.8455113995803989","host":"s3://npm-registry-packages-npm-production"}},"1.21.1":{"name":"@mgcrea/mcp-apple-contacts","version":"1.21.1","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"8342a8b89a05483585904886e9dace18503a9463","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.21.1.tgz","fileCount":11,"integrity":"sha512-uGPE9cbCxc9FebMLkvzpBfmw/+06DSjOvggbyShNH/RIr4hu4L4EgFuv/08uAu6hvMeCeJqcm4XK2y9S36lMzQ==","signatures":[{"sig":"MEYCIQC1qg8Ijc5vSg+UylsXO9fCxl2cNPRALdEbH31qkSp48gIhAP4LjhWKAxTJzIye8SM4eu0vhvbIBjmAx0cPY3mJXHrD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDf523RSqBuMuWmXm4k53+OtjEcAjsdXngUje3l6YdDPgIhALCkr+YAflc07XkJY2XkTSmYdO7Ev2iibAXoPYWV1Ve8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.21.1_1789159152639_0.9575130144783037","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.22.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"5aca81586977f509fe66a8c781d5c77193109424","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.22.0.tgz","fileCount":11,"integrity":"sha512-zZqCoHzM2Abt1dDDzdx9wQM9ULNLY3jktTjhPIZQdoxP+mxvaf+FV0+Vp1nrtXxfCus80+PjBRKVRxoTNwyu1w==","signatures":[{"sig":"MEUCIEg16lDpLmvgwy2wxx8lRRIz7p1X6WZy+nGYAtKD0/+WAiEAnoO5Ul3QiG6Js9kcN3S4O++Aem5X4BLzm3KRztDMN5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFK6s3phDz53nXfOBO/asEimhLce/iaUivsUgH5W93HNAiEA8gOcW1S1roXgLikf8EaQxEZi03CmguHKhJ1BigaDlQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.22.0_1789551182402_0.41368428524118994","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@mgcrea/mcp-apple-contacts","version":"1.22.1","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"1a43c91861b796ec89b76ff581cfb737ed4fa633","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.22.1.tgz","fileCount":11,"integrity":"sha512-t3OY4+lFocORF9WzbavjuQkWv7uSjnfPFu6sIEYIIGidThn87zrdKxxAYjGe4J5rv7VnOs6dND76CzsD+yF/Ww==","signatures":[{"sig":"MEUCIFmZ3HHwSTgPJFE0Wk0AAhpDgKe7DVkgVQcMmaSl9kpEAiEAjYthwgJyiOJQ/vU0Km1G9UBZIVRHOpYm4rRH7RheB3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHSH/zUrxh8DI4z0Dfqh+W1+8YGaYSyc2B2BeUxps6D4AiBkOvOuDTmLj3f4jeU5YZGdKHx85hOvEIODAStJfPWssg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.22.1_1789565290541_0.8575848933744996","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.23.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"ab3f544d21207bc990df51f11f6c25dc92836091","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.23.0.tgz","fileCount":11,"integrity":"sha512-bcXPVrI9j/8CBLYLhlXiXTVHOYqmgmHErmZ9qXDIjQGcuFDaIAK+tkF+xGuagTHTLfT+mXA642AvMgWCU3wjBQ==","signatures":[{"sig":"MEUCIF3aH2olFVKle1oq+m+WX2iMB7njnXRFbaMNsbuUHTO7AiEAqRe+duUfFPjzzeizusRCah0ayliiHFONSSZIJNxf/60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDcIpt4irRLK342tBgQLafCK/MikdxHmfh5Q10prruyGAiBw0jUGiwi8Fc2Em6ZNcJrABxCWIOatdQp2BFKeiYEqeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.23.0_1789809894010_0.30438361391646196","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@mgcrea/mcp-apple-contacts","version":"1.24.0","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-contacts@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-contacts-mcp":"dist/cli.js"},"dist":{"shasum":"6d7029657c93edea3cd6fe67e55f92377e209086","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.24.0.tgz","fileCount":11,"integrity":"sha512-OEAZRl2lzsOZxMMmbrXBf/mU5LwJZgwcMGsJ0tRYumIrwkCO7R2/r5DiV7OUjxJmCR6tDi2kHE4NAFDsO2VAeQ==","signatures":[{"sig":"MEYCIQDxScI5ITaSkzXk+hmOIEycLfFPHA3WOu7A261CCkrg1gIhALOj3M58XaTRn2jZWBZgyUrTXCqJduRcYh5cCoHIRULj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCM5ClGF5evZqWfK7zlJ8jGeorh6LYSoS8QLjzgdCM2WwIgX1U5LRYfIFX67v3btQSp1+dva4vdrUQtyQtfABjDVOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"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-contacts","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:574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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-contacts_1.24.0_1790452441729_0.057948366996852796","host":"s3://npm-registry-packages-npm-production"}},"1.24.1":{"os":["darwin"],"_id":"@mgcrea/mcp-apple-contacts@1.24.1","bin":{"apple-contacts-mcp":"dist/cli.js"},"bugs":"https://github.com/mgcrea/cupertino/issues","dist":{"shasum":"1118850f83b587f5bdf5485af45a7b8b6529d65d","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-contacts/-/mcp-apple-contacts-1.24.1.tgz","fileCount":11,"integrity":"sha512-9LXiqnZ1kuCElxssEy5lEfmxgzmB/lP0ktb7pRSbkX+M/vc5Mr06D33nbSF1VPF9cI6u9hb+oGDYvSz6YT9R7A==","signatures":[{"sig":"MEUCIQCUj7UBQLi+f84aCpCgK06x376n2BWBXeZfTJZAqUEszQIgNgSq7XW2NvXuiN444zw6izzfKZeaWqEJLv6RGuUNWhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5Csz+XuIcVy3MnaN16eyGwS24RPug5QVjhMr0Lk6UpAIgdyZl3yiZECrSOyzAzjJWkF/M6LodKqByOVAYqsr0Z+g="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-contacts@1.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215155},"main":"./dist/index.js","name":"@mgcrea/mcp-apple-contacts","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-contacts","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"version":"1.24.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"574bb26b-8ebd-4620-8993-f9eff1065b5f"}},"homepage":"https://cupertino.mgcrea.io","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, 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.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":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-apple-contacts_1.24.1_1790694455410_0.018520002841158956"}}},"time":{"created":"2026-08-22T14:28:47.720Z","modified":"2026-09-29T15:07:35.962Z","0.0.0-bootstrap":"2026-08-22T14:28:48.138Z","1.3.0":"2026-08-26T09:41:56.788Z","1.3.1":"2026-08-27T14:25:51.440Z","1.4.0":"2026-08-30T14:10:31.826Z","1.6.0":"2026-09-01T09:08:47.643Z","1.7.0":"2026-09-01T12:57:52.938Z","1.8.0":"2026-09-01T19:32:21.390Z","1.9.0":"2026-09-01T21:56:19.452Z","1.10.0":"2026-09-02T20:59:41.820Z","1.11.0":"2026-09-03T12:53:59.108Z","1.12.0":"2026-09-03T17:14:45.733Z","1.13.0":"2026-09-04T12:14:30.338Z","1.14.0":"2026-09-04T21:36:42.537Z","1.15.0":"2026-09-05T22:47:50.620Z","1.16.0":"2026-09-06T10:38:29.726Z","1.17.0":"2026-09-07T15:01:04.383Z","1.18.0":"2026-09-07T20:06:37.190Z","1.19.0":"2026-09-08T11:43:39.978Z","1.19.1":"2026-09-08T14:58:23.208Z","1.20.0":"2026-09-08T21:00:07.666Z","1.20.1":"2026-09-09T11:34:11.699Z","1.21.0":"2026-09-10T15:06:19.966Z","1.21.1":"2026-09-11T20:39:12.732Z","1.22.0":"2026-09-16T09:33:02.496Z","1.22.1":"2026-09-16T13:28:10.676Z","1.23.0":"2026-09-19T09:24:54.118Z","1.24.0":"2026-09-26T19:54:01.839Z","1.24.1":"2026-09-29T15:07:35.498Z"},"bugs":"https://github.com/mgcrea/cupertino/issues","author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","homepage":"https://cupertino.mgcrea.io","keywords":["address-book","apple","apple-contacts","contacts","macos","mcp","model-context-protocol"],"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/contacts"},"description":"Search and read Apple Contacts — resolves numbers and emails to names, writes off by default","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"readme":"# @mgcrea/mcp-apple-contacts\n\nModel Context Protocol server for the macOS **Apple Contacts** address book.\n\n> **Unofficial.** Not affiliated with Apple. It reads the address book already on your Mac.\n\n## Why it exists: resolving handles\n\n`apple_contacts_resolve_handles` turns phone numbers and email addresses into names, in batches of up\nto 500. Everything else here is in service of that.\n\nThis is the surface where the file-lane rule is about **capability, not speed**. Contacts' scripting\ndictionary answers in ~65 ms — comfortably fast, and still useless for this: resolving a phone number\nmeans a suffix-keyed index over every stored number, and no quantity of Apple Events round trips\nproduces one. So reads go through read-only SQLite, and there is no Apple Events read lane.\n\nThe lookup builds in **3 ms** over 947 phone keys and 295 email keys, then is kept for the life of\nthe process.\n\n## Permissions — this one is different\n\n| Permission                | Needed for  | Notes                                          |\n| ------------------------- | ----------- | ---------------------------------------------- |\n| **Contacts** (its own)    | reads       | **prompts** — answer the dialog, and that's it |\n| **Automation → Contacts** | writes only | reads are unaffected                           |\n\nContacts fails differently from every other surface in this family: it sits behind its **own TCC\nservice** rather than behind Full Disk Access, and unlike Full Disk Access that permission\n_prompts_. So the fix is usually \"answer the dialog\", not \"go to System Settings\" — and nothing here\nasks you to hand over whole-disk access for an address book.\n\n## Tools\n\nRead: `diagnostics`, `resolve_handles`, `search_contacts`, `list_contacts`, `get_contact`.\n\nWrite, registered **only** when `APPLE_CONTACTS_ALLOW_WRITES=1` — with the flag off they are\ninvisible to the model, not merely refused: `create_contact`, `update_contact`.\n\n`resolveHandles()` is also exported from the package root, for callers already inside Node that\nwould rather not go through MCP to reach it.\n\n## Configuration\n\n| Variable                              | Default |                                            |\n| ------------------------------------- | ------- | ------------------------------------------ |\n| `APPLE_CONTACTS_ALLOW_WRITES`         | off     | Register the mutating tools.               |\n| `APPLE_CONTACTS_PHONE_SUFFIX_DIGITS`  | `9`     | Suffix key length; 6–15.                   |\n| `APPLE_CONTACTS_INDEX_MODE`           | `auto`  | `auto` \\| `ro` \\| `immutable` \\| `off`.    |\n| `APPLE_CONTACTS_STORE`                | auto    | Explicit store path.                       |\n| `APPLE_CONTACTS_OSASCRIPT_TIMEOUT_MS` | `30000` | Sized for the first-run permission prompt. |\n\n## Notes that will bite you\n\n- **The store is plural.** `locate.ts` returns a list and every query fans out — on a real machine,\n  `stores=2/2, contacts=421`, matching Apple Events exactly. A server reading only the first store\n  silently loses an account.\n- **Nine-digit suffix keys, and the length travels inside the lookup object** so the index and the\n  query cannot diverge. A self-join over a real address book at 7, 9 and 10 digits settles it: 7 and\n  9 collide identically (10 of 947 keys, 1.1%), and 10 drops a key while losing the\n  national-to-E.164 join.\n- **Ambiguity is a status, never a guess** — `resolved` / `unknown` / `ambiguous` / `shortcode`.\n  `unknown` is documented in the tool description as expected, not as an error.\n- **`Z_ENT` filters to `ABCDContact`.** Without it, a list tool returns your groups as people.\n- **A write can succeed and still not persist.** Contacts holds changes in an unsaved buffer, so a\n  mutation can read back correctly inside the same script and never reach the store. Every write\n  script saves and then re-reads.\n\n## Licence\n\n[MIT](LICENSE).\n","readmeFilename":""}