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
get_note fetches detailed metadata for a specific note and optionally includes summary, transcript, and/or generated documents in a single parallel call. Use the include parameter to request additional content; all requested resources are fetched concurrently, so one failure does not block the rest of the response.
This is the consolidated content fetcher that replaced the removed list_note_summaries, get_note_summary, list_note_documents, and get_note_document tools as of 2026-05-06.
Primary Use Cases:
- Fetch metadata only when you just need note basics (participants, dates, duration).
- Include
summaryto get the AI-generated summary’s full content. - Include
transcriptto get the full conversation text (timestamped paragraphs joined as one string). - Include
documentsto retrieve every generated document on the note (one-pager, custom, etc.) with full content inline.
- Parallel fetch using
Promise.allSettled— if one resource fails, others still return. includeis an optional array enum:["summary"],["transcript"],["documents"], or any combination.- The
documentsoption returns full content for every document on the note (unlikesearch_noteswhich caps at 5KB). - Empty/omitted
includereturns metadata only.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
noteGuid | string | Yes | Unique note identifier — typically from list_notes or search_notes. |
include | array | Optional | Array of content options: "summary", "transcript", "documents". All are optional and additive. Omit or pass empty array for metadata only. |
noteGuid (required)
The unique identifier of the note. Example:include (optional)
Array of content types to fetch in parallel. Valid options:"summary"— Fetch the note’s first available AI-generated summary (full content)."transcript"— Fetch the full conversation transcript (paragraphs joined with\n\n)."documents"— Fetch all generated documents on the note (one-pager, custom, etc.) with complete content.
Response Format
Success Response
| Field | Type | Description |
|---|---|---|
noteGuid / guid | string | Note identifier (both fields present for backward compatibility). |
title | string | Note title. |
webUrl | string | Direct link to the note in the Tiro web app. |
createdAt | string | ISO 8601 creation timestamp. |
updatedAt | string | ISO 8601 last-update timestamp. |
recordingDurationSeconds | number | Recording length in seconds. |
sourceType | string | One of live-voice, recording, text, video, webpage, offline-mode, onboarding. |
participants[] | array | { name, email } per participant. Either may be null. |
summary (when included) | object | { content, format, summaryId } if a summary exists, or null if none. |
summary.content | string | Summary text (HTML-stripped, markdown-friendly). |
summary.format | string | MARKDOWN or PLAIN_TEXT. |
summary.summaryId | string | Identifier of the summary. |
transcript (when included) | string | Full transcript with [HH:MM:SS] prefixed lines, joined with \n\n. null if no transcript available. |
documents (when included) | array | Array of document objects, or null if none. Empty array [] when include: ["documents"] is requested but the note has no documents. |
documents[].documentId | number | Stable document identifier. |
documents[].templateId | number | Numeric template id (use this for discrimination, not templateTitle). |
documents[].templateTitle | string | Display label (locale-sensitive, user-editable for custom templates). |
documents[].locale | string | Locale of the document (e.g., "en", "ko"). |
documents[].sections[] | array | Array of { content, format } sections. |
documents[].sections[].content | string | Section text (HTML-stripped). |
documents[].sections[].format | string | Content format (MARKDOWN, PLAIN_TEXT, etc.). |
documents[].createdAt | string | ISO 8601 document creation timestamp. |
When a requested resource is not available (e.g., no summary exists), the field is set to
null rather than omitted. This allows callers to distinguish “not included in request” from “included but unavailable”.Usage Examples
Example 1: Metadata only
Request:Example 2: With summary only
Request:Example 3: With transcript and documents
Request:Example 4: All content in one call
Request:null but the others still populate.
Best Practices
Use include selectively
Use include selectively
Only request the content you need. Metadata is ~50 tokens; adding summary adds ~200 tokens; transcript adds ~3,000–5,000 tokens per hour; documents vary by size.Start with metadata, switch to
get_note(include: ["summary"]) if you need a quick overview, or get_note(include: ["documents"]) for action items / key takeaways.Use search_notes for content preview
Use search_notes for content preview
For a quick peek at what’s in a note, use
search_notes first — it returns matched notes with documents capped at 5KB. Use get_note(include: ["documents"]) only when you need the full document content.Handle null gracefully
Handle null gracefully
When
include: ["summary"] is set but no summary exists, summary will be null. Your code should handle this — don’t assume the field is always populated just because it was requested.Combining discovery and content
Combining discovery and content
Progressive disclosure pattern:
list_notes → search_notes → get_note(include: [...]). Most workflows stop at step 2; only use step 3 when you need full content or when earlier tools don’t give you enough.Common Errors
Note not found
Solution: Verify thenoteGuid is correct. Use list_notes or search_notes to find valid note identifiers.
Insufficient scope
Solution: Ensure your API key hasmcp:notes:read scope. See Setup to configure scopes.
Token Usage
| Mode | Tokens |
|---|---|
| Metadata only | ~50 |
| Metadata + summary | ~250 |
| Metadata + transcript | ~3,000–5,000 per hour |
| Metadata + documents | ~1,000–5,000 (varies by document size) |
| All three | ~4,000–10,000 (varies) |
Related Tools
search_notes— When you need to find notes by keyword AND read their documents. Returns up to 10 matched notes with document content capped at 5KB per document.list_notes— When you just need to know which notes exist. Lightest tier; metadata only.get_note_transcript— For raw transcript with timestamps (fallback; useinclude: ["transcript"]on this tool instead for parallel fetch).list_document_templates— Discover available document template types before requesting documents.