MCP tool reference
This page lists the tools in src/data/mcp-tools.json, maintained alongside the app’s tool registry (crates/agent-tools/src/tools.rs). The manifest is the single definition site; this page renders directly from it.
The desktop app’s local MCP server exposes these tools to Claude (Desktop, Code) and Codex when you use a connector. While the connector is on, the assistant can list and read your meetings through these tools and send what it reads to the external AI provider you connected: a direct path from the desktop app to your AI service that never passes through a Minutist server. See Security for the full data-flow breakdown.
Read and compute tools
Section titled “Read and compute tools”These tools read or compute from stored data. They are always available over MCP; no mcp_write_tools toggle required.
| Name | Title | Description |
|---|---|---|
list_meetings | List meetings | List all meetings, newest first. |
search_meetings | Search meetings | Find meetings whose title or list-excerpt contains the query (does not search transcript bodies; use search_within_transcript for that). |
get_meeting | Get meeting | Full meeting state: metadata (with speaker names overlaid), transcript, notes, and the stored summary if present. |
get_transcript | Get transcript | Full transcript segments for a meeting, with speaker names overlaid and per-word timestamps when available. |
get_transcript_slice | Get transcript excerpt | Transcript segments overlapping the [start_ms, end_ms) time window (transcript-clock milliseconds), speaker names overlaid. |
get_summary | Get summary | The stored summary markdown for a meeting (null when the meeting has not been summarised). |
get_notes | Get notes | The user's hand-typed notes for a meeting (markdown + opaque editor JSON), or null when no notes were taken. |
get_metadata | Get meeting metadata | Meeting metadata, including any configured speaker_names map. |
get_recording_state | Get recording state | The recorder's current state (Idle / Recording / Paused / Stopping / Finalising). A busy recorder reports Finalising, never an internal Offline state. |
search_within_transcript | Search within transcript | Find a phrase in one meeting's transcript body (case-insensitive). Returns matching segments with timestamps and speaker. |
retrieve_chunks | Retrieve relevant passages | Semantic + keyword retrieval over a meeting's attachments and transcript. Returns the passages most relevant to the query, each with its text and source. Prefer this over reading whole attachments or transcripts when only the relevant parts are needed. Returns no chunks when the meeting has not been indexed yet. |
relisten_section | Re-listen to a section | Re-run ASR over an audio span and return what was actually said there. Read-only; it does not modify the stored transcript. |
resummarise | Re-summarise meeting | Summarise or re-frame this meeting a different way following the given instruction. Returns the new text only; it does NOT overwrite the stored summary. |
speaker_talk_time | Speaker talk time | Per-speaker total talking time and turn count, with display names overlaid. |
list_attachments | List meeting attachments | List all attachments for a meeting (id, original filename, extension, conversion state, byte size, and, when conversion is Ready, the converted_md_filename to pass to get_attachment_markdown). Returns an empty list when the meeting has no attachments. |
get_attachment_markdown | Get attachment as markdown | Read the converted markdown for a meeting attachment. Pass the converted_md_filename value from the list_attachments row (present on entries whose conversion state is Ready) as the filename argument. Fails when the attachment has not been converted yet or the filename is unsafe. |
send_to_internal_agent | Message the in-app assistant | Send a message to this app's internal meeting-notes chat agent and get its reply. Optionally scope it to a meeting and/or continue an existing conversation. Runs one synchronous turn of the internal agent. |
Write tools
Section titled “Write tools”Write tools mutate meeting metadata or the index. They require mcp_write_tools to be on in settings before they appear in the tool list or can be called.
MCP-exposed writes (require mcp_write_tools on)
Section titled “MCP-exposed writes (require mcp_write_tools on)”| Name | Title | Description |
|---|---|---|
set_speaker_name | Set speaker name | Name an identified speaker (maps a diarizer label such as "A" to a display name). Note: re-running diarization resets all speaker names. |
rename_meeting | Rename meeting | Change a meeting's title. |
start_recording | Start recording | Start a new recording. Optionally pick an input device by id (omit for the OS default). Returns the new meeting's id. Fails if a recording is already in progress. |
stop_recording | Stop recording | Stop the current recording and finalise the meeting. Returns the finished meeting's id, title, and duration. Fails if no recording is in progress. |
pause_recording | Pause recording | Pause the current recording. Fails if no recording is in progress. |
resume_recording | Resume recording | Resume a paused recording. Fails if the recording is not currently paused. |
Internal-only writes (not available over MCP)
Section titled “Internal-only writes (not available over MCP)”| Name | Title | Description |
|---|---|---|
reprocess_meeting | Reprocess meeting | Re-run full ASR over the recording, then re-run speaker diarization over the fresh transcript, replacing the stored transcript and speaker labels. This resets any configured speaker names. Internal-only; not available over MCP. |