@mweinbach/apple-docs-mcp 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -508
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,120 +1,15 @@
|
|
|
1
|
-
# Apple Docs MCP
|
|
1
|
+
# Apple Docs MCP
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/js/@mweinbach%2Fapple-docs-mcp)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
> **Acknowledgement**: This is a fork of [@
|
|
6
|
+
> **Acknowledgement**: This is a fork of [@kimsungwhee/apple-docs-mcp](https://github.com/kimsungwhee/apple-docs-mcp). Full credit to [kimsungwhee](https://github.com/kimsungwhee) for the original implementation.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
MCP server for Apple Developer Documentation. Search docs, browse frameworks, explore WWDC videos, and analyze APIs directly from Claude, Cursor, or any MCP-compatible assistant.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## Quick Start
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- 🔍 **Smart Search**: Intelligent search across Apple Developer Documentation for SwiftUI, UIKit, Foundation, CoreData, ARKit, and more
|
|
15
|
-
- 📚 **Complete Documentation Access**: Full access to Apple's JSON API for Swift, Objective-C, and framework documentation
|
|
16
|
-
- 🔧 **Framework Index**: Browse hierarchical API structures for iOS, macOS, watchOS, tvOS, visionOS frameworks
|
|
17
|
-
- 📋 **Technology Catalog**: Explore Apple technologies including SwiftUI, UIKit, Metal, Core ML, Vision, and ARKit
|
|
18
|
-
- 📰 **Documentation Updates**: Track WWDC 2024/2025 announcements, iOS 26, macOS 26, and latest SDK releases
|
|
19
|
-
- 🎯 **Technology Overviews**: Comprehensive guides for Swift, SwiftUI, UIKit, and all Apple development platforms
|
|
20
|
-
- 💻 **Sample Code Library**: Swift and Objective-C code examples for iOS, macOS, and cross-platform development
|
|
21
|
-
- 🎥 **WWDC Video Library**: Search WWDC 2014-2025 sessions with transcripts, Swift/SwiftUI code examples, and resources
|
|
22
|
-
- 🔗 **Related APIs Discovery**: Find SwiftUI views, UIKit controllers, and framework-specific API relationships
|
|
23
|
-
- 📊 **Platform Compatibility**: iOS 13+, macOS 10.15+, watchOS 6+, tvOS 13+, visionOS compatibility analysis
|
|
24
|
-
- ⚡ **High Performance**: Optimized for Xcode, Swift Playgrounds, and AI-powered development environments
|
|
25
|
-
- 🔄 **Smart UserAgent Pool**: Intelligent UserAgent rotation system with automatic failure recovery and performance monitoring
|
|
26
|
-
- 🌐 **Multi-Platform**: Complete iOS, iPadOS, macOS, watchOS, tvOS, and visionOS documentation support
|
|
27
|
-
- 🏷️ **Beta & Status Tracking**: iOS 26 beta APIs, deprecated UIKit methods, new SwiftUI features tracking
|
|
28
|
-
|
|
29
|
-
## 🚀 Quick Start
|
|
30
|
-
|
|
31
|
-
### Claude Desktop (Recommended)
|
|
32
|
-
|
|
33
|
-
Add this to your Claude Desktop configuration:
|
|
34
|
-
|
|
35
|
-
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
36
|
-
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"mcpServers": {
|
|
41
|
-
"apple-docs": {
|
|
42
|
-
"command": "npx",
|
|
43
|
-
"args": ["-y", "@mweinbach/apple-docs-mcp"]
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
> **Note**: If you encounter issues with an old version being used, add `@latest` to force the latest version:
|
|
50
|
-
> ```json
|
|
51
|
-
> "args": ["-y", "@mweinbach/apple-docs-mcp@latest"]
|
|
52
|
-
> ```
|
|
53
|
-
|
|
54
|
-
Restart Claude Desktop and start asking about Apple APIs!
|
|
55
|
-
|
|
56
|
-
## 📦 Installation
|
|
57
|
-
|
|
58
|
-
<details>
|
|
59
|
-
<summary><strong>📱 Claude Code</strong></summary>
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
claude mcp add apple-docs -- npx -y @mweinbach/apple-docs-mcp@latest
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
[📖 Claude Code MCP docs](https://docs.anthropic.com/en/docs/claude-code/mcp)
|
|
66
|
-
|
|
67
|
-
</details>
|
|
68
|
-
|
|
69
|
-
<details>
|
|
70
|
-
<summary><strong>🖱️ Cursor</strong></summary>
|
|
71
|
-
|
|
72
|
-
**Via Settings**: Settings → Cursor Settings → MCP → Add new global MCP server
|
|
73
|
-
|
|
74
|
-
**Via Config File**: Add to `~/.cursor/mcp.json`:
|
|
75
|
-
|
|
76
|
-
```json
|
|
77
|
-
{
|
|
78
|
-
"mcpServers": {
|
|
79
|
-
"apple-docs": {
|
|
80
|
-
"command": "npx",
|
|
81
|
-
"args": ["-y", "@mweinbach/apple-docs-mcp"]
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
[📖 Cursor MCP docs](https://docs.cursor.com/context/mcp)
|
|
88
|
-
|
|
89
|
-
</details>
|
|
90
|
-
|
|
91
|
-
<details>
|
|
92
|
-
<summary><strong>🔷 VS Code</strong></summary>
|
|
93
|
-
|
|
94
|
-
Add to your VS Code MCP config:
|
|
95
|
-
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"mcp": {
|
|
99
|
-
"servers": {
|
|
100
|
-
"apple-docs": {
|
|
101
|
-
"type": "stdio",
|
|
102
|
-
"command": "npx",
|
|
103
|
-
"args": ["-y", "@mweinbach/apple-docs-mcp"]
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
[📖 VS Code MCP docs](https://code.visualstudio.com/docs/editor/mcp)
|
|
111
|
-
|
|
112
|
-
</details>
|
|
113
|
-
|
|
114
|
-
<details>
|
|
115
|
-
<summary><strong>🌊 Windsurf</strong></summary>
|
|
116
|
-
|
|
117
|
-
Add to your Windsurf MCP config:
|
|
12
|
+
Add to your MCP config:
|
|
118
13
|
|
|
119
14
|
```json
|
|
120
15
|
{
|
|
@@ -127,434 +22,90 @@ Add to your Windsurf MCP config:
|
|
|
127
22
|
}
|
|
128
23
|
```
|
|
129
24
|
|
|
130
|
-
|
|
25
|
+
**Config locations:**
|
|
26
|
+
- Claude Desktop: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
27
|
+
- Claude Code: `claude mcp add apple-docs -- npx -y @mweinbach/apple-docs-mcp`
|
|
28
|
+
- Cursor: `~/.cursor/mcp.json`
|
|
131
29
|
|
|
132
|
-
|
|
30
|
+
## Tools
|
|
133
31
|
|
|
134
|
-
|
|
135
|
-
<summary><strong>⚡ Zed</strong></summary>
|
|
32
|
+
### Unified Tools (Recommended)
|
|
136
33
|
|
|
137
|
-
|
|
34
|
+
| Tool | Description |
|
|
35
|
+
|------|-------------|
|
|
36
|
+
| `apple_docs` | Universal entry point. Automatically routes queries to the right tool. Start here. |
|
|
37
|
+
| `wwdc` | Unified WWDC access. Browse, search, get transcripts, code examples, topics. |
|
|
38
|
+
| `analyze_api` | Unified API analysis. Related APIs, similar APIs, reference resolution. |
|
|
39
|
+
| `get_tool_guide` | Get guidance on which tool to use for a specific task. |
|
|
138
40
|
|
|
139
|
-
|
|
140
|
-
{
|
|
141
|
-
"context_servers": {
|
|
142
|
-
"Apple Docs": {
|
|
143
|
-
"command": {
|
|
144
|
-
"path": "npx",
|
|
145
|
-
"args": ["-y", "@mweinbach/apple-docs-mcp"]
|
|
146
|
-
},
|
|
147
|
-
"settings": {}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
41
|
+
### Core Tools
|
|
152
42
|
|
|
153
|
-
|
|
43
|
+
| Tool | Description |
|
|
44
|
+
|------|-------------|
|
|
45
|
+
| `search_apple_docs` | Search Apple Developer Documentation |
|
|
46
|
+
| `get_apple_doc_content` | Get detailed content from a documentation page |
|
|
47
|
+
| `list_technologies` | Browse Apple frameworks by category |
|
|
48
|
+
| `search_framework_symbols` | Search symbols within a specific framework |
|
|
49
|
+
| `get_sample_code` | Browse Apple sample code projects |
|
|
50
|
+
| `get_documentation_updates` | Track latest platform updates and new APIs |
|
|
51
|
+
| `get_technology_overviews` | Access guides and tutorials |
|
|
52
|
+
| `get_platform_compatibility` | Check API availability across platforms |
|
|
154
53
|
|
|
155
|
-
|
|
54
|
+
### Legacy Tools
|
|
156
55
|
|
|
157
|
-
|
|
158
|
-
<summary><strong>🔧 Cline</strong></summary>
|
|
56
|
+
These are kept for compatibility but the unified tools are preferred:
|
|
159
57
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
2. Search "Apple Docs MCP" → Install
|
|
58
|
+
- `get_related_apis`, `resolve_references_batch`, `find_similar_apis` → use `analyze_api`
|
|
59
|
+
- `list_wwdc_videos`, `search_wwdc_content`, `get_wwdc_video`, `get_wwdc_code_examples`, `browse_wwdc_topics`, `find_related_wwdc_videos`, `list_wwdc_years` → use `wwdc`
|
|
163
60
|
|
|
164
|
-
|
|
61
|
+
## Usage Examples
|
|
165
62
|
|
|
166
|
-
```json
|
|
167
|
-
{
|
|
168
|
-
"mcpServers": {
|
|
169
|
-
"apple-docs": {
|
|
170
|
-
"command": "npx",
|
|
171
|
-
"args": ["-y", "@mweinbach/apple-docs-mcp"],
|
|
172
|
-
"disabled": false,
|
|
173
|
-
"autoApprove": []
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
63
|
```
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
**Via Config File**: Add to `~/.aws/amazonq/mcp.json`:
|
|
185
|
-
|
|
186
|
-
```json
|
|
187
|
-
{
|
|
188
|
-
"mcpServers": {
|
|
189
|
-
"apple-docs": {
|
|
190
|
-
"command": "npx",
|
|
191
|
-
"args": ["-y", "@mweinbach/apple-docs-mcp"]
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
64
|
+
"Search SwiftUI List documentation"
|
|
65
|
+
"Show me WWDC videos about async/await"
|
|
66
|
+
"Get sample code for ARKit"
|
|
67
|
+
"What's new in iOS 18?"
|
|
68
|
+
"Find all View protocols in SwiftUI"
|
|
69
|
+
"Check platform compatibility for SwiftData"
|
|
195
70
|
```
|
|
196
71
|
|
|
197
|
-
|
|
72
|
+
## Features
|
|
198
73
|
|
|
199
|
-
|
|
74
|
+
- **Smart Search**: Search across all Apple Developer Documentation
|
|
75
|
+
- **WWDC Library**: 1,260+ sessions from 2012-2025 with transcripts and code examples (bundled, works offline)
|
|
76
|
+
- **Framework Explorer**: Browse symbols, protocols, and types in any framework
|
|
77
|
+
- **Sample Code**: Access Apple's complete sample code library
|
|
78
|
+
- **Platform Analysis**: Check API availability across iOS, macOS, watchOS, tvOS, visionOS
|
|
79
|
+
- **Compact Mode**: All tools support `compact: true` for minimal output
|
|
200
80
|
|
|
201
|
-
|
|
202
|
-
<summary><strong>🪟 Windows</strong></summary>
|
|
81
|
+
## Configuration
|
|
203
82
|
|
|
204
|
-
|
|
83
|
+
### UserAgent Pool (Optional)
|
|
205
84
|
|
|
206
|
-
```json
|
|
207
|
-
{
|
|
208
|
-
"mcpServers": {
|
|
209
|
-
"apple-docs": {
|
|
210
|
-
"command": "cmd",
|
|
211
|
-
"args": ["/c", "npx", "-y", "@mweinbach/apple-docs-mcp"],
|
|
212
|
-
"disabled": false,
|
|
213
|
-
"autoApprove": []
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
</details>
|
|
220
|
-
|
|
221
|
-
<details>
|
|
222
|
-
<summary><strong>⚙️ Advanced Installation</strong></summary>
|
|
223
|
-
|
|
224
|
-
**Global Installation**:
|
|
225
85
|
```bash
|
|
226
|
-
#
|
|
227
|
-
|
|
86
|
+
# Rotation strategy: random (default), sequential, or smart
|
|
87
|
+
export USER_AGENT_POOL_STRATEGY=smart
|
|
228
88
|
|
|
229
|
-
#
|
|
230
|
-
|
|
89
|
+
# Max retry attempts (default: 3)
|
|
90
|
+
export USER_AGENT_MAX_RETRIES=5
|
|
231
91
|
```
|
|
232
92
|
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
npx @mweinbach/apple-docs-mcp --help
|
|
236
|
-
```
|
|
93
|
+
## Development
|
|
237
94
|
|
|
238
|
-
**Development Setup**:
|
|
239
95
|
```bash
|
|
240
96
|
git clone https://github.com/mweinbach/apple-docs-mcp.git
|
|
241
97
|
cd apple-docs-mcp
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
# Using npm
|
|
247
|
-
npm install && npm run build
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
</details>
|
|
251
|
-
|
|
252
|
-
## 💬 Usage Examples
|
|
253
|
-
|
|
254
|
-
### 🔍 Smart Search
|
|
255
|
-
```
|
|
256
|
-
"Search for SwiftUI animations"
|
|
257
|
-
"Find withAnimation API documentation"
|
|
258
|
-
"Look up async/await patterns in Swift"
|
|
259
|
-
"Show me UITableView delegate methods"
|
|
260
|
-
"Search Core Data NSPersistentContainer examples"
|
|
261
|
-
"Find AVFoundation video playback APIs"
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### 📚 Documentation Access
|
|
265
|
-
```
|
|
266
|
-
"Get detailed information about the SwiftUI framework"
|
|
267
|
-
"Show me withAnimation API with related APIs"
|
|
268
|
-
"Get platform compatibility for SwiftData"
|
|
269
|
-
"Access UIViewController documentation with similar APIs"
|
|
270
|
-
"Show me NSManagedObjectContext documentation"
|
|
271
|
-
"Get URLSession async/await methods"
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### 🔧 Framework Exploration
|
|
275
|
-
```
|
|
276
|
-
"Show me SwiftUI framework API index"
|
|
277
|
-
"List all UIKit classes and methods"
|
|
278
|
-
"Browse ARKit framework structure"
|
|
279
|
-
"Get WeatherKit API hierarchy"
|
|
280
|
-
"Explore Core ML model loading APIs"
|
|
281
|
-
"Show Vision framework image analysis APIs"
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
### 🔗 API Discovery
|
|
285
|
-
```
|
|
286
|
-
"Find APIs related to UIViewController"
|
|
287
|
-
"Show me similar APIs to withAnimation"
|
|
288
|
-
"Get all references from SwiftData documentation"
|
|
289
|
-
"Discover alternatives to Core Data NSManagedObject"
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
### 📋 Technology & Platform Analysis
|
|
293
|
-
```
|
|
294
|
-
"List all Beta frameworks in iOS 26"
|
|
295
|
-
"Show me Graphics & Games technologies"
|
|
296
|
-
"What machine learning frameworks are available?"
|
|
297
|
-
"Analyze platform compatibility for Vision framework"
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
### 📰 Documentation Updates
|
|
301
|
-
```
|
|
302
|
-
"Show me the latest WWDC updates"
|
|
303
|
-
"What's new in SwiftUI?"
|
|
304
|
-
"Get technology updates for iOS"
|
|
305
|
-
"Show me release notes for Xcode"
|
|
306
|
-
"Find beta features in the latest updates"
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
### 🎯 Technology Overviews
|
|
310
|
-
```
|
|
311
|
-
"Show me technology overviews for app design and UI"
|
|
312
|
-
"Get comprehensive guides for games development"
|
|
313
|
-
"Explore AI and machine learning overviews"
|
|
314
|
-
"Show me iOS-specific technology guides"
|
|
315
|
-
"Get data management technology overviews"
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### 💻 Sample Code Library
|
|
319
|
-
```
|
|
320
|
-
"Show SwiftUI sample code projects"
|
|
321
|
-
"Find sample code for machine learning"
|
|
322
|
-
"Get UIKit example projects"
|
|
323
|
-
"Show featured WWDC sample code"
|
|
324
|
-
"Find Core Data sample implementations"
|
|
325
|
-
"Show only beta sample code projects"
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
### 🎥 WWDC Video Search
|
|
329
|
-
```
|
|
330
|
-
"Search WWDC videos about SwiftUI"
|
|
331
|
-
"Find WWDC sessions on machine learning"
|
|
332
|
-
"Show me WWDC 2024 videos"
|
|
333
|
-
"Search for async/await WWDC talks"
|
|
334
|
-
"Find WWDC videos about Swift concurrency"
|
|
335
|
-
"Show accessibility-focused WWDC sessions"
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
### 📺 WWDC Video Details
|
|
339
|
-
```
|
|
340
|
-
"Get details for WWDC session 10176"
|
|
341
|
-
"Show me the transcript for WWDC23 session on SwiftData"
|
|
342
|
-
"Get code examples from WWDC video 10019"
|
|
343
|
-
"Show resources from Vision Pro WWDC session"
|
|
344
|
-
"Get transcript for 'Meet async/await in Swift' session"
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
### 📋 WWDC Topics & Years
|
|
348
|
-
```
|
|
349
|
-
"List all WWDC topics"
|
|
350
|
-
"Show me Swift topic WWDC videos"
|
|
351
|
-
"Get WWDC videos about developer tools"
|
|
352
|
-
"List WWDC videos from 2023"
|
|
353
|
-
"Show all SwiftUI and UI frameworks sessions"
|
|
354
|
-
"Get machine learning WWDC content"
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
### 🛠️ Advanced Usage
|
|
358
|
-
```
|
|
359
|
-
"Find related APIs for @State with platform analysis"
|
|
360
|
-
"Resolve all references from SwiftUI documentation"
|
|
361
|
-
"Get platform compatibility analysis for Vision framework"
|
|
362
|
-
"Find similar APIs to UIViewController with deep search"
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
## 🛠️ Available Tools
|
|
366
|
-
|
|
367
|
-
| Tool | Description | Key Features |
|
|
368
|
-
|------|-------------|--------------|
|
|
369
|
-
| `search_apple_docs` | Search Apple Developer Documentation | Official search API, find specific APIs, classes, methods |
|
|
370
|
-
| `get_apple_doc_content` | Get detailed documentation content | JSON API access, optional enhanced analysis (related/similar APIs, platform compatibility) |
|
|
371
|
-
| `list_technologies` | Browse all Apple technologies | Category filtering, language support, beta status |
|
|
372
|
-
| `search_framework_symbols` | Search symbols in specific framework | Classes, structs, protocols, wildcard patterns, type filtering |
|
|
373
|
-
| `get_related_apis` | Find related APIs | Inheritance, conformance, "See Also" relationships |
|
|
374
|
-
| `resolve_references_batch` | Batch resolve API references | Extract and resolve all references from documentation |
|
|
375
|
-
| `get_platform_compatibility` | Platform compatibility analysis | Version support, beta status, deprecation info |
|
|
376
|
-
| `find_similar_apis` | Discover similar APIs | Apple's official recommendations, topic groupings |
|
|
377
|
-
| `get_documentation_updates` | Track Apple documentation updates | WWDC announcements, technology updates, release notes |
|
|
378
|
-
| `get_technology_overviews` | Get technology overviews and guides | Comprehensive guides, hierarchical navigation, platform filtering |
|
|
379
|
-
| `get_sample_code` | Browse Apple sample code projects | Framework filtering (with limitations), keyword search, beta status |
|
|
380
|
-
| `search_wwdc_videos` | Search WWDC video sessions | Keyword search, topic/year filtering, session metadata |
|
|
381
|
-
| `get_wwdc_video_details` | Get WWDC video details with transcript | Full transcripts, code examples, resources, platform info |
|
|
382
|
-
| `list_wwdc_topics` | List all available WWDC topics | 19 topic categories from Swift to Spatial Computing |
|
|
383
|
-
| `list_wwdc_years` | List all available WWDC years | Conference years with video counts |
|
|
384
|
-
|
|
385
|
-
## 🏗️ Technical Architecture for Apple Developer Documentation Access
|
|
386
|
-
|
|
387
|
-
```
|
|
388
|
-
apple-docs-mcp/
|
|
389
|
-
├── 🔧 src/
|
|
390
|
-
│ ├── index.ts # MCP server entry point with all tools
|
|
391
|
-
│ ├── tools/ # MCP tool implementations
|
|
392
|
-
│ │ ├── search-parser.ts # HTML search result parsing
|
|
393
|
-
│ │ ├── doc-fetcher.ts # JSON API documentation fetching
|
|
394
|
-
│ │ ├── list-technologies.ts # Technology catalog handling
|
|
395
|
-
│ │ ├── get-documentation-updates.ts # Documentation updates tracking
|
|
396
|
-
│ │ ├── get-technology-overviews.ts # Technology overviews and guides
|
|
397
|
-
│ │ ├── get-sample-code.ts # Sample code library browser
|
|
398
|
-
│ │ ├── get-framework-index.ts # Framework structure indexing
|
|
399
|
-
│ │ ├── get-related-apis.ts # Related API discovery
|
|
400
|
-
│ │ ├── resolve-references-batch.ts # Batch reference resolution
|
|
401
|
-
│ │ ├── get-platform-compatibility.ts # Platform analysis
|
|
402
|
-
│ │ ├── find-similar-apis.ts # Similar API recommendations
|
|
403
|
-
│ │ └── wwdc/ # WWDC video tools
|
|
404
|
-
│ │ ├── wwdc-handlers.ts # WWDC tool handlers
|
|
405
|
-
│ │ ├── content-extractor.ts # Video content extraction
|
|
406
|
-
│ │ ├── topics-extractor.ts # Topic listing
|
|
407
|
-
│ │ └── video-list-extractor.ts # Video list parsing
|
|
408
|
-
│ └── utils/ # Utility functions and helpers
|
|
409
|
-
│ ├── cache.ts # Memory cache with TTL support
|
|
410
|
-
│ ├── constants.ts # Application constants and URLs
|
|
411
|
-
│ ├── error-handler.ts # Error handling and validation
|
|
412
|
-
│ ├── http-client.ts # HTTP client with performance tracking
|
|
413
|
-
│ ├── user-agent-pool.ts # Smart UserAgent rotation system
|
|
414
|
-
│ ├── http-headers-generator.ts # Dynamic browser headers generation
|
|
415
|
-
│ └── url-converter.ts # URL conversion utilities
|
|
416
|
-
├── 📦 dist/ # Compiled JavaScript
|
|
417
|
-
├── 📄 package.json # Package configuration
|
|
418
|
-
└── 📖 README.md # This file
|
|
98
|
+
bun install
|
|
99
|
+
bun run build
|
|
100
|
+
bun run test
|
|
419
101
|
```
|
|
420
102
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
- **Memory-Based Caching**: Custom cache implementation with automatic cleanup and TTL support
|
|
424
|
-
- **Smart UserAgent Pool**: Intelligent rotation system with automatic failure recovery and performance monitoring
|
|
425
|
-
- **Dynamic Headers**: Realistic browser headers generation (Accept, Accept-Language, User-Agent)
|
|
426
|
-
- **Smart Search**: Official Apple search API with enhanced result formatting
|
|
427
|
-
- **Enhanced Analysis**: Optional related APIs, platform compatibility, and similarity analysis
|
|
428
|
-
- **Error Resilience**: Graceful degradation with comprehensive error handling
|
|
429
|
-
- **Type Safety**: Full TypeScript with Zod v4.0.5 runtime validation
|
|
430
|
-
- **Latest Dependencies**: MCP SDK v1.15.1, optimized package footprint
|
|
431
|
-
|
|
432
|
-
### 💾 Caching Strategy
|
|
433
|
-
|
|
434
|
-
| Content Type | Cache Duration | Cache Size | Reason |
|
|
435
|
-
|--------------|----------------|------------|--------|
|
|
436
|
-
| API Documentation | 30 minutes | 500 entries | Frequently accessed, moderate updates |
|
|
437
|
-
| Search Results | 10 minutes | 200 entries | Dynamic content, user-specific |
|
|
438
|
-
| Framework Indexes | 1 hour | 100 entries | Stable structure, less frequent changes |
|
|
439
|
-
| Technologies List | 2 hours | 50 entries | Rarely changes, large content |
|
|
440
|
-
| Documentation Updates | 30 minutes | 100 entries | Regular updates, WWDC announcements |
|
|
441
|
-
|
|
442
|
-
## 📦 WWDC Data
|
|
443
|
-
|
|
444
|
-
All WWDC video data (2014-2025) is **bundled directly in the npm package**, providing:
|
|
445
|
-
|
|
446
|
-
- ✅ **Zero network latency** - No API calls needed for WWDC content
|
|
447
|
-
- ✅ **100% offline access** - Works without internet connection
|
|
448
|
-
- ✅ **No rate limits** - Unlimited WWDC searches and browsing
|
|
449
|
-
- ✅ **Instant responses** - All data is locally available
|
|
450
|
-
|
|
451
|
-
The package includes:
|
|
452
|
-
- 📹 **1,260+ WWDC session videos** with full transcripts
|
|
453
|
-
- 🏷️ **20 topic categories** for organized browsing
|
|
454
|
-
- 📅 **13 years of content** (2012-2025)
|
|
455
|
-
- 💾 **35MB of optimized JSON data**
|
|
456
|
-
|
|
457
|
-
> **Note**: Keep your package updated to get the latest WWDC content additions.
|
|
458
|
-
|
|
459
|
-
## ⚙️ Configuration
|
|
460
|
-
|
|
461
|
-
### 🔄 UserAgent Pool Configuration
|
|
462
|
-
|
|
463
|
-
The MCP server includes an intelligent UserAgent rotation system to improve API reliability:
|
|
464
|
-
|
|
465
|
-
#### Environment Variables
|
|
466
|
-
|
|
467
|
-
| Variable | Description | Default | Example |
|
|
468
|
-
|----------|-------------|---------|---------|
|
|
469
|
-
| `USER_AGENT_ROTATION_ENABLED` | Enable/disable rotation | `true` | `true` |
|
|
470
|
-
| `USER_AGENT_POOL_STRATEGY` | Rotation strategy | `random` | `smart` |
|
|
471
|
-
| `USER_AGENT_MAX_RETRIES` | Max retry attempts | `3` | `5` |
|
|
472
|
-
| `USER_AGENT_POOL_CONFIG` | Custom pool config (JSON) | Built-in agents | See below |
|
|
473
|
-
|
|
474
|
-
#### Custom Pool Configuration
|
|
475
|
-
|
|
476
|
-
```bash
|
|
477
|
-
# Configure custom UserAgent pool
|
|
478
|
-
export USER_AGENT_POOL_CONFIG='[
|
|
479
|
-
{"userAgent": "MyApp/1.0 (compatible)", "weight": 3, "maxUsageCount": 1000},
|
|
480
|
-
{"userAgent": "MyApp/2.0 (advanced)", "weight": 2, "maxUsageCount": 800}
|
|
481
|
-
]'
|
|
482
|
-
|
|
483
|
-
# Set rotation strategy (random/sequential/smart)
|
|
484
|
-
export USER_AGENT_POOL_STRATEGY=smart
|
|
485
|
-
|
|
486
|
-
# Enable debugging
|
|
487
|
-
export NODE_ENV=development
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
#### Available Strategies
|
|
491
|
-
|
|
492
|
-
- **`random`**: Fast random selection (best performance)
|
|
493
|
-
- **`sequential`**: Round-robin rotation (predictable order)
|
|
494
|
-
- **`smart`**: Success rate optimization (best reliability)
|
|
495
|
-
|
|
496
|
-
#### Built-in UserAgents
|
|
497
|
-
|
|
498
|
-
The server includes 12+ pre-configured UserAgent strings covering:
|
|
499
|
-
- Chrome (Mac Intel/Apple Silicon, Windows, Linux)
|
|
500
|
-
- Firefox (Mac Intel/Apple Silicon, Windows, Linux)
|
|
501
|
-
- Safari (Mac Intel/Apple Silicon, latest versions)
|
|
502
|
-
- Edge (Windows, Mac Intel/Apple Silicon)
|
|
503
|
-
|
|
504
|
-
## 🧪 Development
|
|
505
|
-
|
|
506
|
-
### Quick Commands
|
|
507
|
-
|
|
508
|
-
```bash
|
|
509
|
-
# Development with auto-reload
|
|
510
|
-
pnpm run dev # or: npm run dev
|
|
511
|
-
|
|
512
|
-
# Build for production
|
|
513
|
-
pnpm run build # or: npm run build
|
|
514
|
-
|
|
515
|
-
# Type checking
|
|
516
|
-
pnpm exec tsc --noEmit # or: npx tsc --noEmit
|
|
517
|
-
|
|
518
|
-
# Clean build artifacts
|
|
519
|
-
pnpm run clean # or: npm run clean
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
### Testing Locally
|
|
523
|
-
|
|
524
|
-
```bash
|
|
525
|
-
# Test the MCP server directly
|
|
526
|
-
node dist/index.js
|
|
527
|
-
|
|
528
|
-
# Test with sample queries
|
|
529
|
-
npx @mweinbach/apple-docs-mcp --test
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
## 🤝 Contributing
|
|
533
|
-
|
|
534
|
-
Contributions are welcome! Here's how to get started:
|
|
535
|
-
|
|
536
|
-
1. **Fork** the repository
|
|
537
|
-
2. **Create** a feature branch: `git checkout -b feature/amazing-feature`
|
|
538
|
-
3. **Commit** your changes: `git commit -m 'Add amazing feature'`
|
|
539
|
-
4. **Push** to the branch: `git push origin feature/amazing-feature`
|
|
540
|
-
5. **Open** a Pull Request
|
|
541
|
-
|
|
542
|
-
## 📄 License
|
|
103
|
+
## License
|
|
543
104
|
|
|
544
105
|
MIT License - see [LICENSE](LICENSE) for details.
|
|
545
106
|
|
|
546
|
-
## ⚠️ Disclaimer
|
|
547
|
-
|
|
548
|
-
This project is not affiliated with or endorsed by Apple Inc. It uses publicly available Apple Developer Documentation APIs for educational and development purposes.
|
|
549
|
-
|
|
550
107
|
---
|
|
551
108
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
**Made with ❤️ for the Apple Developer Community**
|
|
555
|
-
|
|
556
|
-
Search Apple Developer Documentation | iOS Development | macOS Development | Swift Programming | SwiftUI | UIKit | Xcode | WWDC Videos | Model Context Protocol | MCP Server
|
|
557
|
-
|
|
558
|
-
[Report Issues](https://github.com/mweinbach/apple-docs-mcp/issues) • [Request Features](https://github.com/mweinbach/apple-docs-mcp/issues/new) • [Documentation](https://github.com/mweinbach/apple-docs-mcp)
|
|
109
|
+
**Not affiliated with Apple Inc.** Uses publicly available Apple Developer Documentation APIs.
|
|
559
110
|
|
|
560
|
-
|
|
111
|
+
[Report Issues](https://github.com/mweinbach/apple-docs-mcp/issues)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mweinbach/apple-docs-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MCP server for Apple Developer Documentation - Search iOS/macOS/SwiftUI/UIKit docs, WWDC videos, Swift/Objective-C APIs & code examples in Claude, Cursor & AI assistants",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|