🍎📚 Cupertino
Apple documentation CLI for humans and MCP server for AI agents.
Cupertino is a CLI for human developers and an MCP server for AI agents. Both surfaces use the same local catalog of Apple documentation, Swift packages, sample code, Human Interface Guidelines, Swift Evolution proposals, and Swift.org pages.


Latest: v1.3.0 (2026-05-31): per-source database bundle, read-only databases. The Apple documentation slice carries 351,505 documents / 240,543 symbols across 420+ frameworks, alongside the HIG, archive, Swift Evolution, Swift.org, Swift Book, package, and sample-code DBs. Release notes · CHANGELOG · Roadmap · live dashboard at https://cupertino.aleahim.com/. Follow updates on X: @cupertinomcp.
If Cupertino is useful to your work with Apple docs or AI agents, consider sponsoring its development. Sponsorship helps keep releases, documentation, and the Apple/Linux tooling around it moving.
What is Cupertino?
Cupertino is a local, structured documentation system for Apple platforms. It:
- Crawls Apple Developer documentation, Swift.org, Swift Evolution proposals, Human Interface Guidelines, Apple Archive legacy guides, and Swift package metadata
- Indexes everything into fast, searchable SQLite FTS5 databases with field-weighted BM25 (BM25F) ranking and AST-extracted symbol columns
- Runs as a terminal CLI for developers who want fast local
search, read, doctor, and setup commands
- Serves the same corpus to AI agents like Claude, ChatGPT, Codex, Cursor, and Copilot via the Model Context Protocol
- Provides offline access to 351,505 Apple documentation pages / 240,543 Apple-doc symbols across 420+ frameworks, plus the HIG, archive, Swift Evolution, Swift.org, Swift Book, package, and sample-code slices (v1.3.0 bundle)
Why build this:
- No more hallucinations: AI agents get accurate, up-to-date Apple API documentation
- Offline development: work with full documentation without internet access
- Deterministic search: the same query always returns the same results
- Local control: own your documentation, inspect the database, script workflows
- Dual-consumer design: use it directly at the terminal or wire it into an MCP-capable AI client
Installation
Requires macOS 15+ (Sequoia) and ~4.2 GB free disk for the full v1.3.0 bundle (compressed download ~742 MB). Building from source additionally needs Swift 6.3+ and Xcode 26+ (use xcrun swift build, not bare swift).
Homebrew (recommended): installs the signed, notarized universal binary and lets you upgrade or uninstall it with brew:
brew tap mihaelamj/tap
brew install cupertino
cupertino setup # download the pre-built databases
One-command install (alternative): downloads the binary to /usr/local/bin and fetches the databases in one step:
bash <(curl -sSL https://raw.githubusercontent.com/mihaelamj/cupertino/main/install.sh)
Build from source:
git clone https://github.com/mihaelamj/cupertino.git
cd cupertino
make build # release binary (or: cd Packages && swift build -c release)
sudo make install # install to /usr/local/bin
cupertino setup # download the pre-built databases
The Homebrew path on Apple Silicon installs to /opt/homebrew/bin/cupertino; Intel and manual installs use /usr/local/bin/cupertino. Run which cupertino to confirm your path. See docs/DEPLOYMENT.md for distribution and CI/CD notes.
Quick start
cupertino setup # download pre-built databases (~30s)
cupertino search "NavigationStack" --limit 5 # search from the terminal
cupertino read "apple-docs://swiftui/navigationstack" --source apple-docs
cupertino doctor # check local database health
cupertino serve # start the MCP server (also the default command)