Zum Hauptinhalt springen
Übersetzte Seite

Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.

Swift

Betten Sie den StackQL-MCP-Server in eine macOS-Anwendung ein. Die signierte, notarisierte Binärdatei kann in Ihrer .app gebündelt werden, und der Client ist das offizielle Swift MCP SDK.

info

Die eingebettete Binärdatei wird beim ersten Start heruntergeladen und per sha256 verifiziert oder per Vendoring in Ihre App eingebunden. Siehe den gemeinsamen Vertrag.


Installation​

Fügen Sie das Paket zu Ihrer Package.swift hinzu:

.package(url: "https://github.com/stackql/stackql-mcp-swift.git", from: "0.1.0")

Erfordert macOS 13+ und Swift 6.1 (Xcode 16.3+). Die einzige Abhängigkeit ist das offizielle Swift MCP SDK.


Schnellstart​

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()

Die API besteht aus StackQLServer.start(Options), .listToolNames(), .call(_:_:) und .stop(). Options enthält mode, auth, binaryOverride und allowDownload. Für externe Harnesses gibt StackQLServer.resolveCommand(_:) den aufgelösten Startbefehl zurück.


Modi​

Options.mode ist standardmäßig .readOnly. Setzen Sie es auf .safe, .deleteSafe oder .fullAccess, um zu eskalieren. Die Eskalation ist explizit - der Server aktiviert keine Mutations- oder Lifecycle-Tools, sofern Sie sich nicht ausdrücklich dafür entscheiden.


Vendoring / Einbetten​

Die darwin-universal-Binärdatei ist mit Developer ID signiert und von Apple notarisiert, sodass sie in einer signierten macOS-.app gebündelt werden kann, ohne dass die Notarisierung der App selbst ihre Gültigkeit verliert. Das ist eine Besonderheit der Swift-Bibliothek - Sie liefern eine einzige eigenständige, notarisierte Anwendung ohne Download beim ersten Start aus.

Auflösungsreihenfolge der Binärdatei:

  1. Explizites binaryOverride.
  2. Gebündelte .app-Ressourcen.
  3. Gemeinsamer Cache unter ~/.stackql/mcp-server-bin/.
  4. Download mit sha256-Verifizierung (wenn allowDownload gesetzt ist).

Demo-App​

CloudLens ist ein Cloud-Wächter für die Menüleiste, der die notarisierte Binärdatei einbettet und eine read_only-Prüfsuite ausführt.


github.com/stackql/stackql-mcp-swift