🚀 Apple Doc MCP
Apple Doc MCPは、AIコーディングアシスタント内で直接Appleの開発者ドキュメントにシームレスにアクセスできるようにする、モデルコンテキストプロトコル(MCP)サーバーです。
📋 変更履歴
1.0.1 更新
- 🎯 インテリジェントフォールバックシステム:シンボルではなくフレームワークを検索する場合(例:「SwiftUI」)、サーバーは有用なフレームワーク情報と正しい使用方法のガイダンスを提供するようになりました。
- 🔧 ツールの統合:4つのツールから4つの重点的なツールに合理化されました。
list_technologies
- すべてのAppleフレームワークを閲覧する
get_documentation
- シンボルまたはフレームワークのドキュメントを取得する(自動的に両方を処理する)
search_symbols
- ワイルドカードとフィルターを使用して検索する
check_updates
- gitを介してリポジトリの更新を確認する
- 🚀 事前ビルド配布:手動でのビルドが不要になりました - クローンしてすぐに使用できます。
- 🧹 動的フレームワーク検出:すべてのハードコードされたフレームワークリストが削除され、完全に動的な操作が可能になりました。
- ⚡ 自動更新通知:サーバーは起動時に自動的に更新を確認し、新しいバージョンが利用可能な場合にユーザーに通知します。
- 🛡️ エラーハンドリングの強化:より良いヌルセーフティとプロフェッショナルなエラーメッセージが提供されます。
✨ 主な機能
- 🔍 スマート検索:ワイルドカード(
*
, ?
)をサポートし、すべてのAppleフレームワーク内でシンボルを検索できます。
- 📚 フレームワーク閲覧:任意のAppleフレームワーク構造(SwiftUI、UIKit、Foundationなど)を探索できます。
- 📖 詳細なドキュメント:例付きの包括的なシンボルドキュメントを取得できます。
- 🎯 高度なフィルタリング:プラットフォーム(iOS、macOSなど)、シンボルタイプ、またはフレームワークでフィルタリングできます。
- ⚡ リアルタイムデータ:常にAppleの最新のドキュメントと同期されています。
- 🔄 自動更新アラート:リポジトリの更新が利用可能な場合に自動的に通知されます。
- 🧠 AI最適化:AIアシスタントに最適なクリーンなMarkdown出力です。
📦 インストール
前提条件
- システムに**Node.js 18+**がインストールされていること
- npm(Node.jsに付属)
ステップ1: クローンとビルド
-
このリポジトリをクローンする
git clone https://github.com/MightyDillah/apple-doc-mcp.git
cd apple-doc-mcp
-
依存関係をインストールする
npm install
-
サーバーをビルドする
npm run build
これにより、TypeScriptコードがコンパイルされ、実行可能なサーバーが含まれるdist/
フォルダが作成されます。
ステップ2: AIアシスタントを設定する
- Claude Desktop:
~/.config/claude/claude_desktop_config.json
を編集する
- Cursor:設定(
Cmd/Ctrl + ,
)→ 拡張機能 → MCP
- Continue.dev:
~/.continue/config.json
を編集する
- VS Code (Claude):設定 → MCPサーバー
{
"mcpServers": {
"apple-doc-mcp": {
"command": "node",
"args": ["/path/to/apple-doc-mcp/dist/index.js"]
}
}
}
⚠️ 重要提示
/path/to/apple-doc-mcp
を実際にクローンしたリポジトリのパスに置き換えてください。
💡 使用建议
macOS/Linuxで絶対パスを取得するには、apple-doc-mcp
フォルダ内でpwd
を実行してください。
ステップ3: 再起動とテスト
- AIアシスタントを再起動する
- 「List available Apple technologies」を試す
- 4つの新しいツールが利用可能になっているはずです
- サーバーは起動時に更新が利用可能な場合に自動的に通知します
🔧 トラブルシューティング
"0 tools" またはサーバーが起動しない場合
- Node.jsのバージョンを確認する:Node.js 18+がインストールされていることを確認します(
node --version
)
- ビルドが完了したことを確認する:
npm run build
を実行した後にdist/index.js
が存在することを確認します
- 絶対パスを使用する:MCP設定で相対パスを使用すると、多くの場合失敗します
- 設定の構文を確認する:JSON設定が有効であることを確認します
- 完全に再起動する:設定を変更した後、AIアシスタントを閉じて再度開きます
サーバーを直接テストする
cd /path/to/apple-doc-mcp
node dist/index.js
Apple Developer Documentation MCP server running on stdio
と表示されるはずです。
一般的なパスの問題
pwd
echo %cd%
💻 使用例
設定が完了したら、AIアシスタントに自然に話しかけるだけです。以下は例です。
利用可能な技術を閲覧する
"Use apple-doc-mcp to list all current Apple frameworks"
"Get the latest available Apple technologies from Apple's docs"
"Search Apple documentation for all available frameworks"
フレームワークを探索する
"Use apple-doc-mcp to browse SwiftUI framework structure"
"Get current UIKit topics from Apple documentation"
"Search Apple docs for Foundation framework details"
特定のAPIを検索する
"Search Apple's SwiftUI docs for drag and drop APIs"
"Use apple-doc-mcp to find RPBroadcast* classes in ReplayKit"
"Look up current *View* symbols across Apple frameworks"
"Find all *Controller classes in UIKit using Apple docs"
詳細なドキュメントを取得する
"Get the latest SwiftUI View protocol docs from Apple"
"Use apple-doc-mcp to look up UIViewController documentation"
"Search Apple's current docs for NSURLSession details"
AIは自動的にMCPツールを使用して最新のAppleドキュメントを取得し、包括的な回答を提供します。
🛠️ 利用可能なツール
list_technologies
すべての利用可能なAppleフレームワークと技術を閲覧します。
get_documentation
シンボルまたはフレームワークの詳細なドキュメントを取得します(自動的にタイプを検出します)。
path
(必須):ドキュメントのパス(例:「documentation/SwiftUI/View」)またはフレームワーク名(例:「SwiftUI」)
例:
{"path": "SwiftUI"}
{"path": "documentation/SwiftUI/View"}
{"path": "Foundation"}
search_symbols
高度なフィルタリングを使用して、Appleフレームワーク全体でシンボルを検索します。
query
(必須):ワイルドカードをサポートする検索クエリ
framework
(オプション):特定のフレームワーク内で検索する
symbolType
(オプション):シンボルタイプ(クラス、プロトコル、構造体など)でフィルタリングする
platform
(オプション):プラットフォーム(iOS、macOSなど)でフィルタリングする
maxResults
(オプション):最大結果数(デフォルト:20)
例:
{"query": "RPBroadcast*"}
{"query": "*Controller", "framework": "UIKit"}
{"query": "*View*", "platform": "iOS", "maxResults": 5}
check_updates
gitリポジトリから利用可能な更新を確認します。
- パラメーターは不要です
- 現在のブランチの状態、利用可能な更新、および更新手順を表示します
- 注意:サーバーは起動時に自動的に更新を確認し、通知を表示します
🚨 トラブルシューティング
サーバーが起動しない場合
- Node.js 18+がインストールされていることを確認します
- MCP設定内のパスが正しい
dist/index.js
の場所を指していることを確認します
- MCP設定の構文を確認します
- 設定を変更した後、AIアシスタントを再起動します
"0 tools" が表示される場合
- これは通常、サーバーが正しく起動していないことを意味します
- 設定内のファイルパスが正しく、絶対パスであることを確認します
dist
ディレクトリが含まれている - ビルド手順は不要です
- サーバーを直接テストしてみてください:
node /path/to/apple-doc-mcp/dist/index.js
結果が見つからない場合
- より広い検索用語を試してみてください
- ワイルドカードパターンを使用します:「
*View*
」の代わりに「View
」
- フィルターを削除して検索範囲を拡大します
パフォーマンスの問題
- 最初の検索は遅くなる場合があります(キャッシュを構築します)
- その後の検索ははるかに高速です
- 応答を高速化するには、
maxResults
を減らします
🔧 技術詳細
- 10分間のキャッシュ:APIのレート制限を回避するため
- 15秒のタイムアウト:信頼性の高いパフォーマンスを確保するため
- スマートなフレームワーク優先順位付け:高速な検索を実現するため
- エラーの適切なハンドリング:堅牢な動作を保証するため
📚 詳細ドキュメント
要件
- Node.js:18.0.0以上
- メモリ:動作中に約50MBのRAM
- ネットワーク:AppleのドキュメントAPIにアクセスするためのインターネット接続
貢献の方法
バグを見つけたり、機能を追加したい場合は、貢献を歓迎します!
- リポジトリをフォークする
- 機能ブランチを作成する
- プルリクエストを送信する
詳細なガイドラインについては、CONTRIBUTING.mdを参照してください。