{ "name": "apple-docs-2.0-mcp", "version": "3.0.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.", "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" ], "homepage": "https://github.com/mishafyi/Apple-Docs-2.0-MCP#readme", "bugs": { "url": "https://github.com/mishafyi/Apple-Docs-2.0-MCP/issues" }, "repository": { "type": "git", "url": "git+https://github.com/mishafyi/Apple-Docs-2.0-MCP.git" }, "license": "MIT", "author": "mishafyi (https://github.com/mishafyi)", "contributors": [ "kimsungwhee (https://github.com/kimsungwhee)" ], "mcpName": "io.github.mishafyi/apple-docs-2.0-mcp", "type": "module", "main": "dist/index.js", "bin": { "apple-docs-2.0-mcp": "dist/index.js" }, "files": [ "dist", "data", "api-map/apple-docs-map.tsv" ], "engines": { "node": "^22.22.2 || ^24.15.0 || >=26.0.0" }, "scripts": { "build": "tsc", "clean": "rm -rf dist", "lint": "eslint src scripts", "test": "vitest run", "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", "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", "prepublishOnly": "npm run clean && npm run build" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.32.1", "bottleneck": "^2.19.5", "fast-json-patch": "^3.1.1", "header-generator": "^2.1.88", "jsdom": "^30.1.2", "lru-cache": "^11.5.3", "minimatch": "^10.2.6", "p-retry": "^8.0.1", "turndown": "^7.2.4", "turndown-plugin-gfm": "^1.0.2", "zod": "^4.6.5" }, "devDependencies": { "@eslint/js": "^10.0.1", "@stylistic/eslint-plugin": "^5.10.0", "@types/jsdom": "^30.0.0", "@types/node": "^24.19.1", "@types/turndown": "^5.0.6", "eslint": "^10.12.0", "openapi-typescript": "^7.13.0", "quicktype": "^26.0.0", "tsx": "^4.23.15", "typescript": "^5.9.3", "typescript-eslint": "^8.71.1", "vitest": "^5.0.3" }, "knip": { "entry": [ "scripts/*.ts" ], "ignore": [ "src/types/captured/**", "src/types/docc/**" ] } }