silverstein/minutes
Open-source, local-first Granola/Otter alternative that Claude Code, Codex, Cursor, and any MCP client can query. Meetings, calls, and voice memos transcribed on-device into markdown you own.
minutes – Local conversation‑memory for AI agents
What it is – minutes is an open‑source desktop app (with a companion CLI and an MCP‑compatible server) that records, transcribes, and stores your meetings, calls, voice memos and dictations as plain‑text Markdown files on your own machine. The files live in ~/meetings/ and include a small YAML front‑matter block that captures metadata (title, date, participants, decisions, action items, etc.). Because the data never leaves your computer unless you explicitly send it to a cloud LLM, it acts as a private “second brain” that any AI‑enabled tool can query.
Why it matters for AI/LLM users – Modern LLM agents (Claude Code, Codex, Cursor, OpenCode, Gemini‑CLI, Pi, Mistral Vibe, etc.) are great at answering questions if they have the right context. minutes supplies that context on‑demand: an MCP tool called search_meetings lets an agent retrieve relevant excerpts from your own meeting notes, and the results can be fed back into the agent’s prompt or into a knowledge vault (Obsidian, Logseq, etc.). This makes the AI agent‑first workflow possible without relying on hosted services that store your conversations.
How it works
- Capture – Use the menu‑bar desktop UI or the CLI (
minutes record) to start a microphone recording. When you stop (minutes stop) the audio is transcribed locally (on‑device Whisper‑style models) and saved as a Markdown file. - Storage – Files are plain Markdown with a YAML front‑matter schema (title, type, date, duration, decisions, action items, …). They can be edited, version‑controlled, or searched with any tool that understands Markdown.
- Query – The bundled MCP server exposes 34 tools; the most used is
search_meetings({"query":"…"}). Any MCP‑compatible client (Claude Code, Cursor, etc.) can call this to get relevant meeting excerpts. - Integration – There are ready‑made plugins for Claude Code, Cursor, OpenCode, Pi, Gemini‑CLI, Mistral Vibe, Cowork, Dispatch, and generic MCP clients. An SDK also lets TypeScript code read the meeting files directly.
- Privacy – Transcription and speaker diarisation run locally; audio never leaves the device unless you deliberately send a snippet to a cloud summarizer. Sensitive meetings can be marked “restricted” to omit audio and enforce consent reminders.
Installation options
| Method | What you get | Command |
|---|---|---|
| Desktop app (with bundled CLI) | GUI + menu‑bar capture, plus minutes command in PATH |
brew install --cask silverstein/tap/minutes |
| Standalone CLI | Only the command‑line tool (no GUI) | brew install silverstein/tap/minutes or cargo install minutes-cli |
| MCP client | Adds the minutes-mcp tool for any MCP‑compatible agent |
npx -y minutes-mcp (or claude mcp add minutes -- npx -y minutes-mcp) |
Typical workflow
- Record a meeting:
minutes record→ speak →minutes stop. - The app creates
~/meetings/2026-04-12‑team‑sync.mdwith structured front‑matter. - In your LLM agent, call
search_meetings({"query":"pricing decision"}). - The agent returns the relevant excerpt, which you can paste into a prompt or let the agent automatically enrich a knowledge base.
Who should use it
- Agent‑first developers who want a local, searchable store of conversational context for their custom LLM agents.
- Power users who prefer a desktop note‑taking app that also provides AI‑ready transcripts and decision tracking.
- Privacy‑conscious professionals who need meeting minutes stored locally and only share selective excerpts with cloud services.
Key differentiators
| Feature | minutes | Granola | Otter.ai | Anarlog |
|---|---|---|---|---|
| Storage | Local Markdown + YAML (user‑owned) | Hosted workspace | Hosted workspace | Local SQLite + files |
| AI integration | MCP‑based, works with any LLM client | Hosted MCP only | Hosted integrations | CLI + MCP |
| Transcription | On‑device (no cloud) | Cloud | Cloud | Optional local providers |
| Extensibility | CLI (58 commands), SDK, MCP tools, plugins | Limited to hosted platform | Limited |
Documentation & community – The repo ships extensive docs covering installation, command reference, integration guides for each supported LLM client, security & consent design, front‑matter schema, and migration from competing tools. A public website (useminutes.app) hosts comparison charts, persona notes, and a searchable list of supported LLMs.
License – MIT, with a clear statement that the project will remain free and open‑source.
Bottom line – minutes gives you a self‑hosted, privacy‑first “memory layer” that turns everyday conversations into structured, searchable Markdown files, and exposes them to any LLM agent via a simple MCP API. It’s a practical building block for anyone building or using AI assistants that need reliable, on‑demand context from past meetings.
Related
- Project
- Project
- Project
- Project
- Project