Better Bear vs Minutes

A side-by-side look at the Better Bear and Minutes MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Better Bear logoBetter BearKnowledge & Memory · Local subprocess (stdio)MCP server for Bear notes — read, search, create, edit, tag, and manage notes via CloudKit60GoodAuth: not declaredMinutes logoMinutesKnowledge & Memory · Local subprocess (stdio)The private, owned conversation-memory layer for AI. Record, transcribe, and search every meeting.71GreatAuth: no auth required

Verdict: choose Better Bear for knowledge & memory work as a local process; choose Minutes for knowledge & memory as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Better Bear logoChoose Better Bear when

  • You need dedicated capabilities in the Knowledge & Memory domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like bear_list_notes, bear_get_note, bear_search.
Explore Better Bear

Minutes logoChoose Minutes when

  • You need dedicated capabilities in the Knowledge & Memory domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like start_recording, stop_recording, get_status.
Explore Minutes

Feature & specification comparison

Rows where the two servers differ are marked.

SpecBetter Bear logoBetter BearMinutes logoMinutes
CategoryKnowledge & MemoryKnowledge & Memory
Quality signal60/100 · Good71/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNo auth required
PricingNot declaredFree
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars681,564
Directory activity 2 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools3534

Tools & capabilities

Better Bear tools 35

  • bear_list_notesList Bear notes with optional tag filtering. Returns an array of notes with IDs, titles, tags, pin status, and modification dates. Each note includes two tag fields: 'tags' mirrors Bear's CloudKit index verbatim (includes ancestor expansions — a note tagged #parent/child will show both 'parent' and 'parent/child'); 'attached_tags' shows only leaf tags (the most-specific tag on each branch). Notes with 'locked: true' are private/encrypted in Bear and their body content is not searchable — if a search returns no results, check whether the relevant note is locked. Use bear_get_note to read the full content of a specific note.
  • bear_get_noteGet a single Bear note's full content and metadata by ID. Returns the note title, tags, full markdown text, and dates. The response includes 'tags' (CloudKit index, may contain ancestor tags like 'parent' for a note tagged '#parent/child') and 'attached_tags' (leaves only). If the note is locked/private, 'locked: true' will be included in the response. Use the 'raw' option to get just the markdown without metadata.
  • bear_searchFull-text search across Bear note titles, tags, and body content. Returns matching notes ranked by relevance (title matches first, then tag, then body). Body matches include a text snippet with surrounding context. Locked/private notes will match by title but may not match body searches — results include 'locked: true' for these notes. If you can't find content you expect, try listing notes to check if the relevant note is locked.
  • bear_get_tagsGet the full tag hierarchy from Bear. Returns all tags with their note counts and pin status. Useful for understanding how notes are organized.
  • bear_create_noteCreate a new Bear note with a title, optional body text, tags, and YAML front matter. Hashtags written inline in the body (e.g. '#my_tag' or '#parent/child') are extracted and registered as real tags on the note, matching Bear's desktop-app behaviour. Tags from the 'tags' array are indexed regardless of whether they appear in the body. Hierarchical tags like '#parent/child' also index every ancestor (so they show up under #parent in Bear's sidebar). Front matter is stored as a collapsed metadata block at the top of the note. Returns the new note's ID.
  • bear_edit_noteEdit an existing Bear note. Provide 'append_text' to add text, 'body' to replace content, or 'set_frontmatter'/'remove_frontmatter' to edit YAML front matter fields. Front matter edits can be combined with each other but not with body/append.
  • bear_trash_noteMove a Bear note to the trash. This is a soft delete — the note can be recovered from Bear's trash. The note is identified by its ID.
  • bear_syncTrigger a sync of Bear notes from iCloud. Normally an incremental sync fetching only changes. Use 'full' to force a complete re-sync. Most read operations auto-sync when the cache is stale, so manual sync is rarely needed.
  • bear_list_todosList Bear notes that have incomplete TODO items (markdown checkboxes like '- [ ]'). Returns each note's title, tags, and counts of complete/incomplete items.
  • bear_get_todosGet all TODO items from a specific Bear note. Returns each item's text, completion status, and index number (use the index with bear_toggle_todo to toggle items).
  • bear_toggle_todoToggle a specific TODO item in a Bear note between complete and incomplete. The item_index is 1-based — use bear_get_todos first to see the list with index numbers.
  • bear_attach_fileAttach a file or image to an existing Bear note. The file is uploaded to iCloud and embedded in the note's markdown. Supports common image formats (jpg, png, gif, webp, heic) and other file types (pdf, zip, etc.). By default the attachment is appended to the end. Use 'after' or 'before' to place it relative to text in the note, or 'prepend' to put it right after the title.
  • +23 more on the listing page

Minutes tools 34

  • start_recordingStart 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
  • stop_recordingStop the current recording and process it (transcribe, diarize, summarize). Docs: https://useminutes.app/docs/mcp/tools#tool-stop_recording
  • get_statusCheck if a recording is currently in progress. Docs: https://useminutes.app/docs/mcp/tools#tool-get_status
  • list_processing_jobsList 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
  • list_meetingsList recent meetings and voice memos. 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
  • search_meetingsSearch meeting transcripts and voice memos. 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
  • activity_summarySummarize meeting-adjacent desktop context bound to one exact normal meeting source. Docs: https://useminutes.app/docs/mcp/tools#tool-activity_summary
  • search_contextSearch desktop-context events bound to one exact normal meeting source. Docs: https://useminutes.app/docs/mcp/tools#tool-search_context
  • get_momentShow the local rewind bound to one exact normal meeting source. Docs: https://useminutes.app/docs/mcp/tools#tool-get_moment
  • get_screen_contextRetrieve 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
  • consistency_reportFlag 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
  • get_person_profileGet 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
  • +22 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Better Bear

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "better-bear-2": {
      "command": "npx",
      "args": [
        "-y",
        "better-bear"
      ]
    }
  }
}

Minutes

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "minutes": {
      "command": "npx",
      "args": [
        "-y",
        "minutes-mcp"
      ]
    }
  }
}

Frequently asked questions

Better Bear is categorized under Knowledge & Memory and uses a local stdio subprocess. Minutes belongs to Knowledge & Memory and uses a local stdio subprocess. Pick Better Bear for knowledge & memory work and Minutes for knowledge & memory.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Better Bear has no declared pricing — check the project's own site. Minutes is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add better-bear-2 and minutes as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Better Bear has a quality signal of 60/100 (Good) with 2 views, 0 installs and 68 GitHub stars. Minutes has 71/100 (Great) with 2 views, 0 installs and 1,564 GitHub stars.