Content
Cupertino is a Swift-based Apple documentation CLI and MCP server. It gives
Claude and other MCP clients a local searchable index for Apple Developer
Documentation, Swift.org pages, Swift Evolution proposals, Human Interface
Guidelines, Apple Archive guides, the Swift Book, Swift package metadata, and
Apple sample-code files.
Use it when an Apple-platform project needs fast API lookup, framework search,
sample-code discovery, HIG checks, or Swift language context without manually
opening multiple documentation sites. The same local index powers terminal
commands such as cupertino search and the stdio MCP server launched by
cupertino serve.
Source Review
These sources were reviewed on 2026-06-06. Prefer the live repository,
README, license, Swift package manifest, MCP client setup guide, serve
command documentation, search tool documentation, CLI serve implementation, MCP
server implementation, and stdio transport implementation for current install
and behavior details.
Features
- Search Apple Developer Documentation, Swift Evolution, Swift.org, the Swift
Book, HIG pages, Apple Archive guides, Swift package metadata, and Apple
sample-code files.
- Read documentation through MCP resources such as
apple-docs://,
swift-evolution://, and hig:// URIs.
- Run unified full-text search through the
search MCP tool with source,
framework, language, archive, limit, and platform-version filters.
- List frameworks and read selected documents from the local index.
- Explore sample projects with
list_samples, read_sample, and
read_sample_file.
- Search extracted Swift symbols, property wrappers, concurrency APIs,
conformances, generics, and inheritance relationships.
- Use the same local databases from the terminal CLI or from stdio MCP clients.
Installation
Install with Homebrew and download the pre-built databases:
brew tap mihaelamj/tap
brew install cupertino
cupertino setup
Add Cupertino to Claude Code:
claude mcp add cupertino --scope user -- $(which cupertino)
For JSON-based MCP clients, use the installed binary path:
{
"mcpServers": {
"cupertino": {
"command": "/opt/homebrew/bin/cupertino",
"args": ["serve"]
}
}
}
Codex users should include --no-reap as documented upstream:
codex mcp add cupertino -- $(which cupertino) serve --no-reap
Restart the MCP client after adding the server.
Use Cases
- Ask Claude to look up current SwiftUI, UIKit, AppKit, Foundation, or
platform-framework APIs.
- Check Human Interface Guidelines while designing an Apple-platform interface.
- Find Swift Evolution proposals related to a language feature.
- Search Apple sample code before implementing a framework integration.
- Compare framework availability across iOS, macOS, tvOS, watchOS, visionOS,
or Swift versions.
- Keep local documentation access available during offline development.
- Give an agent deterministic Apple API context before it proposes code.
Safety and Privacy
Cupertino primarily serves public documentation from a local database, but
documentation prompts can still disclose private development context. Keep
proprietary source code, unreleased app plans, customer requirements, private
bundle identifiers, and internal roadmap details out of prompts unless that
disclosure is approved.
The initial setup downloads a large bundle and self-refresh workflows can crawl
public documentation sources. Review disk space, cache locations, organization
network policy, and Apple documentation terms before using it on shared or
managed machines.
Documentation can change quickly around new platform releases. Verify
compatibility-sensitive, beta, deprecated, or security-relevant guidance against
live Apple documentation before shipping code.
Duplicate Check
content/mcp/apple-docs-mcp-server.mdx already covers
kimsungwhee/apple-docs-mcp, an npm-based third-party Apple Docs server.
Cupertino is a distinct implementation from mihaelamj/cupertino: it is a
Swift CLI plus MCP server with a local offline documentation bundle,
per-source SQLite indexes, HIG, Swift Evolution, Swift.org, Swift Book, Swift
package, sample-code, and AST-symbol search coverage. No mihaelamj/cupertino
entry or matching source URL was found in content/mcp.