SDK
The first MCP client built for Apple's on-device model — link it into your own native Mac app
LocalLM Lab itself is built on a Swift SDK, LocalLMLabSDKCore, and
you can build on the same thing. Link it into your own macOS app and it gives you instant
Calendar, Reminders, Contacts, and Location
access — no EventKit wrappers to write — plus a real MCP client: tool
discovery, all three OAuth flows, Keychain-backed token storage. No MCP or OAuth stack to build
yourself.
Why local AI + MCP together is the point
Every MCP client in wide use today assumes a cloud model on the other end of the tool call —
Claude, GPT, Gemini — reachable over the network, with the whole tool-calling loop running on
someone else's servers. This SDK's MCP client is wired directly to Apple's on-device
FoundationModels model instead: the model deciding which tool to call, the request
going out to a real MCP server (Slack, Todoist, GitHub, Notion, Linear, and others), and the
result coming back all happen with the model itself running locally, on the Mac's own Neural
Engine.
Nothing about that decision — the prompt, the tool selection, the intermediate reasoning — has to leave the device and reach an external model provider just so your app can be AI-powered. That's a genuinely different privacy and security posture than any cloud-model MCP client can offer, and a different cost story too: no per-token bill for the model itself, so whatever your MCP servers charge (often nothing) is the only external cost your users take on.
Proven under App Sandbox, not assumed
Sandboxing an app breaks all sorts of things silently — network calls, background permissions,
subprocess spawning. Rather than assume the SDK would just work under sandbox, it was built into a
sandboxed test app, hit real breakage (a missing network entitlement that silently killed weather
lookups and MCP connections), fixed, and re-verified: Calendar, Reminders, and the full
MCP+OAuth+Keychain flow all confirmed working under sandbox, with real system permission prompts —
not just "should work in theory." There's also a working path to a Mac App Store submission: an
Apple Distribution signing + provisioning profile pipeline that produces a correctly signed
.pkg, with a verified signature chain up to Apple's own root CA.
Real UI, not just an API
Components ships ready-to-drop-in SwiftUI: an "add an MCP server" screen supporting
all three auth types (no auth, personal access token, OAuth), tool and resource enable/disable
controls, an OAuth-waiting view for the browser round trip, and a one-click summary export of what
a connected server actually offers. You don't have to build MCP UI from scratch to give users a way
to manage what your app is allowed to reach.
Dogfooded in a real, shipping app
LocalLM Lab doesn't keep a private copy of this code around — it depends on the SDK directly. When
this page says Calendar or MCP access "works," it means it works in a real app real users run, not
just in a sample project. Two open-source reference apps in the SDK repo show the same code in
practice: plate-today, a single-window daily-summary app pulling from Calendar,
Reminders, and the Todoist MCP server; and components-demo, which exercises the MCP
server picker end to end against a real, no-auth MCP server — and can double as a handy way to
explore an unknown MCP server yourself.
Licensed to actually be used commercially
Apache 2.0 — chosen specifically for its patent grant, which matters if your legal team has to sign off on embedding a third-party SDK into a commercial product. Versioned binary releases are published on GitHub with checksums, the same way you'd expect to pull in any other serious SDK dependency.
Get it
The SDK, both reference apps, and the full developer guide are in the LocalLM GitHub repo:
- docs/sdk-guide.md — linking Core, entitlements, all three MCP auth types, Keychain storage, App Sandbox/Mac App Store signing, and a full flat API reference.
- examples/plate-today — a single-process SwiftUI app linking Core directly, Calendar + Reminders + Todoist.
- examples/components-demo — the MCP server picker UI, live against a real MCP server.
- Components — the reusable SwiftUI layer itself.
Both example apps require an explicit SDK version to build:
LOCALLM_SDK_VERSION=0.7.0 swift build
Contact
Questions, or building something with this? Contact neuron@thisbrain.ai or join our Discord.