Three pieces, all on the Mac
An agent can only answer “what did we decide about the launch date?” if it can reach the conversation. The usual route is a cloud notetaker: a bot or app sends the audio to a vendor, and the vendor's connector hands transcripts to the agent. A local setup replaces each step:
- Capture without a bot. LokalBot records your microphone and the meeting app's audio on separate tracks. Nothing joins the call.
- Transcribe and index on-device. Speech recognition, summaries, and the search index run on Apple Silicon and stay in a local library.
- Open it read-only. The bundled
lokalbot-cliis both a command-line tool and an MCP server that your agent starts on your Mac over stdio. It is off until you turn it on.
Set it up
- Install LokalBot, let the models download, and record a short test meeting.
- In Settings → Privacy & Data → External agents, turn on Allow external agents to read your meeting library.
- In Settings → Advanced → Agent CLI, choose Install for your coding agent. It links
lokalbot-cliinto~/.local/binand installs a skill that explains the commands to agents. - Register the MCP server with your agent:
# Claude Code $ claude mcp add lokalbot -- lokalbot-cli mcp # Codex $ codex mcp add lokalbot -- lokalbot-cli mcp
In Claude Code you can install the LokalBot plugin instead. It adds the same server and a /lokalbot:recall command: run /plugin marketplace add stevyhacker/lokalbot, then /plugin install lokalbot@lokalbot. Other MCP clients that can start a local command, such as Cursor, use the same lokalbot-cli mcp.
What the agent can do
- Find meetings.
list_meetingsfilters by date and title, andsearch_meetingssearches titles, summaries, and transcripts by word. - Read one.
get_meetingreturns a meeting's metadata, summary, or transcript as Markdown, so the agent can ask for just the summary. - Ask a question.
ask_libraryhas LokalBot's local model answer from your library, with meeting citations. The agent gets the answer instead of raw transcripts, which also keeps long calls out of its context window. The LokalBot app must be running, and the first answer can take up to a minute while the model loads. - Follow up.
get_action_itemslists open actions with your corrections applied, andlist_peopleshows who you meet, by name only. Email addresses are never returned.
An agent without MCP can run the same commands in a shell. For example, lokalbot-cli search "pricing decision" prints matching meetings as JSON.
If you also save screen text, a second toggle, Allow external agents to read screen memory, grants access to today, the last seven days, or all retained history. Those tools return captured text and metadata, never screenshot pixels.
Where your meetings go once an agent reads them
LokalBot doesn't upload your library, and its agent access is read-only, so the agent can't change or delete meetings. But whatever a tool returns becomes part of the agent's conversation, and Claude Code and Codex send that conversation to Anthropic or OpenAI under their own terms. Treat it like pasting the text in yourself:
- Prefer
search_meetingsandask_libraryto pulling whole transcripts. - Turn access on only for agents you trust with that content, and turn the toggle off to cut access again.
- The toggle controls LokalBot's CLI and MCP server. An agent that can run shell commands as you can also read any file your account can, so use the agent's own permission settings to limit file access.