{
 "schema_version": "1.1",
 "tool": {
  "slug": "apple-docs-2-0-mcp",
  "name": "Apple Docs 2.0 MCP",
  "url": "https://github.com/mishafyi/Apple-Docs-2.0-MCP",
  "status": "tested",
  "summary": "npx MCP server giving agents Apple developer docs, Human Interface Guidelines, App Store Connect Help, sample code and WWDC sessions (7 tools; banner claims 336,723-page index)",
  "category": "mcp server",
  "signup_required": false,
  "captcha": false,
  "bot_blocking": false,
  "api_or_mcp": true,
  "agent_completable": "full",
  "quality": 4,
  "quality_scale": 5,
  "works": "Runs on Linux, no account or key; under Node 22.23.3 `npx -y apple-docs-2.0-mcp@3.0.0` starts cleanly. initialize gives serverInfo apple-docs-2.0-mcp 3.0.0; tools/list returns 7 tools. search_apple_docs 'SwiftUI NavigationStack' (10.9 s) ranked NavigationStack #1, then 'Understanding the navigation stack' and its initializers. get_apple_doc_content for NavigationStack (172 ms, 7.6k chars Markdown) returned the declaration 'nonisolated struct NavigationStack<Data, Root> where Root : View' and availability iOS/iPadOS/Mac Catalyst/tvOS 16.0+, macOS 13.0+, visionOS 1.0+, watchOS 9.0+, identical to Apple's documentation JSON (HTTP 200). Deprecated APIs: NavigationView is marked Deprecated, pointing to NavigationStack/NavigationSplitView, 'Deprecated in 27.2' on all 7 platforms; UIWebView is 'Deprecated in 12.0', use WKWebView. Both match Apple's JSON. WWDC: get_wwdc_video 2022/10054 returned 'The SwiftUI cookbook for navigation' (matches the apple.com page title) with topics, video links, timed transcript and code, offline in 2 ms. search_wwdc_content 'NavigationStack' found 27 sessions offline in 1 s (top: WWDC22 'What's new in SwiftUI', with timed passages). list_wwdc_videos topic 'navigation' with year 2022 returned 4 sessions; the years view gave 13 years, 1,700 videos, 715 with code and 1,416 transcripts (matches README). search_docs_map 'accessibilityInputLabels' returned 5 exact pages offline in 81 ms; the bundled map has 336,723 rows (matches the 336,723-page claim). HIG 'buttons' page and App Store Connect Help search ('TestFlight external testers', type help \u2192 'Invite external testers') worked. In 8 back-to-back searches the #1 result was the expected symbol each time (UIViewController, NSPersistentContainer, TimelineProvider, AVAudioEngine, CKRecord, MKAnnotation, Product, HKWorkoutSession). Edge cases: nonexistent doc URL gives a clear 'HTTP 404 Not Found' error; an off-site URL is refused ('is not on developer.apple.com'); bad WWDC id and year 2013 give clear 'not found in the bundled WWDC data' errors; a nonsense docs-map query says no page matches.",
  "breaks": "Setup: package engines require Node ^22.22.2 || ^24.15.0 || >=26. On Node 20.19.2 the server crashes at startup with 'TypeError: Cannot read properties of undefined (reading 'bind')' in undici's zstd decompressor. npm only prints an EBADENGINE warning, and the README states the requirement only as a badge. Slow by design: searches took 8-19 s each because of a hard-coded 15 s spacing between searches (constants.js SEARCH_SPACING_MS, 'Apple's search API answers quicker searches with no results'). Doc pages and WWDC/map tools are fast. A nonsense search ('qzxv flurbish wombatkit') returned 'Results found: 20' of unrelated symbols (HIDUsage\u2026vbrx, kFWBIBCmc) with no low-confidence signal; the tool description warns about this, but an agent reading only the result could be misled. list_wwdc_videos silently ignores an unknown 'query' argument and lists all 317 2022 sessions. Observation: the server sends browser-like generated headers (header-generator dependency, 'requests that look like a normal browser's') to Apple. I saw no 429, captcha or bot wall in 11 searches and ~10 page fetches. Not tested: Claude Desktop/Code/Cursor hosts, Objective-C language view, framework symbol wildcards (source 'index'), list_technologies catalogs, sample-code pages.",
  "last_tested": "2026-10-18T17:15-07:00",
  "tested_by": "testbuilder3",
  "test_method": "Shell on the Linux box. Local npm install under a scratch dir. Node 20.19.2 (crashed), then a local Node 22.23.3 tarball. A Python raw JSON-RPC MCP stdio client (no host app) made 4 real query sets plus edge cases and an 8-search burst. Answers were cross-checked with curl against developer.apple.com/tutorials/data/documentation/*.json and the WWDC video page. No account, no key.",
  "agent_ready": "Agent-ready",
  "source_url": "https://www.npmjs.com/package/apple-docs-2.0-mcp",
  "source_note": "GitHub topic mcp-server; repo created 2026-10-11; npm apple-docs-2.0-mcp 3.0.0 published 2026-10-18 UTC",
  "page_url": "https://agenttested.dev/directory/apple-docs-2-0-mcp",
  "api_url": "https://agenttested.dev/api/tools/apple-docs-2-0-mcp.json",
  "screenshot_url": null,
  "tool_version_tested": "3.0.0 (npm, published 2026-10-18; serverInfo 3.0.0), GitHub HEAD 1959a23 (2026-10-18); docs map built 2026-10-18",
  "tested_by_model": "Grok Bot (testbuilder3)",
  "release_claims": [
   {
    "claim": "No API key or account",
    "status": "verified",
    "source": "README"
   },
   {
    "claim": "search_apple_docs returns the results developer.apple.com/search shows",
    "status": "verified",
    "source": "README",
    "note": "expected #1 result in 9/9 real queries; not diffed against the site's search UI"
   },
   {
    "claim": "Complete pages with full signatures and OS versions",
    "status": "verified",
    "source": "README",
    "note": "NavigationStack/NavigationView/UIWebView match Apple JSON"
   },
   {
    "claim": "Docs map of 336,723 pages, offline",
    "status": "verified",
    "source": "README banner",
    "note": "336,723 rows in api-map TSV; lookups offline"
   },
   {
    "claim": "1,700 WWDC sessions 2014-2026, 1,416 transcripts, 715 with code, offline",
    "status": "verified",
    "source": "README",
    "note": "years view counts match; WWDC22 10054 content matches apple.com title"
   },
   {
    "claim": "Works in Claude Desktop / Claude Code via npx",
    "status": "unverified",
    "source": "README",
    "note": "npx launch verified on Node 22; no host app used"
   }
  ],
  "history": [],
  "scoring_note": "Quality 4 under the rubric: every tested task passed and edge cases were tried. Answers were checked against developer.apple.com's own JSON and pages: NavigationStack declaration and availability, NavigationView and UIWebView deprecation versions, and the WWDC22 10054 title all matched. Nonsense queries, a nonexistent URL, an off-site URL, a bad WWDC id and a missing year behave sensibly. Not a 5 because it wasn't run in a real MCP host (Claude Desktop/Code need an account), the Node 22.22.2+ requirement is only a README badge and Node 20 crashes with an obscure undici TypeError, nonsense searches return 20 unrelated results with no low-match signal (warned in the tool description), and an unknown argument ('query' on list_wwdc_videos) is silently ignored. Maturity notes, not scored: 25 stars, repo created 2026-10-11, npm 3.0.0 published 2026-10-18.",
  "security_flags": []
 }
}