メンタルモデル
MCP の結果は会話に残り、CLI の結果はファイルに保存できます。MCP の
get_note_transcript を呼び出すと、文字起こし全文(通常はノートあたり 5〜50KB)が会話のコンテキストに入ります。要約したりコンテキストを整理したりするまで、以降の会話にも残ります。
tiro notes transcript --output transcript.md を呼び出すと、同じ内容をファイルに保存し、stdout にはメタデータが 1 行だけ返ります。
ツール選択のチートシート
MCP と CLI のどちらを呼ぶか
実践例 — 30 日分の「Acme Corp」の会議
クライアント別の四半期サマリーを作成したいとします。直近 30 日間で Acme が話題に上がったすべての会議について、全文トランスクリプトが必要です。./out/ に保存されます。正確な文言が必要なときにだけ、Read ツールで 1 件ずつ読み込んでください。
get_note_transcript を 12 回呼び出すと、60〜600KB(文字起こし 12 件 × 各 5〜50KB)が会話に残ります。詳しく見る 2〜3 件だけ読み込めばトークンを節約できます。
エラーを JSON として読む
CLI のすべてのエラーは、安定したエンベロープに従います:error.message は人間が読むためのもので、リリースごとに文言が変わる場合があります。これに対してパターンマッチを行わないでください。
終了コード
シェルでの簡単な認証リカバリループ:
出力の保証
--jsonはストリームに対して NDJSON — list と search は 1 行につき 1 つの JSON オブジェクトを出力します。ページネーションカーソルは最後の{"_cursor": "…"}行として届きます。--output <path>はアトミックに書き込む — 一時ファイル + リネームで、部分的な書き込みは決して発生しません。- TTY の自動検出 — インタラクティブなシェルでは見やすく、パイプやリダイレクト時には JSON になります。
--pretty/--jsonでどちらかを強制できます。 tiro notes transcript --format jsonは MCPget_note_transcriptと一致 — 同じフィールド名、同じネスト、同じ話者セグメント構造です。既存のパーサーを再利用できます。- トークンは決してエコーされない —
auth statusは最初の 4 文字のみを表示し、--verboseのログでさえ残りは伏せられます。
安定したコントラクト — パッチリリースをまたいで壊れないもの
error.codeの値error.errorTypeの値- 終了コード
- list/search の NDJSON 行の形式
tiro notes transcript --format jsonが返す MCP 形式の JSON--output操作が返すメタデータ行の形式
リンク
- Quickstart — 実践的な 5 つのシナリオ。
- Setup — インストール + 認証 + ヘッドレス/CI の設定。
- CLI on npm
- tiro-cli on GitHub
- CHANGELOG