/ Annuaire / Playground / cupertino
● Communauté mihaelamj ⚡ Instantané

cupertino

par 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.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

cupertino.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/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
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

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

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

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

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

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

Continue utilise un tableau d'objets serveur plutôt qu'une map.

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

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : cupertino

Stop API hallucinations with cupertino for Apple docs

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

Quand l'utiliser : Claude keeps inventing API signatures; you want it grounded in real docs.

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

Résultat : Dramatically fewer API hallucinations.

Review a design against Apple's Human Interface Guidelines

👤 iOS designers, PMs ⏱ ~20 min intermediate

Quand l'utiliser : Before shipping, you want to check a flow against HIG.

Déroulement
  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.✓ Copié
    → HIG passages about destructive actions
  2. Apply
    Given those guidelines, critique my mockup [paste]. What violates HIG?✓ Copié
    → Specific violations + fixes

Résultat : HIG-compliant UI without reading the whole doc yourself.

Combiner avec : claude-talk-to-figma

Learn from Apple's sample projects via cupertino

👤 Developers learning new frameworks ⏱ ~15 min beginner

Quand l'utiliser : You need to know 'how does Apple actually use this API'.

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

Résultat : Real, Apple-endorsed patterns instead of forum guesses.

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

Design in Figma, validate against HIG via cupertino

For the selected Figma screen, search HIG for relevant rules and flag inconsistencies.✓ Copié
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.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
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

Coût et limites

Coût d'exécution

Quota d'API
None — local FTS5
Tokens par appel
Doc pages: 500-5000 each
Monétaire
Free
Astuce
Use search_docs + read_document on only the top hit rather than dumping multiple pages

Sécurité

Permissions, secrets, portée

Stockage des identifiants : None
Sortie de données : None at runtime; cupertino setup fetches from developer.apple.com once

Dépannage

Erreurs courantes et correctifs

Search returns nothing after install

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

Vérifier : 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)

Alternatives

cupertino vs autres

AlternativeQuand l'utiliserCompromis
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

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills