Apple Dev MCP Server
# Apple Dev MCP Server π
[](https://www.npmjs.com/package/apple-dev-mcp-server)
A Model Context Protocol (MCP) server for Apple development assistance. Provides tools for fetching **live** Apple documentation directly from developer.apple.com, analyzing Xcode build errors, and checking Swift Evolution proposal status.
## β¨ Features
- **π΄ Live Documentation** - Fetches real-time documentation from Apple's official API
- **π§ Xcode Error Analysis** - Intelligent parsing and fix suggestions for build errors
- **π Swift Evolution Tracking** - Check proposal status for Swift language features
### π§ Tools
| Tool | Description |
|------|-------------|
| `fetch_latest_apple_docs` | Fetches **live** Apple Developer Documentation from developer.apple.com |
| `xcode_diagnostic_analyzer` | Analyzes Xcode build logs and provides fix-it suggestions |
| `swift_evolution_check` | Checks Swift Evolution proposal status for language features |
## π¦ Installation
### Via npm (Recommended)
```bash
npm install -g apple-dev-mcp-server
```
### Via npx (No install required)
```bash
npx apple-dev-mcp-server
```
### From Source
```bash
git clone https://github.com/erdncyz/apple-dev-mcp-server.git
cd apple-dev-mcp-server
npm install
npm run build
```
## Configuration
### For Claude Desktop
Add to your `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"apple-dev": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/Desktop/apple-dev-mcp-server/dist/index.js"]
}
}
}
```
### For VS Code with GitHub Copilot
Add to your VS Code settings (`.vscode/settings.json` or user settings):
```json
{
"github.copilot.chat.mcpServers": {
"apple-dev": {
"command": "node",
"args": ["${userHome}/Desktop/apple-dev-mcp-server/dist/index.js"]
}
}
}
```
### For Other MCP Clients
The server uses stdio transport and can be integrated with any MCP-compatible client:
```bash
node /path/to/apple-dev-mcp-server/dist/index.js
```
## Usage Examples
### Fetch Apple Documentation
```
Use the fetch_latest_apple_docs tool to get documentation for NavigationStack
```
### Analyze Build Errors
```
Use xcode_diagnostic_analyzer to analyze this error:
"cannot find type 'NavigationStack' in scope"
```
### Check Swift Evolution
```
Use swift_evolution_check to verify if 'nonisolated(unsafe)' is available in Swift 5.10
```
## π΄ Live Documentation API
This MCP server uses Apple's undocumented JSON API to fetch **real-time documentation**:
```
https://developer.apple.com/tutorials/data/documentation/{framework}/{symbol}.json
```
### Supported Frameworks
SwiftUI, UIKit, Foundation, Observation, SwiftData, Combine, RealityKit, ARKit, CoreData, CoreML, MapKit, CloudKit, HealthKit, StoreKit, AVFoundation, and more.
### Example Response
```
# π Apple Developer Documentation: NavigationStack
> β
Live documentation from developer.apple.com
**Type:** Structure
**Framework:** SwiftUI
**Availability:** iOS 16.0+, iPadOS 16.0+, macOS 13.0+, tvOS 16.0+, visionOS 1.0+, watchOS 9.0+
## Declaration
@MainActor struct NavigationStack<Data, Root> where Root : View
## Overview
A view that displays a root view and enables you to present additional views...
```
## Development
```bash
# Watch mode for development
npm run dev
# Build for production
npm run build
# Run the server
npm start
```
## Project Structure
```
apple-dev-mcp-server/
βββ src/
β βββ index.ts # Main MCP server entry point
β βββ tools/
β βββ fetch-apple-docs.ts # Live documentation fetcher
β βββ xcode-diagnostic-analyzer.ts # Build error analyzer
β βββ swift-evolution-check.ts # Swift Evolution checker
βββ dist/ # Compiled JavaScript
βββ package.json
βββ tsconfig.json
βββ README.md
```
## Requirements
- Node.js >= 18.0.0
- npm or yarn
## π License
MIT
## π Links
- [npm Package](https://www.npmjs.com/package/apple-dev-mcp-server)
- [GitHub Repository](https://github.com/erdncyz/apple-dev-mcp-server)
- [Apple Developer Documentation](https://developer.apple.com/documentation/)
---
> **Note:** This is a community tool and is not affiliated with or endorsed by Apple Inc.
TDQS
Scored across 3 tools
Each tool has a completely distinct purpose: fetching documentation, analyzing build errors, and checking Swift evolution proposals. There is no overlap or ambiguity.
All tool names follow a consistent snake_case pattern with descriptive names combining verbs and nouns (e.g., fetch_latest_apple_docs). No mixing of conventions or vague terms.
Three tools is a small but well-scoped set for an Apple development helper. Each tool covers a core area without being overly narrow, though adding a few more (e.g., simctl, provisioning) could be justified.
The tools address documentation, error diagnosis, and language evolutionβkey areas for Apple developers. Missing tools like provisioning profiles or Xcode version management are minor gaps, and the current set avoids dead ends.