/ 디렉터리 / 플레이그라운드 / cupertino
● 커뮤니티 mihaelamj ⚡ 바로 사용

cupertino

제작: mihaelamj · mihaelamj/cupertino

Local Apple documentation at your agent's fingertips — 302k+ pages, HIG, sample code, all in SQLite FTS5 with sub-100ms search.

cupertino (mihaelamj) crawls Apple developer documentation and serves it to MCP clients from a local SQLite FTS5 index. Stops Claude from making up UIKit/SwiftUI APIs. ~2.4GB for the full corpus; covers 307 frameworks, HIG, sample projects, Swift Evolution.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

cupertino.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cupertino": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/mihaelamj/cupertino"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "cupertino": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/mihaelamj/cupertino"
      ],
      "_inferred": true
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "cupertino": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/mihaelamj/cupertino"
      ],
      "_inferred": true
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "cupertino": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/mihaelamj/cupertino"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "cupertino",
      "command": "TODO",
      "args": [
        "See README: https://github.com/mihaelamj/cupertino"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "cupertino": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/mihaelamj/cupertino"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add cupertino -- TODO 'See README: https://github.com/mihaelamj/cupertino'

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: cupertino

Stop API hallucinations with cupertino for Apple docs

👤 iOS / macOS / visionOS developers ⏱ ~10 min beginner

언제 쓸까: Claude keeps inventing API signatures; you want it grounded in real docs.

사전 조건
  • cupertino installed — Download Swift 6.2+ binary; run cupertino setup to pull the index
흐름
  1. Setup index
    Run cupertino setup then cupertino serve. Confirm MCP server is listening.✓ 복사됨
    → Server online
  2. Force agent to cite
    Before writing any SwiftUI code, search cupertino docs for the exact API. Quote the signature.✓ 복사됨
    → Verified API with URI
  3. Use it
    Now write the code using only the APIs you quoted.✓ 복사됨
    → Compiles first try

결과: Dramatically fewer API hallucinations.

Review a design against Apple's Human Interface Guidelines

👤 iOS designers, PMs ⏱ ~20 min intermediate

언제 쓸까: Before shipping, you want to check a flow against HIG.

흐름
  1. Describe the screen
    I'm building a settings screen with a destructive 'Delete account' button. Use search_hig for iOS to find relevant guidance.✓ 복사됨
    → HIG passages about destructive actions
  2. Apply
    Given those guidelines, critique my mockup [paste]. What violates HIG?✓ 복사됨
    → Specific violations + fixes

결과: HIG-compliant UI without reading the whole doc yourself.

함께 쓰기: claude-talk-to-figma

Learn from Apple's sample projects via cupertino

👤 Developers learning new frameworks ⏱ ~15 min beginner

언제 쓸까: You need to know 'how does Apple actually use this API'.

흐름
  1. Find relevant samples
    search_samples for 'SwiftData relationships'. List matching projects.✓ 복사됨
    → Project names + descriptions
  2. Read the source
    In project X, read ContentView.swift and explain the relationship setup.✓ 복사됨
    → Annotated walkthrough

결과: Real, Apple-endorsed patterns instead of forum guesses.

조합

다른 MCP와 조합해 10배 효율

Design in Figma, validate against HIG via cupertino

For the selected Figma screen, search HIG for relevant rules and flag inconsistencies.✓ 복사됨
cupertino + filesystem

Compare your SwiftUI code against Apple's sample for the same pattern

Read my ./Sources/ContentView.swift and diff against Apple's SwiftData sample structure.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
search_docs query, framework? Reference API lookup 0
search_hig query, platform? Design guidance 0
list_frameworks Discover what's indexed 0
read_document uri Expand a search hit 0
search_samples query Sample code discovery 0
list_samples Browse 0
read_sample_file sample, path Read a specific file 0

비용 및 제한

운영 비용

API 쿼터
None — local FTS5
호출당 토큰
Doc pages: 500-5000 each
금액
Free
Use search_docs + read_document on only the top hit rather than dumping multiple pages

보안

권한, 시크릿, 파급범위

자격 증명 저장: None
데이터 외부 송신: None at runtime; cupertino setup fetches from developer.apple.com once

문제 해결

자주 발생하는 오류와 해결

Search returns nothing after install

cupertino setup didn't complete — re-run and watch for network errors

확인: Database file size should be ~2.4GB
Stale docs after an OS release

Re-run cupertino setup to refresh the crawl

Index DB too large for machine

Use framework-scoped setup to index only what you need (e.g. only SwiftUI)

대안

cupertino 다른 것과 비교

대안언제 쓰나단점/장점
DuckDuckGo / web search MCPYou don't mind hallucination risk and need latestNot authoritative; can return third-party blogs
Apple Developer website directlyHuman-driven readingNo agent automation

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기