minutes

App Listed

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.

Checked · Sources

Downloads
3,152
Dependents
Not applicable
Stars
1,595
Forks
182
Contributors
39
Commits
2,718
Latest release
0.32.1 ·

About

From the project README ·

useminutes.app

Minutes is a free, open-source conversation memory app for the AI you already use. Record and transcribe meetings, calls, voice memos, and dictation on your device, then let Claude Code, Codex, Cursor, or another MCP client search the history you choose to share. Your records are Markdown files you own in ~/meetings/.

Capture, transcription, and storage run locally. If you choose a cloud AI assistant or summarizer, the meeting context you authorize is sent to that provider.

Your conversations. Your memory. Ready for the AI you use.

minutes demo; record, dictate, phone sync, AI recall

Install

Choose the desktop app or one standalone CLI installation. The desktop app includes a CLI: use About Minutes → Set up CLI to add it to your PATH.

brew install --cask silverstein/tap/minutes  # Desktop app, with bundled CLI
brew install silverstein/tap/minutes         # Standalone CLI alternative
cargo install minutes-cli                   # Standalone CLI via Cargo

For an agent connection, add the MCP server separately with claude mcp add minutes -- npx -y minutes-mcp (or run npx minutes-mcp from another MCP client).

If Homebrew reports an untrusted tap, run brew trust silverstein/tap once.

Read the full README

Ask your agent

Add Minutes to your agent, seed five sample meetings (no mic needed), then ask about them:

claude mcp add minutes -- npx -y minutes-mcp
minutes demo --full

What did we decide about monthly billing, and did it stick?

The answer spans two meetings a month apart: launched on Feb 28, reversed on Mar 25.

A direct MCP call uses the same local meeting files:

search_meetings({"query":"monthly billing decision"})

Record a real one with minutes record, then minutes stop to transcribe. minutes demo --clean removes the samples. Setup: Codex, Gemini CLI, and Claude Desktop, Cursor, OpenCode, Pi, Mistral Vibe, and Cowork or Dispatch.

Works with

Claude Code · Codex · Cursor · OpenCode · Pi · Gemini CLI · Claude Desktop · Mistral Vibe · Cowork · Dispatch · Obsidian · Logseq · any MCP client

How it compares

WorkflowGranolaOtter.aiAnarlog (formerly Hyprnote)Minutes
ProductHosted meeting notepadHosted meeting assistantLocal meeting notepadLocal conversation memory
Agent accessHosted MCPHosted integrationsCLI + MCPLocal files, MCP, CLI, SDK
Primary storageHosted workspaceHosted workspaceLocal SQLite + filesLocal Markdown + YAML
Local AICloud transcriptionCloud transcriptionWith local providersLocal transcription; AI provider of your choice

Reviewed September 5, 2026 against Granola MCP, Otter privacy and security, and the Anarlog repository. Anarlog's community app is MIT; its enterprise components use a commercial license. See the detailed comparison and open-source alternatives for fit and limitations.

Who it's for

Agent-first users treat Minutes as the capture layer of a local second brain. They search meetings through Claude Code, Cursor, Codex, OpenCode, MCP, or the CLI, then fold useful context into a vault or wiki they own.

Desktop notetaker users record and read results in the app. They value reliable setup, clear processing and recovery, Recall, documents, Coach, and summary quality. See the full persona notes.

Surfaces

SurfaceWhat it providesDocs
Desktop appMenu bar capture, dictation, Recall, documents, and Coach.Install
CLI (60 commands)Local recording, processing, search, import, and automation.Commands
MCP server (34 tools)Local meeting tools and resources for any MCP client.MCP reference
Claude Code plugin (23 skills)Prep, capture, live help, debrief, and memory workflows.Client setup
SDKTypeScript access to meeting files without MCP.Agent architecture

Dictation

The desktop Dictation settings bring writing preferences, personal spellings and snippets, microphone selection, and recent text together. Cursor context is optional and stays on the Mac. Recovery restores text for review; local edits use an explicit Ollama preview, and spelling corrections require confirmation.

See dictation behavior and evaluation boundaries for supported fields, safe insertion and undo, clipboard restoration, and the synthetic benchmark.

Output format

Meetings are plain markdown with structured YAML frontmatter:

---
title: Q2 Pricing Discussion with Alex
type: meeting
date: 2026-03-17T14:00:00
duration: 42m
context: Discuss Q2 pricing
action_items:
  - assignee: mat
    task: Send pricing doc
    due: Friday
    status: open
decisions:
  - text: Test monthly billing with 10 advisors
---

See the frontmatter schema. Files work with Obsidian, grep, and any markdown tool.

Privacy & consent

  • Transcription and speaker processing run on-device. Audio stays on your machine.
  • Sensitive meetings save typed markers without audio and default to restricted.
  • Consent reminders, acknowledgement, and provenance help you disclose recording.
  • Text leaves the machine only when you send authorized context to a cloud agent or summarizer.

See the security documentation and consent enforcement design.

Docs

Contributing

See CONTRIBUTING.md. Minutes is MIT licensed and staying that way: no relicensing, no paid tier for anything in this repo.

MIT. Built by Mat Silverstein, founder of X1 Wealth.

Star History

Runs on
CUDA, Metal, Vulkan
What shows it
  • CUDA: minutes-core feature cuda, minutes-cli feature cuda
  • Metal: minutes-core feature metal, minutes-cli feature metal
  • Vulkan: minutes-core feature vulkan, minutes-cli feature vulkan
Native code
Required
  • Binds native code: alsa-sys, libsqlite3-sys, knf-rs-sys (feature diarize), ort-sys (feature diarize), whisper-rs-sys (feature coreml)
Python bindings
No Python binding crate found
License
MIT

Compare with similar projects

Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.

minutes beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
minutes This page App Listed

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.

3,152 binary downloads per release Not applicable 1,595 0.32.1 CUDA, Metal, Vulkan Binds native code: alsa-sys, libsqlite3-sys, knf-rs-sys (feature diarize), ort-sys (feature diarize), whisper-rs-sys (feature coreml) MIT
msedge-tts Listed

This library is a wrapper of MSEdge Read aloud function API. You can use it to synthesize text to speech with many voices MS provided.

5,349 downloads over 30 days 3 27 0.4.1 GPU support unknown No native code found Apache-2.0 OR MIT
any-tts Listed

A Rust TTS library with Candle backends and runtime adapters for modern open TTS models

3,404 downloads over 30 days 2 23 0.2.0 CUDA, Metal No native code found Apache-2.0 OR MIT
whisrs App Listed

Voice for the Linux desktop: dictation, read-aloud (TTS), and voice-driven LLM commands, with Groq, OpenAI, Deepgram, and local Whisper backends

61 binary downloads per release Not applicable 149 0.2.0 CUDA, Vulkan Binds native code: alsa-sys, mac-notification-sys, wayland-sys (feature overlay), whisper-rs-sys (feature local-whisper) MIT
gradbot Listed

Open source framework to vibecode and prototype voice agents with Gradium APIs

31 downloads over 30 days 3 152 0.6.4 GPU support unknown No native code found Apache-2.0 OR MIT
voxr New

Audio and speech on boostr: compressed-audio decode, resampling, DSP and grapheme to phoneme, with speech synthesis (Kokoro, VITS), voice cloning (VoxCPM2), transcription with word timings (Whisper), voice activity (Silero) and audio-text scoring (CLAP), on CPU or CUDA.

642 downloads over 30 days 2 2 0.9.1 CUDA No native code found Apache-2.0
Why ListedNo archive, New or Featured rule places it, so it is Listed.

What it lacks for Featured

  • The check holds no value for Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days. A gate that lacks its signal does not pass.

What else the check found

  • The last activity is on 6 Nov 2026, 3 days ago. The rules expect an update within 365 days. Dormancy rule

Not measured: Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days.

Exact rules: Listed, Featured app. The check on applied thresholds version 9.

Every rule outcome, as the check records it
  • expected-interval: app: E = 365 days
  • dormancy: last activity 2026-11-06, 3 days ago, E = 365: active
  • featured: not featured: unknown homebrew_on_request_365d, repology_families, docker_pull_growth_90d
  • listed: listed: no archive, new or featured rule applies
Crates3 crates

Measurements and sources

Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.

Sources6 sources
Adoption3,152 binary downloads per release4 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependentsNot measuredYes
New dependents (365 days)Not measuredYes
Peak active dependentsNot measuredYes
Active dependents as a share of the peakNot measuredYes
Binary downloads per release3152GitHub releasesYes
MaintenanceLatest human commit: 3 days ago4 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-11-06GitHub repositoryYes
Latest release2026-11-05GitHub releasesYes
First release2026-03-24crates.io database dumpYes
Latest version0.32.1crates.io database dumpNo
Days the oldest outside issue waits for a reply1GitHub repositoryYes
Maintainer replies over 365 days74GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruecrates.io packageNo
Published docsNot measuredYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityNot measured
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windowNot measuredYes
RustSec unmaintained advisoryNot measuredYes
Deprecation noticeNot measuredYes
Deprecated requirementNot measuredYes
Distribution54 releases, 505 downloads over 30 days6 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases54crates.io database dumpNo
Downloads over 30 days505crates.io database dumpNo
Binary downloads over the last 3 releases9456GitHub releasesYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleasefalsecrates.io database dumpYes
Every version 0.0.xfalsecrates.io database dumpYes
Every version yankedNot measuredYes
Crate deleted from crates.ioNot measuredYes
Repository1,595 stars, 182 forks, 39 contributors, 2,718 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars1595GitHub repositoryYes — one part of the repository route
GitHub forks182GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account39GitHub contributorsYes — one part of the repository route
Commits on the default branch2718GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseMITcrates.io database dumpNo
Runs on, from listed crates and their direct dependenciesCUDA, Metal, Vulkancrates.io database dumpNo
What shows each backendCUDA: minutes-core feature cuda, minutes-cli feature cuda; Metal: minutes-core feature metal, minutes-cli feature metal; Vulkan: minutes-core feature vulkan, minutes-cli feature vulkancrates.io database dumpNo
Native code, from listed crates and their dependenciesBinds native code: alsa-sys, libsqlite3-sys, knf-rs-sys (feature diarize), ort-sys (feature diarize), whisper-rs-sys (feature coreml)crates.io database dumpNo
Python bindings, from direct dependencies of listed cratesNo Python binding crate foundcrates.io database dumpNo
Crates that depend on a listed crate directlyNot measuredNo

Corrections and review history

Report a correction

No correction applies to this entry.

Judgments

A judgment enters only through an approved issue and a merged pull request.

No judgment applies to this entry.