The mental model
MCP results stay in the conversation. CLI results can be saved to a file.When you call MCP
get_note_transcript, the full transcript (typically 5–50KB per note) enters the conversation context. It stays there for the rest of the conversation until you summarize or clear the context.
When you call tiro notes transcript --output transcript.md, the same content is saved to a file and stdout returns a single metadata line.
Tool selection cheatsheet
When to call MCP vs CLI
Worked example — 30 days of “Acme Corp” meetings
You want to draft a client-specific quarterly summary. You need every meeting where Acme came up in the last 30 days, with full transcripts../out/. Read them with the Read tool one at a time, only when you need exact wording.
Calling get_note_transcript 12 times leaves 60–600KB in the conversation (12 transcripts × 5–50KB each). Loading only the 2–3 you need in detail keeps token use down.
Reading errors as JSON
Every error from the CLI follows a stable envelope:error.message is human-readable and may change wording across releases — don’t pattern-match against it.
Exit codes
Quick auth-recovery loop in shell:
Output guarantees
--jsonis NDJSON for streams — list and search emit one JSON object per line. Pagination cursors arrive as a final{"_cursor": "…"}line.--output <path>writes atomically — temp file + rename, never partial.- TTY auto-detection — pretty in interactive shells, JSON when piped or redirected. Force either with
--pretty/--json. tiro notes transcript --format jsonmatches MCPget_note_transcript— same field names, same nesting, same speaker-segment structure. Reuse your existing parser.- Tokens are never echoed —
auth statusonly shows the first 4 chars; logs even at--verboseredact the rest.
Stable contract — what won’t break across patch releases
error.codevalueserror.errorTypevalues- Exit codes
- NDJSON line shape for list/search
- The MCP-shape JSON returned by
tiro notes transcript --format json - The metadata-line shape returned by
--outputoperations
Links
- Quickstart — five hands-on scenarios.
- Setup — install + auth + headless/CI configuration.
- CLI on npm
- tiro-cli on GitHub
- CHANGELOG