Search. Context. Verify.
Meetily Memory turns local Meetily meetings into a private, source-backed memory for search, context, and verification.
It is for the moment when:
"I remember we discussed this."
...is not enough.
You need the original decision, the remaining risks, the people involved, and the meeting that proved it.
Meetily Memory never modifies the Meetily database and never requires a cloud service.
On macOS:
brew tap 0x12th/meetily-memory
brew install meetily-memoryThe CLI is available as:
mm
meetily-memory
Initialize Meetily Memory:
mm initmm init automatically:
- discovers the local Meetily database;
- creates a private search index;
- performs the initial refresh;
- offers to enable automatic refreshes.
Nothing optional is enabled without asking.
If discovery fails:
mm doctorTypical workflow:
Search meetings:
mm s "migration risk"Example output:
#10 Meeting 2026-07-06
12:56:36 | chunk #3863 | open: mm open 10
If I write to the database, I must also publish to Kafka...
12:56:42
Pattern outbox.
Show neighboring context around each hit:
mm s "migration risk" --context 2Build LLM-ready context:
mm c "what did we decide about the migration?"Explore a topic:
mm t "migration"Open the original meeting:
mm open 12If automatic refreshes are disabled:
mm refreshUpdate the installed utility:
mm updatemm s "migration risk"Search indexed meetings and return matching source snippets.
Use --context N when the matching snippet is too short:
mm s "migration risk" --context 2mm c "what did we decide about the migration?"Build clean Markdown context ready to paste into ChatGPT, Claude, or Codex.
mm t "migration"Experimental. Explore a topic as search results grouped into an evidence-backed dossier: summary, related meetings, possible decisions, possible risks, possible tasks, possible questions, and supporting excerpts.
Topic output is not a knowledge-graph oracle or an LLM-generated answer. If structured memory has no matches, it still shows relevant evidence from search. Topic expansion uses stored aliases, not built-in term dictionaries:
mm t "kafka" --alias "кафка" --alias "broker"The CLI language is stable across commands. Configure it explicitly when needed:
mm config language ru
mm config language automm open 12Open the original Meetily meeting.
mm refreshRefresh the local index when automatic refreshes are disabled.
Meetily Memory can maintain a managed Obsidian knowledge vault.
Configure it once:
mm obsidian initSynchronize manually when needed:
mm obsidian syncManaged notes include:
- Topics
- Meetings
- People
- Tasks
- Decisions
- Risks
- Questions
Managed files contain:
<!-- meetily-memory:managed -->Only managed notes are updated.
Your own notes are never overwritten.
Configure a provider:
mm llm initSupported providers:
- Manual (prepare context for ChatGPT or Claude)
- Ollama (local models)
The mm ask command is intentionally hidden while this workflow matures.
For now, mm c is the recommended interface.
Compatibility command:
mm ask "what is still open?"Meetily Memory always retrieves supporting evidence before preparing or sending context to an LLM.
mm mcp serveExpose Meetily Memory to external agents.
MCP support is optional for pip and uv installs via
meetily-memory[mcp].
If the extra is not installed, the command prints installation instructions instead of starting a server.
- Search-first public CLI.
- Evidence before summaries.
- Search → Context → Verify.
- Local-first.
- Private by default.
- Read-only Meetily database.
Meetily SQLite
│
▼
Meetily Memory index.sqlite
│
┌───────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
FTS Search Source Context Structured Signals
stable stable experimental
│ │
├───────────────┬───────────────────┤
▼ ▼ ▼
CLI Topic Summary Semantic Search
stable experimental experimental
│
┌─────────────┼──────────────┐
▼ ▼ ▼
Obsidian LLM Answering MCP
experimental experimental experimental
Meetily Memory stores only derived local state:
- normalized meetings and chunks;
- SQLite FTS index;
- experimental decisions, action items, risks, and questions;
- experimental topic relationships;
- optional semantic embeddings;
- local application settings.
The stable path is search, context, and source verification. The experimental
knowledge layers power mm t, Obsidian synchronization, LLM workflows, and the
MCP adapter.
uv sync
uv run ruff check .
uv run ruff format --check .
uv run ty check --error all
uv run pytest -q
uv buildLicensed under the Apache License 2.0.
See LICENSE.