この Mac 上の AI エージェント(Claude など)やショートカットから、まだ保存していない録音の文字起こし・話者付きの文字起こし・音声・議事録を取り出し、ミーティングの開始・一時停止・再開・終了、録音の保存と読み出し、マーカーや画面写真の追加ができます。上級者向けの機能です。
既定はオフ
エージェント連携は、「設定 › エージェント」で「AI エージェントを許可(この Mac の MCP)」をオンにしたときだけ動きます。オンにした設定は、Minutes Ago を再起動しても保たれます。購入前に初めてオンにしたときは、エージェントからの取り出しでお試しを使うことを 1 回だけ説明します。
エージェントのつながり方は版で違います。Mac App Store 版はネットワークで待ち受けず、エージェントが Minutes Ago 自身の実行ファイルを MCP サーバーとして起動します。Web サイトから入手する直販版は、127.0.0.1 でトークン付きの HTTP の MCP サーバーが待ち受けます。「設定 › エージェント」のコピーのボタンは、いつもお使いの版の設定をコピーします。

オンにするとどうなるか
App Store 版
- Minutes Ago はネットワークのポートで待ち受けません。Claude Code や Claude Desktop などの MCP クライアントが、Minutes Ago 自身の実行ファイルを引数
mcpで起動し(/Applications/MinutesAgo.app/Contents/MacOS/MinutesAgo mcp)、stdio の MCP サーバー(サーバー名minutes-ago)として使います。この起動ではウインドウを出さず、録音もしません。要求を Minutes Ago に取り次ぎ、クライアントが閉じると終わります。 - Minutes Ago へは、アプリのコンテナの中の接続口(ソケット)
~/Library/Containers/com.kurokoto.minutesago/Data/mcp.sockを通して取り次ぎます。接続口はエージェント連携がオンの間だけ作られ、オフにしたときと Minutes Ago の終了時に削除されます。受け付けるのは、この Mac の同じユーザーのプログラムのうち、トークンを持つものからの要求だけです。トークンは実行ファイルがこの Mac のキーチェーンから自分で読むので、設定には出ません。接続できるのはこの Mac のアプリだけです。 - 「設定 › エージェント」の状態の行は「この Mac の MCP クライアントから使えます」です。オフのときは「オフ」、接続口を開けないときは「使えません: …」です(例: ユーザー名(ホームフォルダの名前)が 40 バイト以上(UTF-8)の Mac では、接続口のパスが macOS の上限を超えます)。
- エージェント連携がオフの間は、どの要求にもエラー「Agent access is off. Turn on “Allow AI agents” in Minutes Ago › Settings › Agents.」(英語の文面)を返します。オンにすれば次の要求から通ります。クライアントの再起動は要りません。
- Minutes Ago が起動していなければ、最初の要求で起動し(前面には出しません)、最大 15 秒待ちます。
直販版
- この Mac の
127.0.0.1のポート 48151 で、MCP サーバー(Streamable HTTP、サーバー名minutes-ago)が待ち受けます。接続先はhttp://127.0.0.1:48151/mcpです。ほかのマシンからはつながりません。 - 48151 がほかのアプリに使われているときは、48152〜48160 を順に試します。実際のポートは「設定 › エージェント」の状態の行(「127.0.0.1:48151 で待ち受け中」)で分かります。オフのときは「オフ」、待ち受けられないときは「使えません: …」です。
- 接続にはトークンが要ります。トークンは最初にオンにしたときに作り、この Mac のキーチェーンに保存します。
- リクエストの Host と Origin を検査し、
127.0.0.1かlocalhostのこのポート宛て以外は拒否します(HTTP 403)。トークンが無い・違う場合も 403 です。
どちらの版も
- 「設定 › エージェント」に直近の接続(「直近: 時刻 · クライアント · ツール · ステータス」)が出ます。まだ無ければ「まだ接続はありません」。
Minutes Ago 自身はデータを Mac の外へ送りません。ただし、接続したエージェントがそのデータを外部のサービスへ送ることがあります。どのエージェントを接続するかはご自身で決めてください。
Claude に登録する(App Store 版)
先に「設定 › エージェント」でエージェント連携をオンにし、状態が「この Mac の MCP クライアントから使えます」になっていることを確かめます。トークンは要りません。
Claude Code
- 「設定 › エージェント」の「Claude Code のコマンドをコピー」を押します。
- ターミナルで、コピーしたコマンドを実行します。次の形です。
claude mcp add minutes-ago -- "/Applications/MinutesAgo.app/Contents/MacOS/MinutesAgo" mcp
- 既定ではいまのプロジェクトだけに登録されます。すべてのプロジェクトで使うときは
-s userを付けます。 - Claude Code の中で
/mcpを開き、minutes-agoがつながって 14 のツールが見えることを確かめます。
Claude Desktop
- 「設定 › エージェント」の「Claude 用の設定をコピー」を押します。次の JSON がコピーされます。
{
"mcpServers" : {
"minutes-ago" : {
"args" : [ "mcp" ],
"command" : "/Applications/MinutesAgo.app/Contents/MacOS/MinutesAgo"
}
}
}
- Claude Desktop の 設定 › 開発者 › 構成を編集 で
claude_desktop_config.jsonを開き、mcpServersにminutes-agoの項目を追加します。 - Claude Desktop を再起動し、ツールの一覧に Minutes Ago のツールが出ることを確かめます。
- パスは、コピーしたときに Minutes Ago があった場所です(ふつうは
/Applications/MinutesAgo.app)。アプリを移動したときは、設定をコピーし直して登録し直してください。 - Claude のカスタムコネクタ(URL で追加するもの)は、この Mac のプログラムを起動できません。設定ファイルで登録してください。
- この JSON は Claude Code の
.mcp.jsonやclaude mcp add-jsonと同じmcpServersの形です。
Claude に登録する(直販版)
先に「設定 › エージェント」でエージェント連携をオンにし、状態が「127.0.0.1:48151 で待ち受け中」になっていることを確かめます。直販版では、代わりにコマンドラインツールを登録することもできます(下)。
Claude Code
- 「設定 › エージェント」の「Claude Code のコマンドをコピー」を押します。
- ターミナルで、コピーしたコマンドを実行します。次の形です(
<token>は実際のトークン)。
claude mcp add --transport http minutes-ago http://127.0.0.1:48151/mcp --header "Authorization: Bearer <token>"
- 既定ではいまのプロジェクトだけに登録されます。すべてのプロジェクトで使うときは
-s userを付けます。 - Claude Code の中で
/mcpを開き、minutes-agoがつながって 14 のツールが見えることを確かめます。
Claude Desktop
- 「設定 › エージェント」の「Claude 用の設定をコピー」を押します。次の JSON がコピーされます。
{
"mcpServers" : {
"minutes-ago" : {
"headers" : { "Authorization" : "Bearer <token>" },
"type" : "http",
"url" : "http://127.0.0.1:48151/mcp"
}
}
}
- Claude Desktop の 設定 › 開発者 › 構成を編集 で
claude_desktop_config.jsonを開き、mcpServersにminutes-agoの項目を追加します。 - Claude Desktop を再起動し、ツールの一覧に Minutes Ago のツールが出ることを確かめます。
- Claude Desktop の版によっては、設定ファイルで HTTP のサーバーを受け付けないことがあります。その場合は、stdio と HTTP を橋渡しするツール(例:
mcp-remote。Node.js が必要)を使います。 - Claude のカスタムコネクタ(URL で追加するもの)はクラウド側から接続するため、この Mac の
127.0.0.1には届かない見込みです。設定ファイルで登録してください。 - この JSON は Claude Code の
.mcp.jsonやclaude mcp add-jsonと同じmcpServersの形です。
依頼の例: 「minutes-ago で直近 30 分の話者付き文字起こしを取得して、議事録を作って」。
MCP サーバーのツールは、開発元の MCP クライアントで動作を確かめています。Claude Desktop と Claude Code から実際に接続しての確認は、まだ行っていません。
14 のツール
まだ保存していない録音を読む 5 つ、ミーティング・保存した録音・マーカーの 8 つ、画面写真の 1 つです。
範囲を取るツールでは、範囲を次のどちらかで指定します。両方の指定や、どちらも無い指定はエラーです。
last_minutes— 直近の分数(0 より大きく 1440 以下)。start(ISO 8601、UTC からの時差を必ず付ける)と、任意のend(省略すると現在)。24 時間を超える範囲や、終わりが始まりより前の範囲はエラーです。
範囲は、まだ保存していない録音として残っている範囲に切り詰めます。重ならなければエラーです。track は both(既定。2 つのトラックを時刻順にまとめる)、microphone、app から選びます。知らない引数はエラーです。
まだ保存していない録音
| ツール | 引数 | 返すもの |
|---|---|---|
get_buffer_status |
なし | 残っている範囲、録音の状態、トラック(マイクのデバイス名、相手の声のアプリ)と文字起こしの状態、発話数、話す言語、書き出し先、議事録のエンジンと使えない理由、進行中のミーティング(paused・paused_seconds・active_seconds を含む)、まだ保存していない録音の置き場(liveAudioStorage: memory / disk)、ライセンスの行(お試しの残り) |
get_transcript |
範囲、track |
時刻付きの文字起こし([HH:mm:ss] 話者: 本文)。置換辞書を適用したもので、コピーや書き出しと同じ。アプリ音声を録っているとき、話者の付いていない行は「自分」「相手」です(英語の表示では Me / Others) |
get_speaker_transcript |
範囲、track、format(markdown 既定 / json / text / vtt / srt)、refresh |
話者ラベル付きの文字起こし。ラベルは相手の声が S1、S2…、マイクが M1、M2…、または付けた名前です。行のあるトラックをそれぞれ分けます。話者の付いていない行が多いとき、範囲の終わりに残っているとき、refresh が true のときは、先に話者分離を実行します |
export_audio |
範囲、track、format(m4a 既定 / wav) |
書き出し先フォルダに書いたファイルの絶対パス。相手の声があれば … mic.m4a と … app.m4a |
generate_minutes |
範囲 | 議事録の Markdown。「設定 › 議事録」の既定のプロバイダと議事録プリセットで作ります |
ミーティング・保存した録音・マーカー
| ツール | 引数 | 返すもの |
|---|---|---|
start_meeting |
name、screenshot_interval(3 / 5 / 10 / 20 / 30 / 60 秒。省略か 0 は画面写真なし)、screenshot_app(撮るアプリの bundle ID。既定は相手の声のアプリ)、この会議だけの language(BCP 47。例 en-US)・app_audio(bundle ID か none)・microphone(デバイスの名前か none)・preset(「設定 › 録音 › プリセット」の名前)。どれも任意 |
始めたミーティングと、その話す言語・相手の声・マイク、足りないものがあれば警告。画面収録の許可は求めません。許可が無ければ画面写真なしで始め、その旨を返します |
stop_meeting |
discard(既定 false) |
ミーティングを録音として保存し、その ID・フォルダ・ファイルを返します。discard なら保存せずに終了します |
pause_meeting |
なし | 進行中のミーティングを一時停止します。resume_meeting まで何も録音せず、ミーティングの時計も止まります。get_buffer_status と同じ形のミーティングを返します。ミーティングが無い・すでに一時停止中・保存中のときはエラー |
resume_meeting |
なし | 一時停止中のミーティングを再開します。録音が再び始まり、時計も進みます。一時停止した時間の累計とともにミーティングを返します。一時停止していないときはエラー |
save_recording |
範囲、name、track(both / microphone) |
まだ保存していない録音の範囲を録音として保存します(書き出し先フォルダではありません)。返すものは stop_meeting と同じ |
list_recordings |
limit(1〜200、既定 20) |
保存した録音の一覧(新しい順、ID 付き)。source は meeting・range・agent(save_recording)・file(音声ファイルから取り込んだ録音) |
get_recording |
id(必須)、format(markdown 既定 / text / json / vtt / srt)、include_markers(既定 true) |
保存した録音 1 件の文字起こしとマーカー、そのフォルダ・音声・議事録・画面写真のパス。文字起こしはアプリで表示しているもの(今のモデルのもの)です。JSON には transcription_model(その文字起こしのモデル。録音中に作ったものは live)と transcripts(録音が持つモデルごとの文字起こしの一覧)も入ります。音声ファイルから取り込んだ録音(source が file)では audio.microphone が取り込んだ音声で、Minutes Ago が文字起こしし終えるまでは行がありません |
add_marker |
name |
今の時点にマーカーを付けます。録音していないとき、ミーティングの一時停止中はエラー |
画面写真
| ツール | 引数 | 返すもの |
|---|---|---|
add_screenshot |
なし | ミーティングのアプリの画面写真を今すぐ撮って残します(画面が変わっていなくても残します)。時刻、保存したファイルのパス、ミーティングの枚数を返します。画像は返しません(パスのファイルを読みます)。画面写真ありのミーティング中、録音中だけ使えます(ミーティングの一時停止中は使えません) |
start_meetingで指定したこの会議だけの値は、ミーティングを終える(保存・破棄)まで使い、その後は設定の値に戻ります。presetと一緒に指定した引数は、プリセットの値より優先します。- ミーティングの一時停止中は何も録音せず(まだ保存していない録音にも残りません)、ミーティングの時計も止まり、Minutes Ago を再起動しても一時停止のままです。
stop_meetingはそのままの状態で保存します。保存した録音には「ミーティングを一時停止」「ミーティングを再開」のマーカーが入ります。ミーティングのバー・メニュー・どのアプリからでも使えるキー・ショートカットのアクションからも同じように一時停止できます。 vttとsrtは、見出しを付けずに字幕ファイルの中身だけを返します。そのまま.vtt/.srtとして保存できます。字幕の時刻は、get_speaker_transcriptでは範囲の始まりから、get_recordingでは録音の始まりから数えます。stop_meeting・save_recording・list_recordings・get_recording・add_screenshotが返すパスは Minutes Ago のコンテナの中です。Minutes Ago が管理しているので、読むだけにしてください。- 音声ファイルの取り込み、保存した録音の削除・書き出し・文字起こしのやり直しや、文字起こしのモデルを選ぶツールはありません。アプリで行ってください(文字起こしとモデル)。アプリでまだ保存していない録音の範囲を文字起こしし直すと、
get_transcriptとget_speaker_transcriptは新しい行を返します。保存した録音のほかのモデルの文字起こしは、エージェントからは読めません(表示しているものだけです)。どのアプリからでも使えるキーも、エージェントからは読めず変えられません。 export_audioは、書き出し先フォルダを選んでいないとエラーになります。「設定 › ライブラリ › 書き出し先フォルダ」で選ぶか、先にアプリで一度書き出してください。- 話者分離と議事録は、終わるまで待ってから結果を返します。途中経過は返しません。開発機での計測(合成会議、直近 30 分)では、話者付きの文字起こしが約 12 秒、議事録が約 101 秒でした。両方のトラックの話者を分けるときは、1 本の 2 倍ほどかかります。クライアントのツールのタイムアウトがこれより短いと失敗します。
- 同時に複数の話者分離・議事録の要求が来たときは、前の処理が終わってから次を始めます。
- 範囲を変えて話者分離し直すと、
S1とS2(M1とM2)の対応が入れ替わることがあります(名前を付けた話者は引き継ぎます)。 - 無料の範囲とお試しは、下のエージェントが無料で使える範囲を見てください。
Mac の外へ送るプロバイダのとき
既定の議事録のプロバイダが Mac の外へ送るもの(OpenAI、Anthropic、Google Gemini、OpenAI 互換のサーバー。Apple Private Cloud Compute は準備中)のとき、generate_minutes は確認のダイアログを出しません。アプリでその送信先に「今後表示しない」を選んでいる場合だけ実行し、それ以外はエラーで理由を返します(話者分離と議事録)。エージェントからは画面写真を送りません(文字だけ)。
エージェントが無料で使える範囲
アプリと同じ範囲です(無料で使えるのはどこまでですか)。
- 無料で、回数も減らないもの: エージェント連携をオンにすること、
get_buffer_status、直近 30 分のget_transcript(相手の声の行を含んでも無料。話者名は外して返し、見出しにそう書きます)、start_meeting、pause_meeting、resume_meeting、discardを付けたstop_meeting、list_recordings、get_recording(録音は保存したときに精算済み)、add_marker、add_screenshot。 - Pro を入手するまで(直販版はライセンスを有効にするまで)1 回ごとにお試しを使うもの: 30 分より前の
get_transcript、get_speaker_transcript、export_audio、generate_minutes、録音の保存(stop_meeting、save_recording)。get_recordingは、保存した後に話者名を付けた録音のときだけ、1 回だけお試しを使います。 - 応答に残り回数が載ります。残りが無いときや無料では取り出せない範囲のときは、範囲を黙って切り詰めずにツールのエラーを返します。
トークンの再生成と停止
- トークンを再生成(直販版のみ) — 「設定 › エージェント」の「詳細」にある「トークンを再生成」で作り直します。それまでの設定は接続できなくなる(403)ので、「Claude 用の設定をコピー」か「Claude Code のコマンドをコピー」でコピーし直して、登録し直してください。App Store 版には「詳細」も「トークンを再生成」もありません(設定にトークンを含まないため)。
- 止める — 「AI エージェントを許可(この Mac の MCP)」をオフにします。App Store 版では接続口が削除され、登録したクライアントには、オンに戻すまで「Agent access is off」のエラーが返ります。直販版では待ち受けを閉じます。
- 直販版でポートが 48152 以降に変わったときも、登録した URL と合わなくなります。設定をコピーし直してください。
ショートカット
同じ操作を、ショートカット App のアクションとして使えます。ショートカット App でアクションを検索するか、アプリの一覧から「Minutes Ago」を選ぶと並びます。
| アクション | パラメータ(既定) | 結果 |
|---|---|---|
| バッファの状態を取得 | なし | テキスト |
| 文字起こしを取得 | 分数(30)、トラック(マイクとアプリ音声)、開始 / 終了(任意) | テキスト |
| 話者付きの文字起こしを取得 | 分数(30)、形式(Markdown。ほかに JSON、プレーンテキスト、WebVTT、SRT)、トラック、もう一度話者分離(オフ)、開始 / 終了 | テキスト |
| 音声を書き出す | 分数(30)、形式(M4A(AAC))、トラック、開始 / 終了 | 音声ファイル(書き出し先フォルダに書いたファイルの中身) |
| 議事録を作成 | 分数(30)、開始 / 終了 | Markdown のテキスト |
| マーカーを付ける | 名前(任意) | なし(録音していなければエラー) |
| ミーティングを開始 | 名前、画面写真の間隔(0 = なし)、アプリ、この会議だけの話す言語・相手の声・マイク・プリセット(どれも任意) | テキスト |
| ミーティングを終了 | 破棄(オフ) | テキスト(保存した録音) |
| 録音を保存 | 分数(30)、開始 / 終了、名前(任意) | テキスト(保存した録音) |
| 録音の一覧 | 件数(20) | テキスト |
| 録音を取得 | ID(必須)、形式(Markdown。ほかにプレーンテキスト、JSON、WebVTT、SRT) | テキスト(文字起こし。マーカーを含む) |
| 画面写真を追加 | なし | 保存した画面写真のパス |
| ミーティングを一時停止 | なし | テキスト(ミーティングが無い・すでに一時停止中のときはエラー) |
| ミーティングを再開 | なし | テキスト(一時停止していないときはエラー) |
- 「開始」を指定すると、直近の分数ではなく時間範囲で取り出します。「終了」を省くと現在までです。
- 「音声を書き出す」も書き出し先フォルダが必要です。WAV は大きくなる(30 分で数百 MB)ので、大きい音声を扱うときはエージェント連携(MCP)の
export_audioのほうが向いています(ファイルのパスを返します)。 - アクションはエージェントのツールと同じ扱いです。無料の範囲とお試し、Mac の外へ送るプロバイダの扱いは同じで、「ミーティングを開始」と「画面写真を追加」は画面収録の許可を求めません。結果にお試しの残り回数は載りません。
- 「マーカーを付ける」は、録音の今の時点にマーカーを付けます。録音していないときは「録音していません。マーカーは Minutes Ago の録音中に付けられます。」のエラーになります。
- このうち 9 つは Siri と Spotlight からも使えます(App Shortcuts。例:「Minutes Ago でマーカーを付ける」「Minutes Ago でミーティングを開始」)。「録音の一覧」「録音を取得」「画面写真を追加」「ミーティングを一時停止」「ミーティングを再開」はアクションだけです。
- ショートカットが結果を出力するとき、ショートカットごとに初回だけ、ショートカット App が「“…”が 1 個のテキスト項目を出力することを許可しますか?」と尋ねます。

ターミナルから実行する(shortcuts run)
shortcuts run は、ショートカット App のライブラリにあるショートカットだけを名前で実行します。アプリが提供するアクション(App Shortcuts)を直接は実行できません。
「設定 › エージェント」の 「ショートカットを追加…」 で、Minutes Ago に同梱したショートカットを追加できます(同梱しているビルドのときだけ出ます)。ショートカット App が 1 つずつ確認するので、使うものは「ショートカットを追加」を押します。同梱のショートカットは、それぞれ 1 つのアクションを既定の値で実行します。
shortcuts run で使う名前 |
アクション |
|---|---|
Minutes Ago: Transcript with Speakers (30 min) |
話者付きの文字起こしを取得(直近 30 分、Markdown) |
Minutes Ago: Transcript (30 min) |
文字起こしを取得(直近 30 分) |
Minutes Ago: Export Audio (30 min) |
音声を書き出す(直近 30 分、m4a) |
Minutes Ago: Generate Minutes (30 min) |
議事録を作成(直近 30 分) |
Minutes Ago: Buffer Status |
バッファの状態を取得 |
Minutes Ago: Start Meeting |
ミーティングを開始(名前なし、画面写真なし) |
Minutes Ago: Stop Meeting |
ミーティングを終了(保存する) |
Minutes Ago: Save Recording (30 min) |
録音を保存(直近 30 分) |
Minutes Ago: List Recordings |
録音の一覧(20 件) |
Minutes Ago: Add Marker |
マーカーを付ける(名前なし) |
Minutes Ago: Add Screenshot |
画面写真を追加(保存したファイルのパスを出力) |
Minutes Ago: Pause Meeting |
ミーティングを一時停止 |
Minutes Ago: Resume Meeting |
ミーティングを再開 |
ほかの設定で使うときは、ショートカット App で自分のショートカットを作ります。
- ショートカット App で新規ショートカットを作り、「話者付きの文字起こしを取得」などのアクションを 1 つ追加します。
- 名前を付けます(例:
MA 話者付き 30分)。 - ターミナルで実行します。
shortcuts run "Minutes Ago: Transcript with Speakers (30 min)" | cat
shortcuts run "MA 話者付き 30分" | cat
shortcuts run "Minutes Ago: Export Audio (30 min)" -o ~/Desktop/
- 初回は上の出力の許可を尋ねられ、応答するまで
shortcuts runは戻りません。 - 音声のように結果がファイルのときは
-oで出力先を指定します。
どのアプリからでも使えるキー
「設定 › キーボード」の「どのアプリからでも使えるキー」で、次の 8 つの操作に、どのアプリが前面でも効くキーを割り当てられます。
- マーカーを付ける
- ミーティングを開始(前回の設定ですぐ始めます)
- ミーティングを終了して保存
- 直近 30 分を保存
- 録音と議事録を開く
- 話す言語の一覧
- 画面写真を追加(使っているアプリは前面のまま)
- ミーティングを一時停止 / 再開(進行中のミーティングを一時停止し、一時停止中なら再開します)

- 選ぶまでは何も割り当てません(以前の版で選んだマーカーのキーは引き継ぎます)。「録る」を押してキーを押します。Esc で中止、Delete で消去です。「消す」で外せます。
- ⌘ か ⌃ を含むキーにしてください。⌘ のときは、⌃・⌥・⇧ のどれかも一緒に押します。Minutes Ago のウインドウで使うキー(⌘E など)は使えません(「「…」で使っています」)。
- ほかのアプリが使っているキーは「使えません(ほかのアプリが使用中)」と出ます。キーを録るときに「キーが届きませんでした。ほかのアプリが使っているかもしれません。」と出ることもあります。
- メニューの各項目の横に、割り当てたキーが出ます。
- キーでミーティングを開始・保存すると、画面の上に短く表示します(「ミーティングを開始 · 言語 · アプリ」「ミーティングを保存しました · 名前」)。キーで画面写真ありのミーティングを始めても画面収録の許可は求めず、許可が無ければ表示に「写真なし(許可が無いため)」が付きます。
- 同じペインに、Minutes Ago の中で使うキーの一覧(「アプリ内のキー」。「録音と議事録」ウインドウの ⌘E 書き出し、⇧⌘M 議事録など)もあります。
- エージェント・ショートカット・コマンドラインツールからは、これらのキーを読めず、変えられません。
コマンドラインツール(直販版)
直販版のみ。 Mac App Store 版には含まれません。
Web サイトから配布する直販版には、コマンドラインツール minutesago が同梱されています。上の 14 のツールと同じ操作を、ターミナルやスクリプトから実行できます。
- 場所は
/Applications/Minutes Ago.app/Contents/MacOS/minutesagoです(アプリを別の場所に置いたときは、そのアプリのContents/MacOS/minutesago)。 - 「エージェント連携」をオンにしなくても使えます。受け付けるのは、この Mac の同じユーザーのプロセスからだけです。トークンは要りません。
- ユーザー名(ホームフォルダの名前)が 17 バイト以上(UTF-8)の Mac では、接続口のパスが macOS の上限を超えるため、コマンドラインツールは使えません。そのときは、「設定 › エージェント」の「コマンドラインツール」の欄とツール自身がその旨を表示します。
- Minutes Ago が起動していなければ、起動して待ちます(
--no-launchを付けると起動しません)。 - 無料の範囲と回数はエージェント連携と同じです(上)。
- 出力の文面は英語だけです。
インストール
「設定 › エージェント」の「コマンドラインツール」の欄に、ツールのパスと次の 2 つのコマンドが出て、コピーできます。どちらか一方を実行します。
/usr/local/bin にリンクを作る(パスワードを求められます):
sudo ln -sf "/Applications/Minutes Ago.app/Contents/MacOS/minutesago" /usr/local/bin/minutesago
または、PATH にフォルダを足す(sudo なし):
echo 'export PATH="/Applications/Minutes Ago.app/Contents/MacOS:$PATH"' >> ~/.zshrc
新しいターミナルを開くと minutesago で呼べます。アプリがリンクや PATH を書き換えることはありません。コマンドの一覧は minutesago --help で表示されます。
サブコマンド
| サブコマンド | 対応するツール | 内容 |
|---|---|---|
status |
get_buffer_status |
残っている範囲、録音の状態、トラック、議事録のエンジンなど |
transcript |
get_transcript |
時刻付きの文字起こし |
speakers |
get_speaker_transcript |
話者付きの文字起こし。--format(markdown 既定 / json / text / vtt / srt)、--refresh(話者分離をやり直す) |
export-audio |
export_audio |
音声を書き出し先フォルダに書き、ファイルのパスを出力します。--format(m4a 既定 / wav) |
minutes |
generate_minutes |
議事録の Markdown(--track は受けません) |
meeting start |
start_meeting |
ミーティングを開始します。--name、--screenshots <秒>(3 / 5 / 10 / 20 / 30 / 60。0 = なしが既定)、--app <bundle ID>(撮るアプリ。--screenshots が必要)、この会議だけの --language <BCP 47>・--audio-app <bundle ID か none>・--microphone <名前か none>・--preset <名前> |
meeting stop |
stop_meeting |
ミーティングを終了して録音として保存します。--discard で保存せずに終了 |
meeting pause |
pause_meeting |
ミーティングを一時停止します。meeting resume まで何も録音せず、時計も止まります(無料) |
meeting resume |
resume_meeting |
一時停止中のミーティングを再開します(無料) |
save |
save_recording |
まだ保存していない録音の範囲を録音として保存します(書き出し先フォルダではありません)。--last / --start / --end、--name、`–track both |
list |
list_recordings |
保存した録音の一覧を ID 付きで。--limit <n>(1〜200、既定 20) |
show <id> |
get_recording |
保存した録音 1 件の文字起こし。--format(markdown 既定 / text / json / vtt / srt)、--no-markers |
marker add |
add_marker |
今マーカーを付けます。--name |
screenshot add |
add_screenshot |
ミーティングのアプリの画面写真を今撮り、保存したファイルの時刻とパスを出力します(画面写真ありのミーティング中、録音中だけ。無料) |
mcp |
— | stdio の MCP サーバーとして動きます(下の「Claude に登録する(コマンドラインツール経由)」) |
version |
— | 版を表示します |
共通の引数:
--last <分>— 直近の分数(既定 30)。transcript・speakers・export-audio・minutes・saveで使います。--start <ISO 8601>と、任意の--end <ISO 8601>— 時間範囲。範囲の規則は上のツールと同じです。--track both|microphone|app— トラック(既定both)。--json— 結果全体(content・structuredContent・isError)を JSON で出力します。--no-launch— Minutes Ago が起動していないとき、起動せずに終わります(終了コード 3)。--timeout <秒>— ツールの完了を待つ上限(既定 600)。議事録は範囲が長いと数分かかります。
既定では、ツールの結果のテキストを標準出力に、エラーの本文を標準エラー出力に書きます。改行で終わる出力(字幕・文字起こし)はそのまま書くので、> file.vtt でそのままのファイルになります。
例:
# 直近 30 分の文字起こし(マイクのみ。無料の範囲)
minutesago transcript --last 30 --track microphone
# 10:00〜11:00 の話者付きの文字起こしを JSON で
minutesago speakers --start 2026-10-01T10:00:00+09:00 --end 2026-10-01T11:00:00+09:00 --format json
# 直近 60 分の議事録をファイルに保存
minutesago minutes --last 60 > minutes.md
# この会議だけ英語・Teams・マイクなしでミーティングを開始し、終了して保存
minutesago meeting start --name "定例" --language en-US --audio-app com.microsoft.teams2 --microphone none
minutesago meeting stop
# 最近保存した録音の一覧と、そのうち 1 件を字幕で
minutesago list --limit 5
minutesago show <id> --format vtt > teirei.vtt
終了コード
スクリプトから結果を判定できるよう、終了コードは次のとおりです。
| コード | 意味 |
|---|---|
0 |
成功 |
1 |
ツールのエラー(範囲外、書き出し先フォルダが未設定、録音していない、画面写真ありのミーティングが無い、生成の失敗など。本文は標準エラー出力) |
3 |
Minutes Ago に接続できない(起動できない、待ち時間切れ) |
4 |
ライセンスが要る(お試しが残っていない) |
5 |
範囲が無料の範囲(直近 30 分)の外(お試しが残っていない) |
64 |
引数の誤り |
70 |
内部のエラー(応答が読めないなど) |
78 |
ユーザー名が長く、接続口(ソケット)のパスを作れない(上の 17 バイトの制限) |
Claude に登録する(コマンドラインツール経由)
minutesago mcp を登録すると、「エージェント連携」をオンにせず、トークンも使わずに、Claude から 14 のツールを使えます。上の「Claude に登録する(直販版)」(HTTP)とは別の登録方法で、どちらか一方で足ります。Claude Code 用のコマンドは「設定 › エージェント」の「コマンドラインツール」の欄からコピーできます。
Claude Code:
claude mcp add minutes-ago -- "/Applications/Minutes Ago.app/Contents/MacOS/minutesago" mcp
Claude Desktop(claude_desktop_config.json の mcpServers):
{
"mcpServers": {
"minutes-ago": {
"command": "/Applications/Minutes Ago.app/Contents/MacOS/minutesago",
"args": ["mcp"]
}
}
}
Minutes Ago が起動していなければ、最初の呼び出しで起動します。
コマンドラインツールのアンインストール
- リンクを作った場合:
sudo rm /usr/local/bin/minutesago(リンクはsudoで作ったため、削除にもsudoが要ります)。 - PATH に足した場合:
~/.zshrcから足した行を消します。
アプリを削除すると、リンクは切れて使えなくなります。