Connectors

What the on-device model can see, and what it deliberately can't

Connectors are what let LocalLM Lab's on-device model answer questions using real information from your Mac — your calendar, your contacts, the weather, where you are — instead of just what it already knows. Every connector is off by default, and you turn each one on individually in Local AI Settings.

Building your own app instead? Most of these are available as ready-made Tools in the SDK, so you don't have to write your own adapters.

Two rules apply across all of them. First, every connector is read-only by default — the model can look things up, but not edit or delete anything on your Mac or in your accounts. Calendar and Reminders are the two exceptions: the model can also create a new calendar event or reminder by default, though it still can't modify or delete an existing one unless you separately turn on Full Access (see below) — an extra, off-by-default switch for exactly that. Second, everything stays on your device by default; the one exception (Weather) is clearly flagged in the app, since it's the only connector that sends anything over the network.

The examples below won't do anything until you turn the relevant connector on in Local AI Settings first — and for Calendar, Reminders, Contacts, and Location, turning one on for the first time will prompt you for the matching macOS permission, same as any other app asking for that data. Try them and see what the model actually does with them — that's the point of LocalLM Lab.

🕐 System Clock

Local

Lets the model read the current date and time on your Mac.

Tool calls: getCurrentTime

Try in Prompt Playground

  • "What time is it right now?"

📁 Filesystem

Local

Lets the model read files from a single folder you choose — nothing else on your Mac. It can list what's in that folder and read plain text files from it.

Read-only. Can't write, create, delete, or reach outside the folder you granted.

Tool calls: listFiles, readFile

Building your own app on the SDK instead? The same single-folder scoping is available via WorkspaceTools, but broader — it also supports creating and editing files, not just reading them. See the SDK page's workspace-buddy example.

Try in Prompt Playground

  • "What files are in my folder?"
  • "Summarize the file [filename] in a couple sentences."

🌤️ Weather

Leaves this Mac

Looks up current conditions for a place you name — temperature, feels-like, humidity, wind, and a plain-English description. The only connector that sends anything over the network: your location query goes to Open-Meteo, a third-party weather service, to resolve it. Note that the place name cannot include additional qualifiers e.g. "San Jose, CA". Use only the city name, such as "San Jose".

Tool calls: getWeather

Try in Prompt Playground

  • "What's the weather like in Tokyo right now?"
  • "Should I bring a jacket if I'm in Chicago today?"

📅 Calendar

Local

Lets the model list your upcoming Calendar events — title, time, calendar, and location — and create new quick events (title, date, time, duration) on your default calendar.

Can list and create events by default. No invitees are ever added. With Full Access turned on, the model can also modify or permanently delete an existing event.

Tool calls: getUpcomingEvents, addCalendarEvent — with Full Access, also updateCalendarEvent, deleteCalendarEvent

Try in Prompt Playground

  • "What's on my calendar for the rest of the week?"
  • "Add a 30-minute event called 'Team sync' tomorrow at 2pm."
  • "Move my dentist appointment to 3pm." (needs Full Access)

Reminders

Local

Lets the model list your upcoming Reminders — title, due date, list, and priority — and create new reminders with a title and an optional due date/time.

Can list and create reminders by default. With Full Access turned on, the model can also modify, mark complete, or permanently delete an existing reminder.

Tool calls: getUpcomingReminders, addReminder — with Full Access, also updateReminder, deleteReminder

The model doesn't know today's date on its own. LocalLM Lab is raw in, raw out — it doesn't inject today's date into what the model sees, so a relative phrase like "tomorrow" or "next Friday" can resolve to the wrong day, or even the wrong year. Two ways around it: enable the Clock connector alongside Reminders so the model can check getCurrentTime before it computes a date, or just tell it directly — add a line like "Today's date is 2026-08-23" to the System Prompt in Prompt Playground, or say the date in your own message. Giving addReminder/updateReminder an exact date (e.g. "due 2026-08-25") sidesteps the problem entirely.

Try in Prompt Playground

  • "What do I have on my reminders list this week?"
  • "Remind me to call the dentist tomorrow morning."
  • "Mark my 'call the dentist' reminder as done." (needs Full Access)

👤 Contacts

Local

Lets the model search or list your Contacts — name, organization, phone numbers, and email addresses.

Read-only by default — the only connector with no default write capability at all. With Full Access turned on, the model can also create, modify, or permanently delete a contact.

Tool calls: searchContacts, listContacts — with Full Access, also addContact, updateContact, deleteContact

Updating a contact can occasionally touch a field you didn't ask about. See Known Issues — most update requests behave correctly, but it's worth a glance at the result after a Full Access update.

Try in Prompt Playground

  • "Do I have a contact for [a name from your own contacts]?"
  • "What's the phone number for [name]?"
  • "Add a contact for Jane Doe with this phone number." (needs Full Access)
  • "Update Jane Doe's organization to Acme Corp." (needs Full Access)

📍 Location

Local

Lets the model look up where your Mac currently is — a single, one-time reading, not continuous tracking. Includes a resolved place name alongside the coordinates, so the model doesn't have to guess where that actually is.

One-shot only. LocalLM Lab never tracks your location in the background.

Tool calls: getCurrentLocation

Try in Prompt Playground

  • "Where am I right now?"
  • "What city am I in?"

Turning on many connectors at once can exhaust the model's context

Apple's on-device model has a small context window. Every connector (and MCP tool) you enable adds its schema to that budget before your prompt is even considered — with several connectors and MCP servers all turned on simultaneously, that alone can leave almost no room for an actual answer, and a request can fail with a context-window error. See Known Issues for the full explanation and a guideline on how many to enable at once.

Every connector needs your permission first

Calendar, Reminders, Contacts, and Location all require you to grant macOS's real system permission before they'll work — the same permission dialog you'd see from any other app asking for that data. LocalLM Lab can't read any of it until you say yes, and you can revoke access at any time in System Settings → Privacy & Security.

These are two separate switches, not one. The toggle in Local AI Settings controls whether the model is offered the connector at all — turn it off and the model has no way to even attempt a lookup, regardless of what macOS has granted. The macOS permission (checked in System Settings) controls whether the connector can actually read your data once it's offered. Turning the in-app toggle off never revokes the macOS permission — only System Settings or an OS-level reset can do that — so re-enabling the toggle later won't prompt you again if you've already said yes once.

Full Access: letting the model change or delete things

Off by default. Full Access is a separate switch — not a macOS permission, just a setting inside LocalLM Lab itself — that unlocks modifying and permanently deleting existing Calendar events and Reminders, and creating, modifying, or deleting Contacts. Without it, those three connectors stay limited to what's described above no matter what macOS permission you've granted.

A few things worth knowing before you turn it on:

Turn it on in Local AI Settings (for Prompt Playground) or API Settings (for API Lab) — each has its own "Full Access" toggle, right alongside the other connector controls.

Everything above describes LocalLM Lab the app. The SDK and CLI toolkit reach the same connectors through different rules entirely:

Contact

Reading is available for every connector by default; Calendar and Reminders can also create by default. Modifying or deleting an existing item, or creating a Contact, needs Full Access turned on (see above). If you need something beyond what's described on this page, let us know what you're trying to do.

Questions about a specific connector, or want capabilities beyond what's listed here? Contact neuron@thisbrain.ai or join our Discord.