QC smoke sweep flagged two clippy -D warnings lints in code this branch
introduced:
- crates/core/src/process_watch.rs — collapsible_if on the meeting-pattern
match loop, merged the two conditions with &&.
- crates/mcp/src/lib.rs — let-else on the id unwrap that short-circuits a
notification, switched to ? since handle_message already returns Option.
All other clippy lints under -D warnings (audio/capture, hotkey/linux,
storage/file_storage, diagnostics, the duplicate-detection helpers in
live.rs) predate this branch and are out of scope.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New workspace binary crates/mcp exposes Kon's SQLite store to external
agents (Claude desktop, Cline, any MCP client) without running the Tauri
app. Newline-delimited JSON-RPC 2.0 on stdio, MCP protocol 2024-11-05.
Tools shipped (all read-only):
- list_transcripts — recent transcript summaries, limit 1..200 default 20
- get_transcript — full text + metadata by id
- search_transcripts — FTS5-backed query, limit 1..100 default 20
- list_tasks — all tasks (open + done)
No writes. The Tauri app remains the only writer; kon-mcp just opens the
same SQLite file (via kon_storage::init) and reads. Logs land on stderr to
keep stdout clean for the JSON-RPC stream. Smoke-tested end-to-end with
initialize + tools/list over a pipe.
Wire into an MCP client with:
{ "mcpServers": { "kon": { "command": "/path/to/kon-mcp" } } }
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>