Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.
Swift
Embarquez le serveur MCP StackQL dans une application macOS. Le binaire signé et notarisé peut être inclus dans votre .app, et le client est le SDK MCP officiel pour Swift.
Le binaire embarqué est téléchargé et vérifié par sha256 à la première exécution, ou vendored dans votre application. Consultez le contrat commun.
Installation
Ajoutez le paquet à votre Package.swift :
.package(url: "https://github.com/stackql/stackql-mcp-swift.git", from: "0.1.0")
Nécessite macOS 13+ et Swift 6.1 (Xcode 16.3+). La seule dépendance est le SDK MCP officiel pour Swift.
Démarrage rapide
import StackQLMCP
var options = Options()
options.mode = .readOnly
options.auth = ["github": ["type": "null_auth"]]
let server = try await StackQLServer.start(options)
let tools = try await server.listToolNames()
print("\(tools.count) tools available")
let services = try await server.call(
"list_services", ["provider": "github", "row_limit": 5])
print(services.text)
await server.stop()
L'API se compose de StackQLServer.start(Options), .listToolNames(), .call(_:_:) et .stop(). Options contient mode, auth, binaryOverride et allowDownload. Pour les harnais externes, StackQLServer.resolveCommand(_:) renvoie la commande de lancement résolue.
Modes
Options.mode vaut .readOnly par défaut. Définissez-le sur .safe, .deleteSafe ou .fullAccess pour élever le niveau d'accès. L'élévation est explicite - le serveur n'active les outils de mutation ou de cycle de vie que si vous les activez explicitement.
Vendoring / intégration
Le binaire darwin-universal est signé avec un Developer ID et notarisé par Apple ; il peut donc être inclus dans une .app macOS signée tout en préservant la validité de la notarisation de l'application elle-même. C'est propre à la bibliothèque Swift - vous livrez une seule application autonome et notarisée, sans téléchargement à la première exécution.
Ordre de résolution du binaire :
binaryOverrideexplicite.- Ressources incluses dans la
.app. - Cache partagé dans
~/.stackql/mcp-server-bin/. - Téléchargement avec vérification sha256 (lorsque
allowDownloadest défini).
Application de démonstration
CloudLens est une sentinelle cloud pour la barre de menus qui embarque le binaire notarisé et exécute une suite de vérifications en mode read_only.