Skip to main content

Overview

Last resort. Transcripts are token-heavy (a 1-hour meeting can exceed 30K tokens). Try search_notes first — it returns curated documents (one-pager, custom) that are typically 10× more compact and equally informative. Use this tool only when you need exact transcribed words for a direct quote.
Breaking change (2026-05-06). The response shape was unified around speaker-attributed segments. The fields transcription, paragraphs[].text, hasDiarization, and totalParagraphs have been removed. Every paragraph now exposes a segments[] array with {content, speaker}speaker is {label, name} when diarization data is available, otherwise null. See the Migration section below to reconstruct the old fields from the new shape.
get_note_transcript returns the full transcript of a note as paragraphs of speaker-attributed segments, plus note metadata. The shape is uniform whether or not the note has diarization data: every paragraph carries a segments[] array, and each segment has a content string and a speaker object (or null). Both content and speaker.name are HTML-stripped at the MCP layer. Primary Use Cases:
  • Quoting exact words spoken in the meeting.
  • Knowing who said what — the per-segment speaker field is the primary use case for this tool.
  • Slicing the transcript by time range using the structured paragraphs array.
  • Analyzing conversation context when documents don’t capture the wording you need.
Key Features:
  • Uniform shape: every paragraph contains segments[] regardless of diarization availability.
  • Speaker info: segment.speaker is {label, name} when diarization exists, null otherwise.
  • HTML-stripped at the MCP layer (content and speaker.name are both sanitized).
Free or unpaid notes may return a partially masked transcript. When a note exceeds the free usage limit and isn’t on a paid plan, the content of paragraphs past the limit comes back masked. Length and structure stay the same, but the words are replaced with placeholder characters, so it reads as gibberish instead of the real speech. If a transcript looks like it cuts off partway, that’s almost always this masking, not a bug. Starting a paid plan unlocks the note and returns the full transcript.

Parameters

noteGuid (required)

The unique identifier of the note to retrieve. Example:
How to Get Note GUID:
  1. Use list_notes (lightweight) to find candidates by folder, date, or keyword.
  2. Use the noteGuid from the result. If you also need document content for context, fetch it via search_notes first; only fall back to this tool when verbatim spoken words are required.

Response Format

Success Response — Diarized Note

When the note has diarization data, paragraphs contain one or more segments and each segment’s speaker is an object with label (engine-assigned, stable within the note) and name (resolved person name, or null when the speaker is unmapped):

Success Response — Non-Diarized Note

When the note has no diarization data, each paragraph is reduced to a single segment whose speaker is null. The shape is identical otherwise — callers can iterate over paragraphs[].segments[] without branching:
Field Descriptions:

Migration

The pre-2026-05-06 response carried transcription (a joined string), paragraphs[].text (per-paragraph plain text), hasDiarization, and totalParagraphs. All four are gone. They can be reconstructed from the new shape:
If you need “who said what”, read segments[].speaker directly — that’s the new primary use case for this tool.

Usage Examples

Example 1: Basic Usage

AI Request:
MCP Call:
Response:

Example 2: Progressive Disclosure Pattern

Step 1: Search
Uses search_notes - Fast (~1 second, ~100 tokens) Step 2: Summary
Uses get_note(include: ['summary']) - Medium (~2 seconds, ~500 tokens) Step 3: Full Transcript (Only if Needed)
Uses get_note_transcript - Slow (~5 seconds, ~4,000 tokens)

Token Usage

Typical Meeting (1 hour): ~3,000-5,000 tokens Compared to the pre-2026-05-06 shape, single-speaker notes see ~30% reduction because the redundant transcription joined string is no longer emitted. Multi-speaker (diarized) notes are roughly equivalent — the per-segment speaker metadata replaces the old transcription payload, and the segment content is the same data the old text field carried. Comparison (3-tier discovery):
Token SavingsTry search_notes first — its document output is typically 10× more compact than the raw transcript and answers most “what did the team decide” questions. Only reach for get_note_transcript when you genuinely need verbatim wording.

Best Practices

Always follow this order:
  1. list_notes — find which notes exist (~50 tokens per note)
  2. search_notes — read the documents for a matched topic (~1,500 tokens per note)
  3. get_note_transcript — only if exact wording is required (~4,000 tokens per hour)
Most “what did we decide?” questions stop at step 2. This saves up to 90% of tokens compared to jumping straight to transcripts.
Use full transcripts when you need to:
  • Find exact quotes or statements
  • Analyze detailed conversation flow
  • Understand complete context
  • Reference specific discussions
  • Know who said what — the segments[].speaker field makes this a primary use case for this tool.
Don’t use transcripts for:
  • Quick overview (use get_note(include: ['summary']) instead)
  • Action items (use get_note(include: ['documents']))
  • General understanding (use get_note(include: ['summary']))
For very long meetings (2+ hours):
  • Expect 5,000-10,000 tokens
  • May cause timeout (60 seconds)
  • Consider requesting specific sections via summary first
  • Use summary to identify relevant parts before loading full transcript

Common Errors

Missing Note GUID

Solution: Provide the noteGuid parameter.

Note Not Found

Possible Causes:
  • Note doesn’t exist
  • Note has been deleted
  • You don’t have access to this note
Solution: Verify the note GUID using search_notes.

Request Timeout

Causes:
  • Very long meeting transcript (2+ hours)
  • Server load
Solutions:
  1. Use get_note(include: ['summary']) instead
  2. Retry after a short delay
  3. Contact support if problem persists

Performance

Response Time:
Cache BehaviorTranscripts are cached for 15 minutes. Subsequent requests for the same note will be faster.