This server provides seamless access to Apple's Developer Documentation through a Model Context Protocol (MCP) server, enabling AI coding assistants to efficiently search and retrieve Apple framework documentation.
Core Capabilities:
List Technologies (
list_technologies): Browse and discover all available Apple frameworks and technologiesSearch Symbols (
search_symbols): Perform fuzzy keyword searches across Apple frameworks with optional filters for platform, framework, symbol type, and maximum resultsGet Documentation (
get_documentation): Retrieve detailed documentation for specific symbols, classes, structs, or frameworks using documentation pathsCheck Updates (
check_updates): Monitor git repository status for available updates
Key Features:
Efficient per-technology caching to minimize server requests and improve performance
Supports wildcard searches and flexible filtering options
Follows a guided workflow from technology discovery to specific documentation access
Framework selection capability for focused, context-aware searches
Provides access to Apple's Developer Documentation, allowing users to browse frameworks, search for symbols, and retrieve detailed documentation on Apple technologies like SwiftUI, UIKit, and Foundation.
Enables checking for repository updates via Git and provides update notifications when new versions are available.
Enables filtering and searching for iOS-specific documentation within Apple's developer resources.
Allows filtering and searching for macOS-specific documentation within Apple's developer resources.
Provides access to Swift-related documentation and frameworks from Apple's developer resources.
Apple Doc MCP
A Model Context Protocol (MCP) server that provides seamless access to Apple's Developer Documentation directly within your AI coding assistant.
Note: Hey guys, thanks for checking out this MCP! Since I've been working on it on a regular basis, and as such its getting really expensive to build it and improve it to work on different platforms, all while adding new features (tokens aint cheap ya'll).
if you find this MCP helpful, I'd really apperciate it if you clicked on the β€οΈ Sponsor button up there, any contribution is apperciated! thanks.
π Changelog
New symbol search! Thank you to @christopherbattlefrontlegal and @Indading for sponsoring! you guys rock. Please contribute what you can, my aim is to get $100 a month so i can at least fund a claude code account which I will dedicate only to this project.
1.9.1
Moved cached docs into
.cache/to keep the repo cleanRouted MCP logging to stderr so protocol stdout stays clean (this was breaking codex symbol search)
1.8.9
MAJOR FIX: Fixed critical cache inconsistency causing unreliable symbol search results
MAJOR FIX: Implemented stateful LocalSymbolIndex to eliminate index rebuilds on every search
MAJOR FIX: Fixed technology filtering in symbol search - now only searches within selected technology
MAJOR FIX: Fixed search returning irrelevant results from other Apple frameworks (e.g., EnergyKit when searching SwiftUI)
Added wildcard search support (* and ? patterns) for flexible symbol discovery
Added local symbol index for fast cached searches with persistent state management
Enhanced error messages with dynamic technology suggestions and step-by-step guidance
Improved tokenization with camelCase/PascalCase support (GridItem β grid, item, griditem)
Enhanced search with better tokenization and scoring
Search now shows total symbols indexed with consistent counts
Fixed technology selection persistence issues
Fixed hardcoded server version to dynamically read from package.json
Added get_version tool to expose version information
Added technology-aware symbol indexing to prevent cross-framework contamination
Enhanced search fallback logic with smart detection of specific symbol names
Improved error messages with direct suggestions to use get_documentation for known symbols
Added result validation to detect and warn about irrelevant search results
Updated tool descriptions to clarify when to use search vs direct documentation lookup
Enhanced search handler to use persistent symbol indexes
Added cache validation and cleanup logic for better reliability
1.6.2
Fixed hardcoded server version to dynamically read from package.json
Added get_version tool to expose version information
Dynamic path resolution - no hardcoded paths
Fixed cache location to use MCP directory instead of polluting home/working directories
Fixed tutorials and non-framework content retrieval (sample-apps, updates, etc)
Improved search tokenization for compound words like GridItem
Enhanced search scoring with fuzzy matching and case-insensitive support
Expanded search index coverage for better symbol discovery
Added path validation for different content types
1.5.1 (Major update!)
Now on npm! someone annoying already uploaded it under apple-doc-mcp and theres no way to reach them so I had to rename it to apple-doc-mcp-server thanks random guy!
Introduced per-technology caching, mandatory framework selection, and the guided discovery/search flow.
Now it doesnt spam the doc server, all tech is cached after first call making every search super efficient!
Uses several search fallbacks to make sure it finds what youre looking for, and if it fails it'll do a regex to the entire technology and still give you suggestions!
It now asks you which doc is more relevant! and has very rudemntary fuzzy search but it works really well!
Simplified MCP in so many ways that I am just kicking myself!
Handlers now live in 'src/server/handlers/', so each tool is easy to read and evolve without touching the entrypoint.
This should have been version 1.0.0, there are still some kinks so please report them.
1.0.2 - Completely removed due to AI slop, sorry I merged without thoroughly going through this.
1.0.1 β Initial release.
Quick Start
"Use apple mcp select swiftui search tabbar"
Configure your MCP client (example):
Using npx (recommended):
Claude Code:
OpenAI Codex:
Or using node with the built file:
For local development:
π Typical Workflow
Explore the catalogue:
discover_technologies { "query": "swift" }discover_technologies { "page": 2, "pageSize": 10 }
Lock in a framework:
choose_technology { "name": "SwiftUI" }current_technology
Search within the active framework:
search_symbols { "query": "tab view layout" }search_symbols { "query": "Grid*" }(wildcard search)search_symbols { "query": "*Item" }(find all items)
Open documentation:
get_documentation { "path": "TabView" }get_documentation { "path": "documentation/SwiftUI/TabViewStyle" }
Search Tips
Start broad (e.g.
"tab","animation","gesture").Try synonyms (
"sheet"vs"modal","toolbar"vs"tabbar").Use wildcards (
"Grid*","*Item","Lazy*") for flexible matching.Use multiple keywords (
"tab view layout") to narrow results.If nothing turns up, re-run
discover_technologieswith a different keyword or pick another framework.Cache now lives in
.cache/to avoid clutter.
π§° Available Tools
discover_technologiesβ browse/filter frameworks before selecting one.choose_technologyβ set the active framework; required before searching docs.current_technologyβ show the current selection and quick next steps.search_symbolsβ fuzzy keyword search with wildcard support within the active framework.get_documentationβ view symbol docs (relative names allowed).get_versionβ get current MCP server version information.
π Advanced Features
Reliable Symbol Search
Persistent Indexing: Stateful symbol index that persists between searches for consistent results
Wildcard Support: Use
*for any characters,?for single character matchingSmart Tokenization: Handles camelCase/PascalCase automatically (GridItem β grid, item, griditem)
Technology Filtering: Searches only within the selected framework to avoid irrelevant results
Cached Performance: Fast local searches with framework-specific caching
Fallback Search: Uses framework references when local index is limited
Cache Validation: Robust error handling for corrupted or invalid cache files
Enhanced Error Messages
Clear Guidance: Explicit step-by-step instructions when no technology is selected
Dynamic Suggestions: Shows available technologies with exact commands
Quick Start Examples: SwiftUI and UIKit specific workflows
Professional Formatting: Clean, helpful error messages with emojis and structure
β οΈ Current Limitations
Limited Symbol Coverage: Search relies on cached framework data and references, not comprehensive symbol downloading
No Background Downloads: Comprehensive symbol downloader is currently disabled due to stability issues
Framework-Specific: Each technology maintains its own cache and index
Cache Dependency: Search quality depends on available cached framework data
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to build and test Xcode projects directly through a standardized interface, with capabilities for running tests, monitoring progress, and accessing logs in real-time.Last updated -181448
Appwrite MCP Serverofficial
AsecurityAlicenseAqualityA Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.Last updated -54MIT License- AsecurityAlicenseAqualityA Model Context Protocol server that provides tools for Xcode-related operations, making it easier to work with iOS project management, building, testing, archiving, and deploying apps to both simulators and physical devices.Last updated -9377MIT License