Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api-docs.tiro.ooo/llms.txt

Use this file to discover all available pages before exploring further.

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.
get_note_transcript returns the full transcript of a note with timestamps, plus note metadata. HTML is stripped from each paragraph; the response carries both a structured paragraphs array (programmatic use) and a pre-formatted transcription string (direct LLM consumption). Primary Use Cases:
  • Quoting exact words spoken in the meeting.
  • 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:
  • Full transcript with [HH:MM:SS]-prefixed lines.
  • Structured paragraphs[] with timeFrom / timeTo / text for time-based filtering.
  • HTML is stripped before output (sanitized at the MCP layer).

Parameters

ParameterTypeRequiredDescription
noteGuidstringYesUnique note identifier

noteGuid (required)

The unique identifier of the note to retrieve. Example:
{
  "noteGuid": "abc-123-def"
}
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

{
  "noteGuid": "abc-123-def",
  "title": "Weekly Team Meeting",
  "participants": ["Alice Kim", "Bob Park"],
  "createdAt": "2024-01-15T10:30:00Z",
  "recordingDurationSeconds": 3625,
  "paragraphs": [
    {
      "timeFrom": "2024-01-15T10:30:05Z",
      "timeTo":   "2024-01-15T10:30:18Z",
      "text": "Let's start with the project update."
    },
    {
      "timeFrom": "2024-01-15T10:30:18Z",
      "timeTo":   "2024-01-15T10:30:35Z",
      "text": "Sure, I've completed the migration..."
    }
  ],
  "transcription": "[10:30:05] Let's start with the project update.\n[10:30:18] Sure, I've completed the migration...",
  "totalParagraphs": 87
}
Field Descriptions:
FieldTypeDescription
noteGuidstringUnique note identifier.
titlestringNote title.
participantsstring[]Participant names (or emails when names are unavailable).
createdAtstringISO 8601 creation timestamp.
recordingDurationSecondsnumberRecording length in seconds.
paragraphs[]arrayStructured paragraphs (programmatic use).
paragraphs[].timeFromstring | nullISO 8601 start time of the paragraph.
paragraphs[].timeTostring | nullISO 8601 end time of the paragraph.
paragraphs[].textstringHTML-stripped paragraph text.
transcriptionstringPre-formatted markdown-friendly string with [HH:MM:SS] prefixes (UTC). Lines joined with \n (single newline).
totalParagraphsnumberNumber of paragraphs returned.
Two formats, same data. paragraphs[] is for programmatic slicing (e.g., “give me everything between 10:30 and 10:45”). transcription is for direct LLM consumption — paste it in and let the model read. Don’t double-load both unless you need both views.
Delimiter change. The transcription string now joins paragraphs with a single \n (was previously \n\n). Callers that split by double-newline to recover paragraph boundaries should switch to the structured paragraphs[] array.

Usage Examples

Example 1: Basic Usage

AI Request:
Show me the full transcript of meeting abc-123-def
MCP Call:
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_note_transcript",
    "arguments": {
      "noteGuid": "abc-123-def"
    }
  },
  "id": 1
}
Response:
{
  "jsonrpc": "2.0",
  "result": {
    "noteGuid": "abc-123-def",
    "title": "Q4 Marketing Strategy Meeting",
    "participants": ["Sarah Kim", "John Park"],
    "createdAt": "2025-11-10T10:00:00Z",
    "transcription": "Sarah Kim: Welcome to the Q4 marketing strategy meeting.\n\nJohn Park: Thanks. Let me present our website analytics...\n\n..."
  },
  "id": 1
}

Example 2: Progressive Disclosure Pattern

Step 1: Search
Find recent marketing meetings
Uses search_notes - Fast (~1 second, ~100 tokens) Step 2: Summary
What was discussed in meeting abc-123-def?
Uses get_note_summary - Medium (~2 seconds, ~500 tokens) Step 3: Full Transcript (Only if Needed)
Show me the exact conversation about budget allocation
Uses get_note_transcript - Slow (~5 seconds, ~4,000 tokens)

Token Usage

Typical Meeting (1 hour): ~3,000-5,000 tokens Comparison (3-tier discovery):
ToolToken UsageWhen to Use
list_notes~50 tokens per noteFinding which notes exist (metadata only)
search_notes~1,500 tokens per noteReading the content behind a topic (returns documents)
get_note_transcript~3,000-5,000 tokens per hourLast resort — exact spoken words for quoting
get_note_summary~200-800 tokensQuick AI summary of one note
get_note_document~300-2,000 tokensSpecific generated document
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
Don’t use transcripts for:
  • Quick overview (use summary instead)
  • Action items (use get_note_document)
  • General understanding (use 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_summary instead
  2. Retry after a short delay
  3. Contact support if problem persists

Performance

Response Time:
Meeting LengthTokensResponse Time
30 minutes~1,500~2 seconds
1 hour~3,000~3 seconds
2 hours~6,000~5 seconds
3+ hours~9,000+~8 seconds (may timeout)
Cache BehaviorTranscripts are cached for 15 minutes. Subsequent requests for the same note will be faster.