Skip to content

MCP reference

Run the server with loofah mcp. It uses the MCP 2024-11-05 protocol over stdio. Every tool is read-only, non-destructive, idempotent, and local-only.

ParameterTypeDefaultNotes
querystringNoneCase-insensitive title or meeting ID substring.
limitinteger20Clamped to 1..200.
offsetinteger0Number of results to skip.
tagsarrayNoneOnly meetings carrying every one of these tags (case-insensitive).
untaggedbooleanfalseOnly meetings without any tags. Cannot be combined with tags.

Each returned meeting includes its normalized tags, its author (null when the vault owner wrote the note; otherwise the name of the agent or other writer that created it), and its skill (null unless a skill was used to produce the note).

Full-text search across meeting titles, notes, summaries, and transcript words. At least one of query and speaker is required.

ParameterTypeDefaultNotes
querystringNoneCase-insensitive terms; every whitespace-separated term must occur.
speakerstringNonePerson ID or name substring. Limits results to meetings where that person spoke; the query matches anywhere in those transcripts. Without query it lists those meetings.
kindsarrayallAny of title, note, summary, transcript. Ignored when speaker is set.
limitinteger20Clamped to 1..50.
offsetinteger0Number of hits to skip.

Hits are ordered by meeting recency and carry meeting_id, kind, and a snippet around the first match. Transcript hits add the resolved speaker, speaker_id, and start_ms, which lines up with the [HH:MM:SS] timestamps in get_meeting_transcript’s text. At most three transcript hits per meeting are returned.

Accepts required string meeting_id. Returns meeting metadata (including its normalized tags, its authornull for the vault owner’s own notes — and its skill, null unless a skill produced the note), the canonical note, summaries, and action items. Transcript words are intentionally separate.

ParameterTypeDefaultNotes
meeting_idstringrequiredA returned Loofah meeting ID.

Returns meeting_id and text. The text uses one [HH:MM:SS] Speaker: ... line per speaker turn, timed from the start of the meeting. Speaker names come from the people registry, and unknown voices fall back to Speaker N. Word-level detail, including IDs, timestamps, and channels, is available through loofah sessions export --format json.

URIMIME typeContent
loofah://meetings/{meeting_id}text/markdownMeeting detail without transcript text.
loofah://meetings/{meeting_id}/transcripttext/plainThe full speaker-labeled transcript.

Resource listing returns recent meeting resources in pages of 20. Its cursor is a numeric result offset.

Previously issued fmtr://meetings/... resource URIs remain readable for client compatibility; new resource listings use loofah://.