关于 Apple Docs 2.0 MCP
Apple Docs 2.0 MCP 为 AI 助手提供 Apple 开发文档、Human Interface Guidelines、App Store Connect 帮助和 WWDC 资料。它结合文档搜索、离线页面索引、完整 API 页面和带时间标记的会话内容,适用于开发 Apple 平台应用的团队。
主要功能
- 01搜索 Apple 文档与 WWDC
- 02按名称离线查找文档页面
- 03读取完整 API 与指南页面
- 04浏览框架和技术目录
- 05查询 WWDC 字幕与代码示例
适用场景
- 01查找 Swift 或 Objective-C API
- 02了解 Human Interface Guidelines
- 03探索框架及 API 关联
- 04检索 WWDC 会话和代码
MCP 相关
它通过 MCP 向客户端提供 Apple 文档搜索、页面读取、技术目录查询和 WWDC 检索工具。文档工具访问 developer.apple.com;WWDC 数据和文档映射可离线查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
19收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | enum | 否 | 用于筛选的内容类型。"all":文档、设计指南、示例代码项目和 WWDC 会话;"documentation":API 参考和指南;"design":人机界面指南;"sample":示例代码项目;"help":App Store Connect 帮助(产品页面字段、审核、TestFlight、定价)。默认值:"all"。all | documentation | design | sample | help |
| query | string | 是 | Apple Developer Documentation 的搜索查询。提示:使用具体的 API 名称(例如,"UIViewController")、框架名称(例如,"SwiftUI")或技术术语。避免使用 "how to" 或 "tutorial" 等通用词。示例:"NSPredicate"、"SwiftUI List"、"Core Data migration"、"URLSession authentication"。 |
详细介绍
Apple Docs 2.0 MCP
一个 MCP,涵盖 Apple 开发者文档、设计指南和 WWDC 会议。
正在使用 Agent 构建下一个 iOS 应用?先让它阅读 Apple 官方文档:减少重写,也减少中断。
快速开始 · 新增内容 · 安装 · 使用示例 · 工具 · 架构 · 开发
npx -y apple-docs-2.0-mcp
通过 Model Context Protocol 为 AI 助手提供 Apple 开发者文档:API 参考、文章、示例 代码、教程、人机界面指南、App Store Connect 帮助、Web 服务 API(App Store Connect API、App Store Server API 等),以及 1,700 场附带文字记录和代码的 WWDC 会议;可在 Claude、Cursor、VS Code 或任何 MCP 客户端中使用。
Apple Docs 2.0 MCP 是 kimsungwhee 的 Apple Docs MCP 分支, 加入了新增功能、修复和一个新工具。
🚀 快速开始
Claude Desktop(推荐)
将以下内容添加到 Claude Desktop 配置中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"apple-docs": {
"command": "npx",
"args": ["-y", "apple-docs-2.0-mcp"]
}
}
}
注意:如果遇到使用旧版本的问题,请添加
@latest以强制使用最新版本:"args": ["-y", "apple-docs-2.0-mcp@latest"]
重启 Claude Desktop,然后开始询问 Apple API!
Claude Code
claude mcp add apple-docs -- npx -y apple-docs-2.0-mcp
向你的 Agent 提问
Look up NavigationStack in Apple's docs, then show me the WWDC code that uses it.
🆕 2.0 版新增内容
Apple Docs 2.0 MCP 保留了 Apple Docs MCP 1.0.26 的全部功能,并修复了失效或返回不完整内容的问题, 让助手基于 Apple 官方文档回答,而不是凭空猜测。
🔍 搜索现在能返回结果
search_apple_docs 已修复:现在使用与 Apple 网站相同的搜索服务,因此助手能获取你在 developer.apple.com 上看到的
结果:API 参考、文章、示例代码、设计指南、App Store Connect 帮助和 WWDC 视频。原版的搜索会返回空结果,因为 Apple 更改了其搜索页面。
询问 API、设计指南或 App Store 流程时,助手会先进行搜索,再阅读找到的页面。
🗺️ 按名称查找任意页面
新增工具 search_docs_map,可离线按名称或名称片段查找 336,723 个页面中的任意一个:
- API 符号:类型、方法、属性、枚举项、宏
- 文章和示例代码
- Info.plist 和授权键
- Web 服务端点,例如 App Store Connect API 的端点
- 人机界面指南和 App Store Connect 帮助页面
如果你已从代码或错误消息中得知名称,可使用此工具直接打开对应页面。
📄 完整文档页面
页面内容完整呈现,如同 Apple 网站上的页面:每个方法和属性都包含完整签名
(var view: UIView!,而不只是 view)、类型继承自什么以及遵循哪些协议、相关 API,以及支持该 API 的 OS 版本。2.0 还会读取《人机界面指南》、教程、App Store Connect 帮助,以及包含参数和响应的 App Store
Connect API 端点。
询问任何 API、指南或 App Store Connect 主题,助手都会先读取完整页面,再作答或编写代码。
🎥 2014–2026 年 WWDC,包含代码
内置 1,700 场 session,包括 WWDC26,并支持离线使用:其中 1,416 场提供逐字稿,每段都标注开始时间;480 场提供章节;715 场提供代码示例,每个示例都标注其在视频中出现的时间。Session 按照 Apple 网站上的相同主题分类。
询问某个新 API 的工作原理,助手可以引用介绍该 API 的 WWDC session 及其代码。
📋 完整的框架列表
原版的技术列表在 200 项后就停止了,因此 Graphics and Games、Media、System、Web 等整个类别都没有出现,而且符号搜索会混入带有损坏链接的标题。2.0 列出所有内容,标记 Beta 框架,并可按主题查找框架:“机器学习”会返回 Core ML、Create ML、Foundation Models、Vision 等。
询问哪些框架适合某项任务(例如机器学习或音频),助手会比较完整列表中的框架。
🛠️ 持续可靠运行
依赖项保持最新;请求看起来与普通浏览器的请求无异,并会等待轮到自己(Apple 在请求过快时会返回空的搜索结果);请求失败时自动重试;并包含 207 项自动化测试。原版 README 中的全部 63 个用法示例均可无错误运行。
无需任何设置:不需要 API 密钥或账户。
✨ 功能
- 🔍 搜索:在一次搜索中查找 Apple 文档、设计指南、示例代码、App Store Connect 帮助和 WWDC session,也可只搜索其中一项
- 🗺️ 文档地图:无需网络请求,即可按标题查找任何页面,甚至包括方法或属性名称
- 📚 文档页面:以 Markdown 格式呈现 Swift 和 Objective-C API、文章、教程及 Web 服务参考
- 🎨 人机界面指南:可搜索并阅读所有 HIG 页面
- 🏪 App Store Connect 帮助:产品页面字段、审核、TestFlight、定价
- 🔧 框架符号:通过通配符浏览框架中的类、结构体、协议和成员
- 🔗 API 关系:相关、相似及引用的 API,以及已弃用 API 的替代项
- 📊 平台兼容性:API 在各个平台引入和弃用的版本
- 📋 技术目录:按类别列出所有 Apple 框架和技术,并标记 Beta 项
- 📰 文档更新:发行说明、框架更新和 WWDC「新增内容」页面
- 🎯 技术概览:Apple 关于应用设计、游戏、AI 和机器学习、数据等方面的指南
- 💻 示例代码:所有示例项目按 Apple 搜索结果排名;还可按框架或章节查看示例代码库,其中包含摘要和下载链接
- 🎥 WWDC 资料库:2014 至 2026 年的 1,700 场 session,包含逐字稿、带时间戳的代码示例、资源和相关 session,支持离线使用
📦 安装
🖱️ Cursor
添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"apple-docs": {
"command": "npx",
"args": ["-y", "apple-docs-2.0-mcp"]
}
}
}
🔷 VS Code
添加到工作区根目录下的 .mcp.json,这是 VS Code 的可移植格式:
{
"mcpServers": {
"apple-docs": {
"command": "npx",
"args": ["-y", "apple-docs-2.0-mcp"]
}
}
}
⚡ Zed
添加到 Zed 的 settings.json:
{
"context_servers": {
"apple-docs": {
"command": "npx",
"args": ["-y", "apple-docs-2.0-mcp"],
"env": {}
}
}
}
💬 使用示例
🔍 搜索
"Search for SwiftUI animations"
"Find withAnimation API documentation"
"Search the Human Interface Guidelines for tab bars"
"Search App Store Connect Help for TestFlight external testers"
"Find sample code for Core Data"
🗺️ 文档地图
"Find the page for accessibilityInputLabels"
"Which SwiftUI pages have gauge in their title?"
"Find the App Store Connect API endpoint to create an auto-renewable subscription"
📚 访问文档
"Get detailed information about the SwiftUI framework"
"Show me withAnimation API with related APIs"
"Show me NSManagedObjectContext documentation"
"Read the Human Interface Guidelines page on tab bars"
"Show the steps of the SwiftUI tutorial"
🔧 探索框架
"Show me SwiftUI views"
"List all UIKit delegate protocols"
"Get WeatherKit API hierarchy"
"Explore Core ML model loading APIs"
🔗 API 发现
"Find APIs related to UIViewController"
"Discover alternatives to UIAlertView"
"Get all references from SwiftData documentation"
"Get platform compatibility for SwiftData"
📋 技术、更新与概览
"What machine learning frameworks are available?"
"Which technologies are in beta?"
"What's new in SwiftUI?"
"Show me release notes for Xcode"
"Get data management technology overviews"
💻 示例代码
"Show SwiftUI sample code projects"
"Find sample code for machine learning"
"Get the Food Truck sample"
🎥 WWDC
"Search WWDC videos about SwiftUI"
"Find WWDC sessions on machine learning"
"Show me WWDC 2026 videos"
"Search WWDC transcripts for async/await"
"Show me the transcript for WWDC23 Meet SwiftData"
"Get code examples from WWDC sessions that use SwiftData"
"Find sessions related to WWDC23 Meet SwiftData"
"List all WWDC topics"
🛠️ 可用工具
| 工具 | 返回内容 |
|---|---|
search_apple_docs | 按 Apple 的排序返回 Apple 搜索结果,每项包含标题、Apple 的类别、框架、一行摘要和链接:文档、设计指南、示例代码、App Store Connect 帮助和 WWDC 会议;type 可像 Apple 搜索页的筛选器一样搜索其中一种 |
search_docs_map 🆕 | 标题包含指定文本的页面(不区分大小写),按标题长度从短到长排列,每项包含类别、Beta 或 Deprecated 标记、技术、所属页面和链接;可选限定在特定技术(按名称或 ID;包含其侧边栏列出的所有页面)或某一种类别中。source: "index" 则改为实时读取一个框架的侧边栏,并匹配通配符 |
get_apple_doc_content | 以 Markdown 格式返回一个文档页面,内容从其 JSON 渲染而来,可选 Swift 或 Objective-C:摘要、所有声明及其重载、概览、代码、提及该页面的文章、属性列表键的详情、包含每个成员的声明和摘要的 Topics、Relationships、See Also,以及 Apple 注释中的可用性;还包括 Web 服务端点的 URL、参数、正文和响应,教程各步骤的代码和项目文件,示例的下载链接,以及 App Store Connect 帮助文章。view 可返回 API 页面的一部分:"related"、"similar"(替代方案,优先列出弃用说明中提到的页面)、"references"(该页面链接到的页面及其摘要)或 "availability" |
list_technologies | Apple 的四种目录:按类别列出所有框架和技术及其摘要;示例代码库(精选示例优先);Updates 页面中的发行说明和更新页面;Technology Overviews 中的合集和文章。前两项会给出包含完整目录的 TSV 文件名称 |
list_wwdc_videos | 某一年或某个主题的 WWDC 会议,或标题或主题名称包含指定文本的会议,每项包含链接、主题,以及是否有文字稿和代码;view: "years" 统计各年的会议数,view: "topics" 列出主题或某个主题下的会议 |
search_wwdc_content | 按原样匹配文字稿或代码中包含指定文本的 WWDC 会议,按匹配次数从多到少排列;每段内容均附有起始时间;view: "examples" 则改为列出包含指定文本的代码示例;还会提供包含所有会议文本的文件夹名称 |
get_wwdc_video | 一个 WWDC 会议及其链接和下载内容、章节、带时间戳的文字稿、带时间戳的代码示例和相关会议;view: "related" 会列出 Apple 与其关联的会议,其后是主题重合最多的会议 |
文档工具会从 developer.apple.com 获取内容;WWDC 工具读取内置数据,search_docs_map 读取文档地图,这两者都不会发起网络请求。
🏗️ 架构
Apple-Docs-2.0-MCP/
├── src/
│ ├── index.ts # MCP server and its search guide
│ ├── tools/
│ │ ├── handlers.ts # Tool registration
│ │ ├── search-api.ts # Apple's search API
│ │ ├── search-docs-map.ts # Docs map search
│ │ ├── doc-fetcher.ts # Pages from Swift-DocC JSON
│ │ ├── doc-formatter.ts # Markdown rendering
│ │ ├── help-pages.ts # App Store Connect Help (jsdom, turndown)
│ │ ├── list-technologies.ts # Technology catalog
│ │ ├── search-framework-symbols.ts
│ │ ├── get-related-apis.ts, find-similar-apis.ts, resolve-references-batch.ts, get-platform-compatibility.ts
│ │ ├── get-documentation-updates.ts, get-technology-overviews.ts, get-sample-code.ts
│ │ └── wwdc/ # WWDC tools and the session, topic and year extractors
│ ├── types/ # Generated from Swift-DocC's specs and captured responses
│ └── utils/ # HTTP client, caches, constants, URL conversion
├── scripts/
│ ├── add-wwdc-year.ts # Adds or refreshes a WWDC year in data/wwdc
│ ├── build-docs-map.ts # Builds api-map/apple-docs-map.tsv
│ └── capture-responses.ts # Captures responses to type them
├── data/wwdc/ # The bundled WWDC sessions
├── api-map/ # The docs map, Apple's search API (OpenAPI) and captured responses
└── tests/ # Vitest
🌐 请求与缓存
每个请求都通过一个 HTTP 客户端发出:使用 Safari 的标头调用 fetch,每分钟最多 100 个请求;搜索逐个进行,间隔 15 秒,因为 Apple 对间隔更短的搜索会返回无结果。每次尝试的超时时间为 2 分钟;遇到网络错误、超时和 5xx 响应时,最多重试 3 次并采用退避策略。
Apple 的 JSON 会按 URL 原样缓存,并由所有工具共享:其他工具刚读取过的页面不会再次下载,同时对同一 URL 的并发请求会共用一次下载。
| 内容 | 缓存时长 |
|---|---|
| 页面、目录页面和技术列表 | 30 分钟 |
| 侧边栏(框架和目录索引) | 1 小时 |
| 文档映射,已解析 | 使用期间;闲置 30 分钟后释放 |
| 搜索 | 不缓存 |
📦 WWDC 数据
WWDC 会议内容打包在 data/wwdc/ 中,因此 WWDC 工具可离线使用,且不受速率限制:
- 📹 1,700 场会议,涵盖 2014 至 2026 年;其中 1,416 场附有文字稿,每段均标注时间(Apple 不再列出的仅有 6 场);715 场附有代码示例,480 场附有章节
- 🏷️ 19 个主题,取自 Apple 的主题页面
- 💾 48 MB 的 JSON
npx tsx scripts/add-wwdc-year.ts <year> 可从 Apple 页面添加或刷新某一年的数据;对于 Apple 不再列出的会议,会保留其已存储的数据。
🗺️ 文档映射
api-map/apple-docs-map.tsv 列出了 336,723 个页面(URL、标题、类型、技术、分组、树、技术 ID、Beta 或 Deprecated 标记,以及侧边栏中列出该页面的其他技术),数据来自 Apple 的导航索引、《人机界面指南》和 App Store Connect 帮助的导航内容。search_docs_map 会在使用期间将其保留在内存中。运行 npx tsx scripts/build-docs-map.ts api-map/apple-docs-map.tsv,约 10 分钟即可重新生成。
🧪 开发
git clone https://github.com/mishafyi/Apple-Docs-2.0-MCP.git
cd Apple-Docs-2.0-MCP
npx pnpm@10 install
npx pnpm@10 run build # tsc into dist/
# Run your build in Claude Code in place of the npm package
claude mcp add apple-docs -- node "$PWD/dist/index.js"
# Checks: types (server and scripts), lint and tests
npx tsc --noEmit && npx tsc -p scripts && npx eslint src scripts && npx vitest run
# Call the built server without an MCP client
npx -y @modelcontextprotocol/inspector --cli node dist/index.js --method tools/call \
--tool-name search_apple_docs --tool-args-json '{"query":"tab bars","type":"design"}'
# Regenerate the types of Apple's JSON
npm run types:docc # from Swift-DocC's RenderNode and RenderIndex specs
npm run types:captured # from captured responses (quicktype)
构建完成后,在 MCP 客户端中重启或重新连接服务。
🙏 致谢
Apple Docs 2.0 MCP 基于 Apple Docs MCP 构建。该项目最初采用了 kimsungwhee 提供的工具、WWDC 数据和结构。
🤝 参与贡献
欢迎贡献:
- Fork 此仓库
- 创建 功能分支:
git checkout -b feature/amazing-feature - 提交 更改:
git commit -m 'Add amazing feature' - 推送 到分支:
git push origin feature/amazing-feature - 发起 Pull Request
📄 许可证
MIT 许可证,与原项目相同:请参阅 LICENSE。
⚠️ 免责声明
本项目与 Apple Inc. 无关,也未获得其认可。本项目读取 Apple 公开提供的开发者文档,仅用于教育和开发目的。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。