The Apple Doc MCP server provides seamless access to Apple's Developer Documentation directly within your AI coding assistant. It allows you to search, browse, and retrieve up-to-date Apple documentation without leaving your development environment.
Clone the repository:
git clone https://github.com/MightyDillah/apple-doc-mcp.git
cd apple-doc-mcp
Install dependencies:
npm install
Build the server:
npm run build
~/.config/claude/claude_desktop_config.json
Cmd/Ctrl + ,
) → Extensions → MCP~/.continue/config.json
{
"mcpServers": {
"apple-doc-mcp": {
"command": "node",
"args": ["/path/to/apple-doc-mcp/dist/index.js"]
}
}
}
Important: Replace /path/to/apple-doc-mcp
with the actual path to your cloned repository.
Tip: To get the absolute path on macOS/Linux, run pwd
inside the apple-doc-mcp
folder.
node --version
)dist/index.js
exists after running npm run build
# Navigate to your project folder
cd /path/to/apple-doc-mcp
# Test the server starts without errors
node dist/index.js
You should see: Apple Developer Documentation MCP server running on stdio
# macOS/Linux - Get absolute path
pwd
# Example output: /Users/yourname/projects/apple-doc-mcp
# Windows
echo %cd%
# Example output: C:\Users\yourname\projects\apple-doc-mcp
Once configured, just talk naturally to your AI assistant. Here are examples:
"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"
"List Apple Container technologies and frameworks"
"Browse Apple Containerization documentation frameworks"
"Use apple-doc-mcp to browse SwiftUI framework structure"
"Get current UIKit topics from Apple documentation"
"Search Apple docs for Foundation framework details"
"Explore Apple Container framework details"
"Get Apple Containerization framework structure"
"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"
"Search Apple Container docs for Image* APIs"
"Find Archive* symbols in Apple Containerization 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"
"Get Apple Container documentation for ContainerImagesService"
"Look up ContainerizationArchive docs from Apple"
list_technologies
Browse all available Apple frameworks and technologies.
get_documentation
Get detailed documentation for symbols or frameworks (automatically detects type).
path
(required): Documentation path (e.g., "documentation/SwiftUI/View") or framework name (e.g., "SwiftUI")Examples:
{"path": "SwiftUI"}
{"path": "documentation/SwiftUI/View"}
{"path": "Foundation"}
search_symbols
Search for symbols across Apple frameworks with advanced filtering.
query
(required): Search query with wildcard supportframework
(optional): Search within specific frameworksymbolType
(optional): Filter by symbol type (class, protocol, struct, etc.)platform
(optional): Filter by platform (iOS, macOS, etc.)maxResults
(optional): Maximum results (default: 20)Examples:
{"query": "RPBroadcast*"}
{"query": "*Controller", "framework": "UIKit"}
{"query": "*View*", "platform": "iOS", "maxResults": 5}
list_container_technologies
Browse all available Apple Container frameworks and technologies.
get_container_documentation
Get detailed documentation for Apple Container symbols or frameworks.
path
(required): Container documentation path (e.g., "documentation/ContainerImagesService") or framework nameExamples:
{"path": "ContainerImagesService"}
{"path": "documentation/ContainerImagesService/ImageAPI"}
search_container_symbols
Search for symbols across Apple Container frameworks with advanced filtering.
query
(required): Search query with wildcard supportframework
(optional): Search within specific Container frameworksymbolType
(optional): Filter by symbol type (class, protocol, struct, etc.)platform
(optional): Filter by platform (iOS, macOS, etc.)maxResults
(optional): Maximum results (default: 20)Examples:
{"query": "Container*"}
{"query": "*Service", "framework": "ContainerImagesService"}
list_containerization_technologies
Browse all available Apple Containerization frameworks and technologies.
get_containerization_documentation
Get detailed documentation for Apple Containerization symbols or frameworks.
path
(required): Containerization documentation path (e.g., "documentation/ContainerizationArchive") or framework nameExamples:
{"path": "ContainerizationArchive"}
{"path": "documentation/ContainerizationArchive/ArchiveAPI"}
search_containerization_symbols
Search for symbols across Apple Containerization frameworks with advanced filtering.
query
(required): Search query with wildcard supportframework
(optional): Search within specific Containerization frameworksymbolType
(optional): Filter by symbol type (class, protocol, struct, etc.)platform
(optional): Filter by platform (iOS, macOS, etc.)maxResults
(optional): Maximum results (default: 20)Examples:
{"query": "Archive*"}
{"query": "*Service", "framework": "ContainerizationArchive"}
check_updates
Check for available updates from the git repository.
No Results Found
"*View*"
instead of "View"
Performance Issues
maxResults
for faster responsesTo add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "apple-doc-mcp" '{"command":"node","args":["/path/to/apple-doc-mcp/dist/index.js"]}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"apple-doc-mcp": {
"command": "node",
"args": [
"/path/to/apple-doc-mcp/dist/index.js"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"apple-doc-mcp": {
"command": "node",
"args": [
"/path/to/apple-doc-mcp/dist/index.js"
]
}
}
}
3. Restart Claude Desktop for the changes to take effect