Get the FREE Ultimate OpenClaw Setup Guide →

cupertino

A local Apple Documentation crawler and MCP server. Written in Swift.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio mihaelamj-cupertino cupertino

How to use

Cupertino is a local, structured documentation server that crawls Apple developer docs and related sources, indexes them into a fast search-ready SQLite database, and serves the content to AI agents via the Model Context Protocol (MCP). It is designed to work offline and provide deterministic search results for 302,424+ pages across hundreds of frameworks. The server exposes tools to fetch and build the documentation data, create a searchable index, and run an MCP-compliant server that responds to context queries from clients like Claude or other MCP-enabled agents. Typical workflows involve fetching or downloading prebuilt databases, building or updating the search index, and launching the server so client tools can query the documentation locally.

How to install

Prerequisites:

  • macOS 15+ (Sequoia)
  • Sufficient disk space (2–3 GB for full doc set; more if you build from source)
  • Optional: Swift 6.2+ and Xcode 16+ for building from source

Installation options:

  1. One-command install (recommended):
bash <(curl -sSL https://raw.githubusercontent.com/mihaelamj/cupertino/main/install.sh)

This downloads a pre-built, signed, and notarized universal binary and installs it to /usr/local/bin, plus downloads documentation databases.

  1. Homebrew (recommended for macOS users):
brew tap mihaelamj/tap
brew install cupertino
cupertino setup
  1. Build from source (requires Swift toolchain):
git clone https://github.com/mihaelamj/cupertino.git
cd cupertino

# Using Makefile (recommended)
make build
sudo make install  # installs to /usr/local/bin

# Or with Swift Package Manager directly
cd Packages
swift build -c release
sudo ln -sf "$(pwd)/.build/release/cupertino" /usr/local/bin/cupertino

After installation you can run the server with the default command:

cupertino  # Starts MCP server (default)

Additional notes

Notes and tips:

  • The default path for Homebrew installs may vary; use which cupertino to verify the executable path and adjust your MCP client configs accordingly.
  • If you are on Apple Silicon, some examples in the docs reference /opt/homebrew/bin/cupertino. Use the path appropriate for your setup.
  • To speed up initial setup, you can use cupertino setup to download prebuilt databases before starting the server.
  • The server supports multiple fetch/save/index workflows (e.g., cupertino fetch, cupertino save, cupertino index). Use cupertino serve to start the MCP server and respond to MCP requests from clients.
  • When running in CI or headless environments, ensure the necessary permissions for binaries and databases are set (e.g., sudo rights for installation paths).
  • Environment considerations: if you customize paths, ensure the client applications use the same cupertino executable and arguments (serve) to maintain compatibility.

Related MCP Servers

Sponsor this space

Reach thousands of developers