{"_id":"apple-docs-2.0-mcp","_rev":"10-37bba1308c22ba5ba4ba0507cb80ef9f","name":"apple-docs-2.0-mcp","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.0-stage":{"name":"apple-docs-2.0-mcp","version":"0.0.0-stage","_id":"apple-docs-2.0-mcp@0.0.0-stage","stub":true,"maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"dist":{"shasum":"72fefb2d2b69e8bafe5f78b67b9c17c5d6071937","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-0.0.0-stage.tgz","fileCount":2,"integrity":"sha512-K8Eh2DNSQu7+yV9uOYbQt3p3WKN54aFybBrI8LSQXS2IkqKf4+RX2GQ248O0xVn8j7dWY/A0/8C14frADqO0kg==","signatures":[{"sig":"MEQCIBiKW0b47F2dDdX6kKKwPMZV/rDTVCCwiTrfsTJaY/eZAiA2z76QoyJ9c2feGXuniUgu9Y8RBBw7f7F5sK6Wgufo/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"description":"Temporary package placeholder for staged publishing","directories":{}},"2.0.0":{"name":"apple-docs-2.0-mcp","version":"2.0.0","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.0","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"4f47a8641435202e40df32df656b2b9e91d3330b","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.0.tgz","fileCount":1946,"integrity":"sha512-NCQg0xUtXW1HPvbZkFRPg60fTzyNlPpbBLV7OnkoZ/4O9vtnqlBCn0E4ylzy1MHfHkvse2qZejHXrDzWNDk2lQ==","signatures":[{"sig":"MEUCIQC070SsEXJDnGZGtwYWsK0cYLHQcTLt5uqJnYcTOeLbZgIgad9Jb4k7A59sMrEMjGUG10Dg+UwyuPbzDwIQFZe7Svw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICmCnDiTWrrlfNdOKA3T1SzCYrAeovkPPvl1w6HXQ9kKAiAJogzGblQbBKnx9otJNu4EduWb14GJJ6XMlGGl9C/1lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120161171},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"16dde7a9c2cb66a03255d7041f3d3fc14904392a","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.0_1791770369774_0.5615918474822752","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"apple-docs-2.0-mcp","version":"2.0.1","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.1","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"6ef29aa16fd020730a3b71fc7ba0719bb49f9ddb","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.1.tgz","fileCount":1946,"integrity":"sha512-kJW0ivzlPTiM9LiCl+0tbTjv4z+Y9HAONPh5K2KeOUV29U9e8THfRYHESQKKjaGNBcyG4Y779g/6pzjFwGl6wQ==","signatures":[{"sig":"MEQCIC9sN+RHIuaOGRMI2thoXz4iKBCEmlJHIcybGIkbgza9AiAp70ItF/lsgEAORttE3PvpyOjOfXUR4yzTW7aUdONBAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGBvve6JBs5+VemuinWVJQ/ljbep55KpEhpOzo8GW5AHAiEA4H+r9QzibazIYlC3w4rSfktN1rPkgKU9Oe/PfvRwens=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120162069},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"1d72ac61d89b94e40b6927ecb3007736f4d0389e","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.1_1791786768818_0.5780156792739699","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"apple-docs-2.0-mcp","version":"2.0.2","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.2","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"3386fe260fc7bca1e3a29df7b80975df7ee87183","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.2.tgz","fileCount":1946,"integrity":"sha512-xXV2fotM42jVHWM9ZdshkL9jSoRt1RFSHRx8bxwy5k93ZQwnx+aYgOk9vDDvFCils/T/Q/CaiEyyhB2a7oPmgQ==","signatures":[{"sig":"MEYCIQDHoGxh109LykPbWcB+5X1tTah8XbbhezW2/n1RGmoy3QIhAN1x+Ag+J8T3q2OJSJvFSlVrCVmrSsQTdzKWj5FilvbU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH5uwYKriNk7gbtkWN6FMYuQyvdBNPdmCjkQeCPeo3QtAiBxw/p22yPxG1VcgPeUjQTgITkryYnHzdc80aNPB4pDAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120162337},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"6cf5c8145669e662318217f8262fa83149076f41","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.2_1791787831328_0.734695486992117","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"apple-docs-2.0-mcp","version":"2.0.3","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.3","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"4d216c9f2e0bea6e5a31d61df9a7a4059aa73b50","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.3.tgz","fileCount":1946,"integrity":"sha512-AW1cc0u5fXKDFhQFQdkMaeEP88B43nDqJTLyR+5frTmZFFTcgugsH2UDLp/j5xFVyW7+DG5xj2Htp2pObCy1LA==","signatures":[{"sig":"MEYCIQDzMlSaeXloQzTqnnx8Dh+eQmlaX7jzABJ9HLosZDLgPgIhAN3DIZ4aX3MVsUY2I5Yqo71GNBGDwmR5HwMsaX3IQABO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFpQM+az4Egkp8Qadh7AXbl+umOcBexuUDUp3PoM9XFNAiAW/oFMixsTY9OrKeXRWfETL2clDBNyHvgDfbqXtDwWmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120162313},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"5f7efc81d5b8208466dea3aef1e198fd2c115dcf","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.3_1791789158496_0.21459337230729347","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"apple-docs-2.0-mcp","version":"2.0.4","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.4","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"7e51d31ac1fed8e5e72e89fb2dfbbe6db54f5cbc","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.4.tgz","fileCount":1943,"integrity":"sha512-YKE+V+y+rrFQJ+/dHNJhhFS1R5Tozwi7DFBC9u9u+gzUGoCEVWQMk/28ItLqh7UnsbjYk+QmWB/pwyIlVqDOxw==","signatures":[{"sig":"MEUCIQCdqmpsvelixP+BV8xF9FsweHQRpXHVBiK9ev9qtMgXnwIgb6hPuqavukWs8Lpa4O4cFEyjVsu1e0bTJlfSuYIJDBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCOnNiLgYmyXAVvVG4cArPL9iZaK/1jUtVH16MCVkFKGAIhANb670SPD6f/J+L77ZBKMaZ2pfvrr/89WMt+PzDSswz4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120101550},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"f11f0aeff41f653e54f3dcc1e3832f027454ae09","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.4_1791790628978_0.13993789644018273","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"apple-docs-2.0-mcp","version":"2.0.5","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.5","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"9378824e96f9c8415184f2131eff7e93e6001676","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.5.tgz","fileCount":1943,"integrity":"sha512-siYvSvD+vJUtVHMkNetiQLWXriueb4ECOTKacj6vKr87rnAsfnASLTimbczy0YmbzQihlyTuGT82ofq0D0xQXA==","signatures":[{"sig":"MEUCIBnSzUFEmsaNf1ZnaFEKXe1NC/cbyyS6Q8eBUamknU1RAiEAkbdk2YuapnTOH4lwanhyHmxB/oQqbK72/5x+4X8HGAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC3ORq4TgU2PUcgnMVCng8lSCjUwMPnKN5EKV7n3cKQOwIgbzOQRpxCh1URTfGNkaFc24KZ0cxXFIDUOzPD+8EFh0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120102947},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"2301341745ed3d0996a9c56805b038c009d62615","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.5_1791793430007_0.19535559056196905","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"apple-docs-2.0-mcp","version":"2.0.6","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.6","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"01256a42d698237d48e4697bcc9c63c353174754","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.6.tgz","fileCount":1943,"integrity":"sha512-C2byVDHxH2Tcrv1XrDSxMmtW/YfXe9eBefMRp9J9KRXwbsXGLsymCphVG9Tg3CxTn5BJsZzttfgn7iARWrOJaA==","signatures":[{"sig":"MEYCIQCDQYSczzSBPBGgk5s1mVvdv2WV0xTgChD9pBH55cyDcwIhAObgXNC9rAMtp1fYen1U2WZWgS+bwffeZYJ+7AXl/EUg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBdPoiS06NYSH1MaP3N3kZAITvd5q9Haz+1Osk293hreAiA+Tz4WEmI6l71WvzyZEbLAdLMvAOeaaDZhZWXZprdcGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120117906},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"ce402beaa6b9e024b9051adfe3abbe552e01da5d","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.6_1791855932558_0.22722138184527285","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"apple-docs-2.0-mcp","version":"2.0.7","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor"],"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","_id":"apple-docs-2.0-mcp@2.0.7","maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"bin":{"apple-docs-2.0-mcp":"dist/index.js"},"dist":{"shasum":"7ea2e90a589f0ca1d18bc158afaddfdb70d2ff5d","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-2.0.7.tgz","fileCount":1943,"integrity":"sha512-gr2372sSD9ygUS+dk/AgD6D2nxDrSj88j2KG89oiik0I0JhOL2fTNy1QSMCFPiS+drmHTm1Jj2jpnjUoSnSTFw==","signatures":[{"sig":"MEUCIEnV++Q6DpHIFr4nhy6fXr0BVUiqhjoquaCX8LSa2SKiAiEAjCmjjLZr6q2YNnRwu5H2JmChlczCE/zX9sL1uUis3Ls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIET3Imok03zeJ/4y4gt1Yk5nUadX6xX7zhPVxP9LX5bWAiEAoWtVEs3blkJ68fq9FQyiXEjA7ReLWNGlRQwhEVDGAgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120115621},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"95425360d8a889734d7d10434a1a7a158af09950","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc && cp -r data dist/","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false -o src/types/docc/render-node.d.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false -o src/types/docc/render-index.d.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","bottleneck":"^2.19.5","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","playwright":"1.63.0","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apple-docs-2.0-mcp_2.0.7_1791867108539_0.6064985546771611","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"_id":"apple-docs-2.0-mcp@3.0.0","bin":{"apple-docs-2.0-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"dist":{"shasum":"423aea71709dc419b93fb94e27382fa41f0dc133","tarball":"https://registry.npmjs.org/apple-docs-2.0-mcp/-/apple-docs-2.0-mcp-3.0.0.tgz","fileCount":1899,"integrity":"sha512-RCpxJAEg70mJN4HNA2lNaTGfKELMgQbw90RpbpMRuzi80H8ZZ3r3mCHuBHfA783MBAqx0v15j0IfxqeRzdDf6A==","signatures":[{"sig":"MEUCID7TnO70YbXaX8GiqACMHO1TkuFomNJOR8z0VawKOYWZAiEA2MV59qCBoyAbLOqQJhGSlZmE9XiykQ1RoCuHgZnO3Bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICUUO01r9qFZ4g6GihFqrItWCO3QffKalbHi0JMoLCgmAiB/wL5Y0mwoWy9O2X1eDil2eA3qv+vwiI6yLv+9Nk6jSA=="}],"unpackedSize":132263377},"knip":{"entry":["scripts/*.ts"],"ignore":["src/types/captured/**","src/types/docc/**"]},"main":"dist/index.js","name":"apple-docs-2.0-mcp","type":"module","types":"./dist/index.d.ts","author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"engines":{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"},"gitHead":"e56e58bb55b609dae395a25ff6d6b8a333de3672","license":"MIT","mcpName":"io.github.mishafyi/apple-docs-2.0-mcp","scripts":{"lint":"eslint src scripts","test":"vitest run","build":"tsc","clean":"rm -rf dist","types:docc":"openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderNode.spec.json --default-non-nullable false --enum-values -o src/types/docc/render-node.ts && openapi-typescript https://raw.githubusercontent.com/swiftlang/swift-docc/main/Sources/SwiftDocC/SwiftDocC.docc/Resources/RenderIndex.spec.json --default-non-nullable false --enum-values -o src/types/docc/render-index.ts","prepublishOnly":"npm run clean && npm run build","types:captured":"tsx scripts/capture-responses.ts && npm run -s types:captured:generate","types:captured:generate":"quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchStream --out src/types/captured/search-stream.ts api-map/responses/*.messages.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level SearchDocument --out src/types/captured/search-document.ts api-map/responses/*.document.json && quicktype --lang ts --src-lang json --just-types --no-enums --no-date-times --no-uuids --no-integer-strings --no-boolean-strings --top-level TechnologiesPage --out src/types/captured/technologies.ts api-map/responses/technologies.json"},"version":"3.0.0","_npmUser":{"name":"mishafyi","email":"mshapalov@gmail.com"},"homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor","claude-code","developer-tools","ai","llm","ai-agents"],"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"_npmVersion":"12.2.0","description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","directories":{},"maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"_nodeVersion":"24.21.0","contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"dependencies":{"zod":"^4.6.5","jsdom":"^30.1.2","p-retry":"^8.0.1","turndown":"^7.2.4","lru-cache":"^11.5.3","minimatch":"^10.2.6","bottleneck":"^2.19.5","fast-json-patch":"^3.1.1","header-generator":"^2.1.88","turndown-plugin-gfm":"^1.0.2","@modelcontextprotocol/sdk":"^1.32.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","eslint":"^10.12.0","vitest":"^5.0.3","quicktype":"^26.0.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^24.19.1","@types/jsdom":"^30.0.0","@types/turndown":"^5.0.6","typescript-eslint":"^8.71.1","openapi-typescript":"^7.13.0","@stylistic/eslint-plugin":"^5.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apple-docs-2.0-mcp_3.0.0_1792281820452_0.276936097402807"}}},"time":{"created":"2026-10-12T01:55:16.615Z","modified":"2026-10-18T00:03:40.948Z","0.0.0-stage":"2026-10-12T01:55:16.615Z","2.0.0":"2026-10-12T01:59:30.090Z","2.0.1":"2026-10-12T06:32:49.215Z","2.0.2":"2026-10-12T06:50:31.669Z","2.0.3":"2026-10-12T07:12:38.791Z","2.0.4":"2026-10-12T07:37:09.589Z","2.0.5":"2026-10-12T08:23:50.578Z","2.0.6":"2026-10-13T01:45:32.844Z","2.0.7":"2026-10-13T04:51:48.879Z","3.0.0":"2026-10-18T00:03:40.773Z"},"bugs":{"url":"https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues"},"author":{"url":"https://github.com/mishafyi","name":"mishafyi"},"license":"MIT","homepage":"https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme","keywords":["mcp","model-context-protocol","mcp-server","apple","apple-developer","documentation","swift","swiftui","uikit","wwdc","xcode","ios","macos","claude","cursor","claude-code","developer-tools","ai","llm","ai-agents"],"repository":{"url":"git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git","type":"git"},"description":"MCP server for Apple Developer Documentation: API reference, Human Interface Guidelines, App Store Connect Help, sample code and 1,700 WWDC sessions with transcripts and code. A fork of Apple Docs MCP.","contributors":[{"url":"https://github.com/kimsungwhee","name":"kimsungwhee"}],"maintainers":[{"name":"mishafyi","email":"mshapalov@gmail.com"}],"readme":"<div align=\"center\">\n\n**English** · [日本語](README-ja.md) · [한국어](README-ko.md) · [简体中文](README-zh-CN.md)\n\n# Apple Docs 2.0 MCP\n\n### One MCP for Apple's developer documentation, design guidelines and WWDC sessions.\n\n**Building your next iOS app with an agent? Let it read Apple's own docs first: fewer rewrites, fewer interruptions.**\n\n[![npm version](https://img.shields.io/npm/v/apple-docs-2.0-mcp?style=flat-square&color=cb3837)](https://www.npmjs.com/package/apple-docs-2.0-mcp)\n[![MCP tools](https://img.shields.io/badge/MCP-7_tools-5c4ee5?style=flat-square)](#️-available-tools)\n[![Node.js](https://img.shields.io/node/v/apple-docs-2.0-mcp?style=flat-square&logo=nodedotjs&logoColor=white&label=Node.js&color=339933)](https://nodejs.org/en/download)\n[![MCP Registry](https://img.shields.io/badge/MCP_Registry-listed-0d1117?style=flat-square)](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.mishafyi/apple-docs-2.0-mcp)\n[![skills.sh](https://skills.sh/b/mishafyi/apple-docs-2.0-mcp?style=flat-square)](https://skills.sh/mishafyi/apple-docs-2.0-mcp)\n[![MIT license](https://img.shields.io/badge/license-MIT-f4c430?style=flat-square)](LICENSE)\n\n[Quick Start](#-quick-start) · [What's New](#-whats-new-in-20) · [Installation](#-installation) · [Usage](#-usage-examples) · [Tools](#️-available-tools) · [Architecture](#️-architecture) · [Development](#-development)\n\n<code>npx -y apple-docs-2.0-mcp</code>\n\n<br />\n\n<img src=\"https://cdn.jsdelivr.net/gh/mishafyi/Apple-Docs-2.0-MCP@main/assets/banner.png\" alt=\"Apple Docs 2.0 MCP: doc search optimized for agents, a complete index of 336,723 pages, and Sample Code with WWDC included\" width=\"1200\" />\n\n</div>\n\n---\n\nApple Developer Documentation for AI assistants, through the Model Context Protocol: API reference, articles, sample\ncode, tutorials, the Human Interface Guidelines, App Store Connect Help, the web-service APIs (App Store Connect API, App\nStore Server API and others) and 1,700 WWDC sessions with their transcripts and code, in Claude, Cursor, VS Code or any\nMCP client.\n\nApple Docs 2.0 MCP is a fork of [Apple Docs MCP](https://github.com/kimsungwhee/apple-docs-mcp) by\n[kimsungwhee](https://github.com/kimsungwhee), improved with additions, fixes and a new tool.\n\n## 🚀 Quick Start\n\n### Claude Desktop (Recommended)\n\nAdd this to your Claude Desktop configuration:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`  \n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"apple-docs\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"apple-docs-2.0-mcp\"]\n    }\n  }\n}\n```\n\n> **Note**: If you encounter issues with an old version being used, add `@latest` to force the latest version:\n> ```json\n> \"args\": [\"-y\", \"apple-docs-2.0-mcp@latest\"]\n> ```\n\nRestart Claude Desktop and start asking about Apple APIs!\n\n### Claude Code\n\n```bash\nclaude mcp add apple-docs -- npx -y apple-docs-2.0-mcp\n```\n\n### Ask your agent\n\n```text\nLook up NavigationStack in Apple's docs, then show me the WWDC code that uses it.\n```\n\n## 🆕 What's New in 2.0\n\nApple Docs 2.0 MCP keeps everything Apple Docs MCP 1.0.26 does and fixes what stopped working or came back incomplete,\nso your assistant answers from Apple's own documentation instead of guessing.\n\n### 🔍 Search that returns results\n\n`search_apple_docs` is fixed: it now uses the same search service Apple's website uses, so your assistant gets the\nresults you would see on developer.apple.com: API reference, articles, sample code, design guidelines, App Store Connect\nHelp and WWDC videos. In the original, searches come back empty since Apple changed its search page.\n\nAsk about an API, a design guideline or an App Store process, and the assistant searches first, then reads the pages\nit finds.\n\n### 🗺️ Look up any page by name\n\nA new tool, `search_docs_map`, finds any of 336,723 pages by name, or part of one, offline:\n\n- API symbols: types, methods, properties, enum cases, macros\n- articles and sample code\n- Info.plist and entitlement keys\n- web-service endpoints, such as the App Store Connect API's\n- Human Interface Guidelines and App Store Connect Help pages\n\nUse it when you already know a name, from code or an error message, to open its page directly.\n\n### 📄 Complete documentation pages\n\nPages come through whole, as on Apple's site: every method and property with its full signature\n(`var view: UIView!`, not just `view`), what a type inherits from and conforms to, related APIs, and the OS versions\nthat support it. 2.0 also reads the Human Interface Guidelines, tutorials, App Store Connect Help, and App Store\nConnect API endpoints with their parameters and responses.\n\nAsk about any API, guideline or App Store Connect topic, and the assistant reads the full page before it answers or\nwrites code.\n\n### 🎥 WWDC 2014–2026, with code\n\n1,700 sessions are built in, WWDC26 included, and work offline: transcripts for 1,416 of them, each paragraph with the\ntime it starts, chapters for 480, and code samples for 715, each sample with the time it appears in the video. Sessions are filed under the same topics as on Apple's\nwebsite.\n\nAsk how a new API works, and the assistant can quote the WWDC session that introduced it, with its code.\n\n### 📋 Complete framework lists\n\nThe original's technology list stopped after 200 entries, so whole categories (Graphics and Games, Media, System, Web)\nnever appeared, and its symbol search mixed in headings with broken links. 2.0 lists everything, marks frameworks in\nbeta, and finds frameworks by subject: \"Machine learning\" returns Core ML, Create ML, Foundation Models, Vision and\nmore.\n\nAsk which frameworks fit a task, such as machine learning or audio, and the assistant compares the full list.\n\n### 🛠️ Built to keep working\n\nUp-to-date dependencies, requests that look like a normal browser's and wait their turn (Apple returns empty searches\nwhen they come too fast), automatic retries when a request fails, and 207 automated tests. All 63 usage examples in\nthe original's README run without errors.\n\nNothing to set up: no API key or account.\n\n## ✨ Features\n\n- 🔍 **Search**: Apple's documentation, design guidelines, sample code, App Store Connect Help and WWDC sessions in one\n  search, or one of them alone\n- 🗺️ **Docs map**: find any page by its title, even a method or property name, without a network request\n- 📚 **Documentation pages**: Swift and Objective-C APIs, articles, tutorials and web-service references as Markdown\n- 🎨 **Human Interface Guidelines**: every HIG page, searchable and readable\n- 🏪 **App Store Connect Help**: product page fields, review, TestFlight, pricing\n- 🔧 **Framework symbols**: browse a framework's classes, structs, protocols and members by wildcard\n- 🔗 **API relationships**: related, similar and referenced APIs, and replacements for deprecated ones\n- 📊 **Platform compatibility**: the version that introduced and deprecated an API on each platform\n- 📋 **Technology catalog**: every Apple framework and technology by category, beta ones marked\n- 📰 **Documentation updates**: release notes, framework updates and WWDC \"What's new\" pages\n- 🎯 **Technology overviews**: Apple's guides to app design, games, AI and machine learning, data and more\n- 💻 **Sample code**: every sample project, ranked by Apple's search, and the Sample Code Library by framework or\n  section, with summaries and Download links\n- 🎥 **WWDC library**: 1,700 sessions from 2014 to 2026 with transcripts, timed code examples, resources and related\n  sessions, offline\n\n## 📦 Installation\n\n<details>\n<summary><strong>📱 Claude Code</strong></summary>\n\n```bash\nclaude mcp add apple-docs -- npx -y apple-docs-2.0-mcp\n```\n\n[📖 Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp)\n\n</details>\n\n<details>\n<summary><strong>🖱️ Cursor</strong></summary>\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"apple-docs\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"apple-docs-2.0-mcp\"]\n    }\n  }\n}\n```\n\n[📖 Cursor MCP docs](https://docs.cursor.com/context/mcp)\n\n</details>\n\n<details>\n<summary><strong>🔷 VS Code</strong></summary>\n\nAdd to `.mcp.json` at the root of your workspace, VS Code's portable format:\n\n```json\n{\n  \"mcpServers\": {\n    \"apple-docs\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"apple-docs-2.0-mcp\"]\n    }\n  }\n}\n```\n\n[📖 VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)\n\n</details>\n\n<details>\n<summary><strong>⚡ Zed</strong></summary>\n\nAdd to your Zed `settings.json`:\n\n```json\n{\n  \"context_servers\": {\n    \"apple-docs\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"apple-docs-2.0-mcp\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n[📖 Zed MCP docs](https://zed.dev/docs/ai/mcp)\n\n</details>\n\n## 💬 Usage Examples\n\n### 🔍 Search\n```\n\"Search for SwiftUI animations\"\n\"Find withAnimation API documentation\"\n\"Search the Human Interface Guidelines for tab bars\"\n\"Search App Store Connect Help for TestFlight external testers\"\n\"Find sample code for Core Data\"\n```\n\n### 🗺️ Docs Map\n```\n\"Find the page for accessibilityInputLabels\"\n\"Which SwiftUI pages have gauge in their title?\"\n\"Find the App Store Connect API endpoint to create an auto-renewable subscription\"\n```\n\n### 📚 Documentation Access\n```\n\"Get detailed information about the SwiftUI framework\"\n\"Show me withAnimation API with related APIs\"\n\"Show me NSManagedObjectContext documentation\"\n\"Read the Human Interface Guidelines page on tab bars\"\n\"Show the steps of the SwiftUI tutorial\"\n```\n\n### 🔧 Framework Exploration\n```\n\"Show me SwiftUI views\"\n\"List all UIKit delegate protocols\"\n\"Get WeatherKit API hierarchy\"\n\"Explore Core ML model loading APIs\"\n```\n\n### 🔗 API Discovery\n```\n\"Find APIs related to UIViewController\"\n\"Discover alternatives to UIAlertView\"\n\"Get all references from SwiftData documentation\"\n\"Get platform compatibility for SwiftData\"\n```\n\n### 📋 Technologies, Updates and Overviews\n```\n\"What machine learning frameworks are available?\"\n\"Which technologies are in beta?\"\n\"What's new in SwiftUI?\"\n\"Show me release notes for Xcode\"\n\"Get data management technology overviews\"\n```\n\n### 💻 Sample Code\n```\n\"Show SwiftUI sample code projects\"\n\"Find sample code for machine learning\"\n\"Get the Food Truck sample\"\n```\n\n### 🎥 WWDC\n```\n\"Search WWDC videos about SwiftUI\"\n\"Find WWDC sessions on machine learning\"\n\"Show me WWDC 2026 videos\"\n\"Search WWDC transcripts for async/await\"\n\"Show me the transcript for WWDC23 Meet SwiftData\"\n\"Get code examples from WWDC sessions that use SwiftData\"\n\"Find sessions related to WWDC23 Meet SwiftData\"\n\"List all WWDC topics\"\n```\n\n## 🛠️ Available Tools\n\n| Tool | Returns |\n|------|---------|\n| `search_apple_docs` | Apple's search results in Apple's order, each with its title, Apple's kind, framework, one-line summary and link: documentation, design guidelines, sample code, App Store Connect Help and WWDC sessions; `type` searches one of them, as Apple's search page filters |\n| `search_docs_map` 🆕 | The pages whose title contains the text, in any case, shortest titles first, each with its kind, Beta or Deprecated mark, technology, the page it sits under and link; optionally within technologies (by name or ID, every page their sidebars list) or of one kind. `source: \"index\"` reads one framework's sidebar live instead and matches a wildcard |\n| `get_apple_doc_content` | One documentation page as Markdown, rendered from its JSON, in Swift or Objective-C: summary, every declaration with its overloads, overview, code, the articles that mention it, a property list key's details, Topics with each member's declaration and summary, Relationships, See Also and availability with Apple's notes; a web-service endpoint with its URL, parameters, body and responses; a tutorial with each step's code and its project files; a sample's Download; an App Store Connect Help article. `view` gives one part of an API's page: `\"related\"`, `\"similar\"` (what to use instead, led by the pages its deprecation note names), `\"references\"` (the pages it links to, with summaries) or `\"availability\"` |\n| `list_technologies` | Four of Apple's catalogs: every framework and technology with its summary, by category; the Sample Code Library, featured samples first; the Updates page's release notes and updates pages; the Technology Overviews' collections and articles. The first two name a TSV of the whole catalog |\n| `list_wwdc_videos` | The WWDC sessions of a year or topic, or with the text in their title or topic names, each with its link, topics and whether it has a transcript and code; `view: \"years\"` counts each year's sessions, `view: \"topics\"` lists the topics or one topic's sessions |\n| `search_wwdc_content` | The WWDC sessions whose transcripts or code contain the text, as typed, most matches first, each passage with the time it starts; `view: \"examples\"` lists the code examples that contain the text instead; names a folder of every session as text |\n| `get_wwdc_video` | One WWDC session with its links and downloads, chapters, timed transcript, timed code examples and related sessions; `view: \"related\"` lists the sessions Apple relates to it, then those that share the most of its topics |\n\nThe documentation tools fetch developer.apple.com; the WWDC tools read the bundled data and `search_docs_map` reads the\ndocs map, both without a network request.\n\n## 🏗️ Architecture\n\n```\nApple-Docs-2.0-MCP/\n├── src/\n│   ├── index.ts                    # MCP server and its search guide\n│   ├── tools/\n│   │   ├── handlers.ts             # Tool registration\n│   │   ├── search-api.ts           # Apple's search API\n│   │   ├── search-docs-map.ts      # Docs map search\n│   │   ├── doc-fetcher.ts          # Pages from Swift-DocC JSON\n│   │   ├── doc-formatter.ts        # Markdown rendering\n│   │   ├── help-pages.ts           # App Store Connect Help (jsdom, turndown)\n│   │   ├── list-technologies.ts    # Technology catalog\n│   │   ├── search-framework-symbols.ts\n│   │   ├── get-related-apis.ts, find-similar-apis.ts, resolve-references-batch.ts, get-platform-compatibility.ts\n│   │   ├── get-documentation-updates.ts, get-technology-overviews.ts, get-sample-code.ts\n│   │   └── wwdc/                   # WWDC tools and the session, topic and year extractors\n│   ├── types/                      # Generated from Swift-DocC's specs and captured responses\n│   └── utils/                      # HTTP client, caches, constants, URL conversion\n├── scripts/\n│   ├── add-wwdc-year.ts            # Adds or refreshes a WWDC year in data/wwdc\n│   ├── build-docs-map.ts           # Builds api-map/apple-docs-map.tsv\n│   └── capture-responses.ts        # Captures responses to type them\n├── data/wwdc/                      # The bundled WWDC sessions\n├── api-map/                        # The docs map, Apple's search API (OpenAPI) and captured responses\n└── tests/                          # Vitest\n```\n\n### 🌐 Requests and Caching\n\nEvery request goes through one HTTP client: `fetch` with a Safari's headers, at most 100 requests a minute, and\nsearches one at a time, 15 seconds apart, as Apple answers quicker ones with no results. Each attempt has a 2-minute\ntimeout, with up to 3 retries and backoff on network errors, timeouts and 5xx answers.\n\nApple's JSON is cached as Apple sends it, by URL, and shared by every tool: a page another tool just read isn't\ndownloaded again, and requests for one URL at the same moment share one download.\n\n| Content | Cached for |\n|---------|------------|\n| Pages, catalog pages and the technologies list | 30 minutes |\n| Sidebars (framework and catalog indexes) | 1 hour |\n| The docs map, parsed | while in use; freed after 30 idle minutes |\n| Searches | not cached |\n\n## 📦 WWDC Data\n\nThe WWDC sessions are bundled in `data/wwdc/`, so the WWDC tools work offline and without rate limits:\n\n- 📹 **1,700 sessions** from 2014 to 2026, 1,416 with transcripts, each paragraph timed (all but 6 Apple no longer\n  lists), 715 with code examples, 480 with chapters\n- 🏷️ **19 topics**, taken from Apple's topic pages\n- 💾 **48 MB** of JSON\n\n`npx tsx scripts/add-wwdc-year.ts <year>` adds a year, or refreshes it, from Apple's pages; a session Apple no longer\nlists keeps its stored data.\n\n## 🗺️ Docs Map\n\n`api-map/apple-docs-map.tsv` lists 336,723 pages (URL, title, kind, technology, group, tree, the technology's ID, Beta\nor Deprecated marks, and the other technologies whose sidebars list the page) from Apple's navigator indexes, the Human\nInterface Guidelines and App Store Connect Help's navigation. `search_docs_map` keeps it in memory while in use.\n`npx tsx scripts/build-docs-map.ts api-map/apple-docs-map.tsv` rebuilds it in about 10 minutes.\n\n## 🧪 Development\n\n```bash\ngit clone https://github.com/mishafyi/Apple-Docs-2.0-MCP.git\ncd Apple-Docs-2.0-MCP\nnpx pnpm@10 install\nnpx pnpm@10 run build          # tsc into dist/\n\n# Run your build in Claude Code in place of the npm package\nclaude mcp add apple-docs -- node \"$PWD/dist/index.js\"\n\n# Checks: types (server and scripts), lint and tests\nnpx tsc --noEmit && npx tsc -p scripts && npx eslint src scripts && npx vitest run\n\n# Call the built server without an MCP client\nnpx -y @modelcontextprotocol/inspector --cli node dist/index.js --method tools/call \\\n  --tool-name search_apple_docs --tool-args-json '{\"query\":\"tab bars\",\"type\":\"design\"}'\n\n# Regenerate the types of Apple's JSON\nnpm run types:docc             # from Swift-DocC's RenderNode and RenderIndex specs\nnpm run types:captured         # from captured responses (quicktype)\n```\n\nAfter a build, restart or reconnect the server in your MCP client.\n\n## 🙏 Credits\n\nApple Docs 2.0 MCP builds on [Apple Docs MCP](https://github.com/kimsungwhee/apple-docs-mcp) by\n[kimsungwhee](https://github.com/kimsungwhee), whose tools, WWDC data and structure it started from.\n\n## 🤝 Contributing\n\nContributions are welcome:\n\n1. **Fork** the repository\n2. **Create** a feature branch: `git checkout -b feature/amazing-feature`\n3. **Commit** your changes: `git commit -m 'Add amazing feature'`\n4. **Push** to the branch: `git push origin feature/amazing-feature`\n5. **Open** a Pull Request\n\n## 📄 License\n\nMIT License, as the original project: see [LICENSE](LICENSE).\n\n## ⚠️ Disclaimer\n\nThis project is not affiliated with or endorsed by Apple Inc. It reads Apple's publicly available developer\ndocumentation for educational and development purposes.\n","readmeFilename":"README.md"}