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

  1. Record a meeting: minutes record → speak → minutes stop.
  2. The app creates ~/meetings/2026-04-12‑team‑sync.md with structured front‑matter.
  3. In your LLM agent, call search_meetings({"query":"pricing decision"}).
  4. 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