Minutes

io.github.silverstein由 GitHub 帳號 silverstein 發布v0.32.1更新於 Nov 6, 2026

The private, owned conversation-memory layer for AI. Record, transcribe, and search every meeting.

概覽

AI 產生的概覽

Minutes 是本地對話記憶 MCP 伺服器,讓助理錄製、轉錄、搜尋並摘要會議、通話、語音備忘與口述內容,資料以 Markdown 檔案保存在本機。

可以做什麼
  • 開始與停止錄音、口述與即時轉錄,並為目前錄音加入帶時間戳的筆記
  • 列出、搜尋與讀取會議、含講者標註的轉錄,以及結構化洞察、決策與承諾
  • 查詢綁定於某場會議的桌面脈絡:活動摘要、脈絡搜尋、回放時刻與最多三張截圖
  • 追蹤承諾與人際關係、建立人物側寫、執行一致性報告並跨會議研究主題
  • 處理受限的 WAV 檔案、將會議匯入知識庫、重新摘要已編輯的會議並檢視知識庫狀態
  • 啟動、停止並觀察即時 copilot,讀取其提示
適用情境
適合想讓 Claude Code、Cursor 或 Codex 等 AI 用戶端回答關於自己錄製的會議與通話的問題、追蹤承諾與決策,或維護一份本機、以檔案為基礎的對話記憶時使用。
執行需求
以本機程序透過 npx 執行(npm 套件 minutes-mcp);需先安裝 Minutes 桌面應用程式或獨立 CLI,並將其 CLI 加入 PATH。錄音、轉錄與儲存都在本機進行,未宣告 API 金鑰或環境變數。部分功能需要設定,例如 ingest_meeting 需在 config.toml 中設定 knowledge,註解功能需在 agents 允許檔案中加入 agent_id。
安裝前請注意
它會錄製音訊,並可能擷取桌面脈絡與截圖,因此需注意知情同意與告知;敏感會議預設為受限,除非有操作員啟動授權並設定 include_restricted=true 且留存稽核,否則會被排除。當你把授權脈絡傳送給雲端助理或摘要服務時,文字會離開本機。重新摘要會呼叫模型,即使預覽也會產生費用。相關工具會寫入筆記、註解與會議檔案,process_audio 會讀取音訊檔案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Minutes,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

minutes

[GitHub stars] [License: MIT] [crates.io] [npm]

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.

bash
brew install --cask silverstein/tap/minutes  # Desktop app, with bundled CLIbrew install silverstein/tap/minutes         # Standalone CLI alternativecargo 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.

Ask your agent

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

bash
claude mcp add minutes -- npx -y minutes-mcpminutes 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:

text
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:

yaml
---title: Q2 Pricing Discussion with Alextype: meetingdate: 2026-03-17T14:00:00duration: 42mcontext: Discuss Q2 pricingaction_items:  - assignee: mat    task: Send pricing doc    due: Friday    status: opendecisions:  - 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

[Star History Chart]

來源:README.md,提交 d5e706e

工具

34

start_recording

Start Recording

Start recording audio with call-aware preflight. When a known call app is active, Minutes can infer call intent and block silent mic-only call captures unless explicitly allowed. Note: this server does not listen to audio content. Recordings are stopped by invoking stop_recording after the user types a request in chat — never promise the user they can speak a 'stop recording' voice command. Docs: https://useminutes.app/docs/mcp/tools#tool-start_recording

輸入參數modetitleintentlanguageallow_degradedskip_audio_probe_reason

stop_recording

Stop Recording

Stop the current recording and process it (transcribe, diarize, summarize). Docs: https://useminutes.app/docs/mcp/tools#tool-stop_recording

無需輸入參數。

get_status

Recording Status

Check if a recording is currently in progress. Docs: https://useminutes.app/docs/mcp/tools#tool-get_status

無需輸入參數。

list_processing_jobs

Processing Jobs

List background processing jobs for recent recordings, including queued, transcript-ready, needs-review, failed, and completed work. Docs: https://useminutes.app/docs/mcp/tools#tool-list_processing_jobs

輸入參數limitinclude_completed

list_meetings

List Meetings

List recent meetings, voice memos, and dictations. Restricted meetings are excluded. An override requires both an operator launch grant and include_restricted=true, and is durably audited. Docs: https://useminutes.app/docs/mcp/tools#tool-list_meetings

輸入參數typelimitinclude_restricted

search_meetings

Search Meetings

Search meeting transcripts, voice memos, and dictations. Restricted meetings are excluded. An override requires both an operator launch grant and include_restricted=true, and is durably audited. Docs: https://useminutes.app/docs/mcp/tools#tool-search_meetings

輸入參數typelimitownerquery必填sinceintent_kindintents_onlyinclude_restricted

activity_summary

Activity Summary

Summarize meeting-adjacent desktop context bound to one exact normal meeting source. Docs: https://useminutes.app/docs/mcp/tools#tool-activity_summary

輸入參數path必填

search_context

Search Context

Search desktop-context events bound to one exact normal meeting source. Docs: https://useminutes.app/docs/mcp/tools#tool-search_context

輸入參數path必填limitquery必填

get_moment

Get Moment

Show the local rewind bound to one exact normal meeting source. Docs: https://useminutes.app/docs/mcp/tools#tool-get_moment

輸入參數atpath必填after_minutesbefore_minutes

get_screen_context

Get Screen Context

Retrieve up to three verified PNG screenshots bound to one exact normal meeting source, optionally nearest a timestamp. Docs: https://useminutes.app/docs/mcp/tools#tool-get_screen_context

輸入參數atpath必填limit

consistency_report

Consistency Report

Flag conflicting decisions and stale commitments across meetings using structured intent data. Meetings designated `sensitivity: restricted` are always excluded from this report. Docs: https://useminutes.app/docs/mcp/tools#tool-consistency_report

輸入參數ownerstale_after_days

get_person_profile

Person Profile

Get a relationship profile derived from live, policy-authorized meeting snapshots within the supported corpus bounds. Restricted meetings are excluded unless an operator launch grant plus include_restricted=true is durably audited. Docs: https://useminutes.app/docs/mcp/tools#tool-get_person_profile

輸入參數name必填include_restricted

research_topic

Research Topic

Research a topic across policy-authorized meetings within the supported corpus bounds. Restricted meetings are excluded. An override requires an operator launch grant plus include_restricted=true and is durably audited. Docs: https://useminutes.app/docs/mcp/tools#tool-research_topic

輸入參數typequery必填sinceattendeeinclude_restricted

get_meeting

View Meeting

Get a full meeting transcript with speaker overlays. A restricted meeting returns a stub. Full access requires an operator launch grant plus include_restricted=true and is durably audited. Docs: https://useminutes.app/docs/mcp/tools#tool-get_meeting

輸入參數path必填include_restricted

process_audio

Process Audio

On macOS and Linux, process a bounded WAV file from the Minutes inbox or Downloads through the transcription pipeline. Compressed/private containers and Windows fail closed without reading audio. Retained meeting-library audio is unavailable to agent surfaces. Docs: https://useminutes.app/docs/mcp/tools#tool-process_audio

輸入參數typetitlelanguagefile_path必填

add_note

Add Note

Add a note to the current active recording. Notes are timestamped and included in that recording's meeting summary. Existing meeting files cannot be mutated from this assistant tool. Docs: https://useminutes.app/docs/mcp/tools#tool-add_note

輸入參數text必填

track_commitments

Track Commitments

List open and stale action items and explicit intent commitments from live meeting frontmatter. Optionally filter by person. Answers: 'What did I promise Sarah?' or 'What's overdue?' Meetings designated `sensitivity: restricted` never enter this live-source view. Docs: https://useminutes.app/docs/mcp/tools#tool-track_commitments

輸入參數person

relationship_map

Relationship Map

Show contacts with relationship scores, meeting frequency, and losing-touch alerts from the bounded process-private graph projection. Restricted meetings never enter the projection. Docs: https://useminutes.app/docs/mcp/tools#tool-relationship_map

輸入參數limit

start_dictation

Start Dictation

Start dictation mode. Speak naturally — text accumulates across pauses and the combined result is written when dictation ends. Runs until stop_dictation is called or silence timeout. Docs: https://useminutes.app/docs/mcp/tools#tool-start_dictation

輸入參數language

stop_dictation

Stop Dictation

Stop the current dictation session. Docs: https://useminutes.app/docs/mcp/tools#tool-stop_dictation

無需輸入參數。

list_voices

Voice Profiles

List active voice enrollments for speaker identification. Shows who has been enrolled, sample count, and model version. Docs: https://useminutes.app/docs/mcp/tools#tool-list_voices

無需輸入參數。

confirm_speaker

Confirm Speaker

Compatibility registration for speaker confirmation. Agent-controlled mutation is intentionally unavailable; confirm in the Minutes app or a human CLI session so identity changes cannot race policy authorization. Docs: https://useminutes.app/docs/mcp/tools#tool-confirm_speaker

輸入參數name必填meeting必填speaker_label必填

add_agent_annotation

Add Agent Annotation

Append attributed agent commentary as an agent.annotation event. This never edits meeting markdown/frontmatter and is rejected unless the agent_id is allowed in ~/.minutes/agents.allow. Docs: https://useminutes.app/docs/mcp/tools#tool-add_agent_annotation

輸入參數body必填toolssubkindagent_id必填citationsconfidencemeeting_idprovenancespan_end_msmeeting_pathspan_start_ms

get_agent_annotations

Get Agent Annotations (Unavailable)

Compatibility name only: unavailable in MCP because an annotation's source pointer and body are both author-supplied, so revalidating the pointer cannot bound what the body discloses. Docs: https://useminutes.app/docs/mcp/tools#tool-get_agent_annotations

輸入參數limitagent_idmeeting_idmeeting_path

get_meeting_insights

Get Meeting Insights

Query structured insights extracted from meetings, decisions, commitments and questions with confidence levels. Each insight records a path to the meeting it was derived from; that path is resolved to a meeting in the live corpus, and the resolved meeting is re-read from disk and re-verified against the live sensitivity policy before the insight is released. A path that cannot be resolved into this corpus is withheld. Released records carry the source title and path as they were recorded, which may name a location outside this corpus. Withheld records are reported as a partial view rather than an empty one. Docs: https://useminutes.app/docs/mcp/tools#tool-get_meeting_insights

輸入參數kindlimitsinceconfidenceparticipantactionable_onlyinclude_restricted

start_copilot

Start Copilot

Start the independent Minutes real-time copilot for a goal. This launches `minutes copilot start`; MCP does not run model inference, own capture, or need to stay connected for the engine to produce nudges. The stdout surface is recommended for complete structured nudge observation. Docs: https://useminutes.app/docs/mcp/tools#tool-start_copilot

輸入參數goal必填surface

stop_copilot

Stop Copilot

Request that the active Minutes copilot stop. This invokes `minutes copilot stop` and never stops recording or live transcription. Calling it while no copilot is active returns a calm not-active status. Docs: https://useminutes.app/docs/mcp/tools#tool-stop_copilot

無需輸入參數。

copilot_status

Copilot Status

Read the current operational copilot state from the strict `minutes copilot status --json` contract. This is observation only and returns a clear Off/not-active payload when no engine is running. Docs: https://useminutes.app/docs/mcp/tools#tool-copilot_status

無需輸入參數。

read_copilot_nudges

Read Copilot Nudges

Read nudges observed from the active real CLI copilot stream. Use cursor (or a numeric since value) for lossless delta reads; since also accepts durations such as '5m'/'30s' and ISO timestamps. MCP never generates nudges itself. Docs: https://useminutes.app/docs/mcp/tools#tool-read_copilot_nudges

輸入參數limitsincecursor

start_live_transcript

Start Live Transcript

Start real-time transcription. If a recording is already running, it already includes a live transcript — use read_live_transcript to read it. Runs until stop is called. Docs: https://useminutes.app/docs/mcp/tools#tool-start_live_transcript

輸入參數language

read_live_transcript

Read Live Transcript

Read the live transcript — works during both recordings and live transcript sessions. Use 'since' to get new finalized lines after a cursor (line number) or time window (e.g., '5m', '30s'). Set include_current for one fresh, clearly provisional current-speech draft. Use 'status' mode to check if a session is active. Docs: https://useminutes.app/docs/mcp/tools#tool-read_live_transcript

輸入參數sincestatus_onlyrelay_cursorinclude_current

ingest_meeting

Ingest Meeting

Extract facts from a meeting and update the knowledge base (person profiles, log, index). Requires [knowledge] to be configured in config.toml. Uses structured frontmatter data only by default (zero hallucination risk). Set engine to 'agent' for richer LLM-based extraction. Docs: https://useminutes.app/docs/mcp/tools#tool-ingest_meeting

輸入參數allpathdry_run

resummarize_meeting

Resummarize Meeting

Re-run the AI pass (summary, action items, decisions) on an edited meeting or memo. Preview by default: returns the regenerated content WITHOUT writing — note the summarization model IS still invoked (cost applies even in preview). Set apply=true to write the file (a timestamped backup is created and derived views — graph, search index, vault, QMD — refresh automatically). User edits outside AI-owned sections are never touched; checked action items and decision notes are carried forward by the merge. Docs: https://useminutes.app/docs/mcp/tools#tool-resummarize_meeting

輸入參數path必填applyengineingesttemplateinclude_restricted

knowledge_status

Knowledge Status

Reconcile persistent meeting derivatives and show the privacy-safe knowledge-base status. This cleanup/status tool cannot create or register an external index. Docs: https://useminutes.app/docs/mcp/tools#tool-knowledge_status

無需輸入參數。

版本歷史

22
  1. v0.32.1最新Nov 5, 2026
  2. v0.32.0Nov 3, 2026
  3. v0.31.1Oct 29, 2026
  4. v0.30.10Oct 22, 2026
  5. v0.30.9Oct 21, 2026
  6. v0.30.8Oct 21, 2026
  7. v0.30.7Oct 20, 2026
  8. v0.30.6Oct 20, 2026
  9. v0.30.5Oct 19, 2026
  10. v0.30.4Oct 18, 2026
  11. v0.30.2Oct 17, 2026
  12. v0.30.1Oct 16, 2026
  13. v0.30.0Oct 15, 2026
  14. v0.29.1Oct 14, 2026
  15. v0.29.0Oct 13, 2026
  16. v0.28.2Oct 9, 2026
  17. v0.28.1Oct 7, 2026
  18. v0.28.0Oct 7, 2026
  19. v0.27.2Oct 1, 2026
  20. v0.27.1Oct 1, 2026
  21. v0.27.0Sep 26, 2026
  22. v0.26.3Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分