Skip to content
Pre-launch. The free desktop build works today — it isn't code-signed yet, so your OS warns on first run. Paid sync, billing, and the mobile app aren't open yet. Get in touch.

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.

These tools read or compute from stored data. They are always available over MCP; no mcp_write_tools toggle required.

NameTitleDescription
list_meetingsList meetingsList all meetings, newest first.
search_meetingsSearch meetingsFind meetings whose title or list-excerpt contains the query (does not search transcript bodies; use search_within_transcript for that).
get_meetingGet meetingFull meeting state: metadata (with speaker names overlaid), transcript, notes, and the stored summary if present.
get_transcriptGet transcriptFull transcript segments for a meeting, with speaker names overlaid and per-word timestamps when available.
get_transcript_sliceGet transcript excerptTranscript segments overlapping the [start_ms, end_ms) time window (transcript-clock milliseconds), speaker names overlaid.
get_summaryGet summaryThe stored summary markdown for a meeting (null when the meeting has not been summarised).
get_notesGet notesThe user's hand-typed notes for a meeting (markdown + opaque editor JSON), or null when no notes were taken.
get_metadataGet meeting metadataMeeting metadata, including any configured speaker_names map.
get_recording_stateGet recording stateThe recorder's current state (Idle / Recording / Paused / Stopping / Finalising). A busy recorder reports Finalising, never an internal Offline state.
search_within_transcriptSearch within transcriptFind a phrase in one meeting's transcript body (case-insensitive). Returns matching segments with timestamps and speaker.
retrieve_chunksRetrieve relevant passagesSemantic + 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_sectionRe-listen to a sectionRe-run ASR over an audio span and return what was actually said there. Read-only; it does not modify the stored transcript.
resummariseRe-summarise meetingSummarise 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_timeSpeaker talk timePer-speaker total talking time and turn count, with display names overlaid.
list_attachmentsList meeting attachmentsList 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_markdownGet attachment as markdownRead 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_agentMessage the in-app assistantSend 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 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)”
NameTitleDescription
set_speaker_nameSet speaker nameName an identified speaker (maps a diarizer label such as "A" to a display name). Note: re-running diarization resets all speaker names.
rename_meetingRename meetingChange a meeting's title.
start_recordingStart recordingStart 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_recordingStop recordingStop the current recording and finalise the meeting. Returns the finished meeting's id, title, and duration. Fails if no recording is in progress.
pause_recordingPause recordingPause the current recording. Fails if no recording is in progress.
resume_recordingResume recordingResume 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)”
NameTitleDescription
reprocess_meetingReprocess meetingRe-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.