Meeting.aiは、チームの会議を録音して会議ノート(要約や決定事項)を作成し、全文の文字起こしも保存します。Codexと連携すると、計画会議でチームが決めたことをCodexが読み、リポジトリの中でそのまま実装に移せます。誰かが内容を打ち直す必要はありません。
対象は、Meeting.aiで記録した会議です。Meeting Bot(Meeting.aiの記録係)が参加した会議と、自分で録音またはアップロードした会議が含まれます。
設定は、コマンドを1つ実行して、ブラウザでサインインするだけです。APIキーやトークンを保存する必要はありません。
codex mcp add meeting-ai --url https://mcp.meeting.ai/mcpこの連携で、Codexは20個のツールを使えるようになります。そのうち7個は読み取り専用で、会議の検索、ノートの読み取り、文字起こしの読み取りと検索、連絡先とDriveの検索、ワークスペースの一覧表示ができます。残りは書き込みを行うツールで、Codexに使わせるかどうかは自分で決められます。読み取りだけに絞るためのconfig.tomlのブロックは、設定のセクションに載せています。
昨日の計画会議が、そのまま仕様になります。 Webhookのリトライルールは口頭で合意しましたが、チケットは誰も書いていません。リポジトリで、こう入力します。
Meeting.aiで、Webhookのリトライについて話した昨日の計画会議を探して。ノートを読んでから、合意したルールの正確な内容を文字起こしで確認して、このリポジトリに実装して。ルールごとにテストも書いて。会議で決まらなかった点は、推測せずに一覧にして。
Codexが変更を加え、根拠にしたルールを一覧で示します。
「Webhookリトライの計画会議」(10月13日)より:
1. 配信に失敗したら5回リトライする。30秒から始まる指数バックオフを使う。
2. 4xxレスポンスはリトライしない。ただし429は除く。
3. 最後の失敗のあとは、エンドポイントを障害状態としてマークし、送信を止める。
未決事項:
- エンドポイントが障害状態になったとき、顧客にメールを送るかどうか。
決まっていない。TODOとして残し、スキップ扱いのテストを付けた。
変更:internal/webhooks/retry.go、internal/webhooks/retry_test.go
(テストを3件追加)この記事の出力例は、架空の会議を想定して書いたイメージです。まず「未決事項」の一覧から読んでください。誰も決めていないルールは、チームに持ち帰って確認します。
人にレビューを頼む前に、ブランチを会議の合意内容と突き合わせます。 先週木曜のAPIレビューでページネーションの設計が変わりましたが、手元のブランチはそれより前のものです。
このブランチの差分を、Meeting.aiにある木曜のAPIレビューでページネーションについて合意した内容と比べて。コードが合意と違う箇所をすべて挙げて、それぞれ文字起こしの該当行を引用して。
違いが1つずつ、それを決めた発言と並んで返ってきます。レビューではカーソル方式のページネーションに決まったのに、ブランチはまだoffsetを受け付けている。合意したページサイズは50なのに、コードでは100になっている、といった具合です。
進行中の会議について質問します。 障害の振り返り会議が、自分抜きで始まってしまいました。その障害をいま直している最中だからです。招待リンクを貼り付けます。
Meeting.aiを使って、この会議にMeeting Botを参加させて:[Zoom、Google Meet、Microsoft Teamsのいずれかのリンクを貼り付け]
承認の設定を変えていなければ、Codexはツールを実行する前に確認を求めます。そのあと、Meeting Botがほかの参加者にも見える形で会議に入り、録音します。これには、Meeting.aiのサブスクリプションまたはCoins(Meeting.aiアカウントのクレジット)が必要です。お使いのプランでその会議にアクセスできる間は、連携と読み取りに追加料金はかかりません。20分後、同じセッションでこう聞きます。
Meeting.aiのライブノートを見て、この会議でロールバックについてここまでに決まったことを教えて。このブランチの実装は、それと合っている?
回答は、ライブノート(会議中にリアルタイムで更新されるノート)と、その時点までに記録された文字起こしをもとに作られます。
Meeting.aiとCodexを連携するには?
必要なのは、Codexと、ワークスペースが1つ以上あるMeeting.aiアカウントです。サーバーはMeeting.aiがホストしているので、手元のマシンにインストールするものはありません。
codex mcp add meeting-ai --url https://mcp.meeting.ai/mcp- サーバーを追加します。 上のコマンドを実行します。Codexがサーバーを保存し、ブラウザでMeeting.aiを開きます。
- サインインして承認します。 Meeting.aiアカウントでサインインします。画面には、接続しようとしているアプリの名前と、そのアプリに許可される操作の一覧が表示されます。内容を読み、最初に使うワークスペースでワークスペースを選んで、アクセスを許可をクリックします。
- 接続を確認します。
codex mcp listを実行します。Auth列の表示は、承認前がNot logged in、承認後がOAuthです。Codexのセッション内で/mcpと入力すると、有効なサーバーを確認できます。
ブラウザが開かなかった場合や、あとでサインインし直す必要がある場合は、codex mcp login meeting-aiを実行します。SSH経由の場合は、--no-browserを付けてください。Codexが認可用のURLを表示するので、ブラウザのあるマシンでそれを開き、Codexに求められたら、コールバックURLをターミナルに貼り付けます。
自分が出席した会議で試してみましょう。
Meeting.aiで直近の会議を探して、決まったことを一覧にして。
自分がその場にいた会議なら、答えが合っているかどうかはすぐにわかります。
config.toml に追加する場合
Codexは、MCPサーバーの設定を~/.codex/config.tomlに保存します。次のエントリは、上のコマンドと同じ意味です。
[mcp_servers.meeting-ai]
url = "https://mcp.meeting.ai/mcp"続けて、codex mcp login meeting-aiを実行します。このファイルに入るのはURLだけです。サーバーの設定をチームで共有するには、リポジトリの.codex/config.tomlに同じテーブルを書きます。Codexがプロジェクトの設定を読むのは、信頼済みのプロジェクトに限られます。この場合も、開発者はそれぞれ自分のMeeting.aiアカウントでサインインします。
Codexを読み取り専用にする
Codexに見せるツールを列挙し、書き込みを行う操作の前には確認を求めるようにします。
[mcp_servers.meeting-ai]
url = "https://mcp.meeting.ai/mcp"
enabled_tools = ["meetings_search", "meetings_notes", "meetings_transcript", "meetings_transcript_search"]
default_tools_approval_mode = "writes"enabled_toolsに書いたものが、Codexに渡るツールのすべてです。ここでは例として、読み取りツールのうち4つを指定しています。最後の行は、読み取り専用と明示されていないツールの前に、Codexが確認を求めるようにする設定です。CodexからMeeting Botを参加させられるようにしたうえで、事前に確認させたい場合は、enabled_toolsを省いて最後の行だけを残します。
IDE拡張機能やChatGPTデスクトップアプリで使う
CLI、IDE拡張機能、ChatGPTデスクトップアプリは同じ設定を共有するので、先ほど追加したサーバーはすでに使える状態です。画面から追加したい場合は、次の手順で行います。なお、メニュー名とボタン名はOpenAIのドキュメントどおり英語で記載しており、表示言語によっては異なる場合があります。
- アプリでは、Settings、MCP serversの順に開きます。IDE拡張機能では、歯車メニューからMCP serversを開きます。
- Add serverをクリックし、名前に
meeting-aiと入力して、Streamable HTTPを選び、URLを貼り付けます。 - 保存したあと、アプリではRestart、IDEではRestart extensionをクリックします。
- Authenticateをクリックし、Meeting.aiにサインインします。
知っておきたいこと
- 実際に試した範囲。 コマンドの構文と
config.tomlのテーブルは、私たちがcodex-cli 0.160.0 で確認しました。ブラウザでのサインインと、アプリやIDEでの手順は、OpenAIのドキュメントをもとに書いたもので、私たち自身では実行していません。お手元の環境で手順が違って見える場合は、お知らせください。 - まずノート、次に文字起こし。 ノートには、決定事項と(多くの場合は)アクションアイテムが、いくつかのセクションに分けてまとめられています。一方、文字起こしは長く、1ページずつ返ってきます。そのため、まずノートを読ませ、細かい点は文字起こしを検索させましょう。
- 会議で決まったことは確かめましょう。 会議中の決定は、あいまいなこともあれば、5分後に覆ることもあります。引用を出させ、決まらなかったことをCodexに一覧にさせてください。
- ライブノートは暫定版です。 会議の途中で得た回答は、その時点までに記録された内容を反映したもので、ノートは会議が終わるまで更新され続けます。その回答をもとに動く前に、もう一度聞いてください。
- 文字起こしはリポジトリに入れないでください。 決定事項は、PRの説明に書くものです。同僚の発言がそのまま入った文字起こしは、コミットに入れるものではありません。
Codexに頼めること
会議は曜日や議題で指定し、プロンプトにMeeting.aiと書いておくと、Codexがそこを調べます。
スプリントプランニングをチケットにする
Meeting.aiにある月曜のスプリントプランニングから、合意したタスクごとにチケットを1件ずつ、Markdownで書いて。タイトル、議論から読み取れる背景、受け入れ条件、会議で名前が挙がった担当者を入れて、docs/sprint-tickets.md に保存して。
そのうちの1件を見てみます。
## すべてのAPIレスポンスでレート制限ヘッダーを返す
背景:先週、顧客2社が予告なしに上限に達した。
10月12日のスプリントプランニングでPriyaが提起。
受け入れ条件:
- すべてのレスポンスに X-RateLimit-Limit、X-RateLimit-Remaining、
X-RateLimit-Reset を含める。
- 429レスポンスには、秒単位の Retry-After も含める。
- 内部サービス用のトークンは対象外とする。
担当:Tomas受け入れ条件は、エッジケースも含めて文字起こしから拾ったものです。
「なぜ」が伝わるPRの説明
レビュアーは設計レビューに出ておらず、差分を見ただけでは意図が伝わりません。
このブランチのPRの説明を書いて。Meeting.aiにある10月9日の設計レビューでの決定事項をもとに、それぞれの変更の理由を説明して、会議で合意したのにこのPRではまだ対応していないことも一覧にして。
最後に頼んだ一覧が、そのまま次のPRの範囲になります。
4回分の会議から、要件を一覧にまとめる
Meeting.aiで、直近4回の計画会議に出てきたエクスポート機能の要件をすべて挙げて、互いに矛盾するものに印を付けて。
4回の会議で話題になった機能は、そのたびに少しずつ内容が変わっています。誰かがコードを書き始める前に、矛盾を解消しておきましょう。
ほかにも頼めること
- 議論に決着をつける引用。 「Meeting.aiにある木曜のAPIレビューで、レート制限について具体的に何と言っていた?文字起こしを引用して」
- マイグレーションとそのロールバック。 「Meeting.aiにあるデータベースレビューで合意したとおりに、マイグレーションとそのロールバックを書いて。会議で決まらなかったことは一覧にして」
- レビューの準備。 「明日の設計レビューの準備を手伝って。このブランチの変更点を要約して、Meeting.aiにある前回のレビュー会議で残った未解決の質問を一覧にして」
- 出どころのわかるリリースノート。 「Meeting.aiにある、このスプリントの計画会議とレビュー会議の決定事項から、スプリントのリリースノートを書いて。各項目には、もとになった会議の名前を添えて」
- オンコールの引き継ぎ。 「Meeting.aiにある今日の障害振り返り会議から、オンコール担当のエンジニアに渡す引き継ぎメモを書いて」
- 誰もメモを取らなかった録音。 「Meeting.aiを使って、ベンダーのデモを録音したこのファイルを文字起こしし、話に出たAPIの制限をすべて挙げて:[ファイルのGoogle Driveリンクを貼り付け]」ファイルは、リンクを知っている全員がダウンロードできる状態にしておく必要があります。それが難しい場合は、Meeting.aiにアップロードしてください。
Codexが会議を見つけられないときは
たいていは、サインインが最後まで済んでいないか、Codexが別のワークスペースを見ているかのどちらかです。
| 症状 | 対処 |
|---|---|
codex mcp listにNot logged inと出る | codex mcp login meeting-aiを実行し、ブラウザでサインインを完了します |
| マシンにブラウザがない | codex mcp login meeting-ai --no-browserを実行し、表示されたURLを別のマシンで開きます |
/mcpにサーバーが出てこない | codex mcp get meeting-aiで有効になっていることを確認し、新しいCodexセッションを開始します |
| Codexが会議を見つけられない | Meeting.aiのワークスペースを一覧表示して正しいものに切り替えるよう頼むか、会議名に含まれる言葉で検索します |
| 「アプリ接続は有効になっていません」 | お使いのMeeting.aiアカウントでは、接続機能がまだ有効になっていません。その画面でサポートに問い合わせるをクリックするか、[email protected] までご連絡ください |
| 残高がないというエラーが出る | その操作にはサブスクリプションまたはCoinsが必要です |
| Codexに会議がロックされていると言われる | その会議のワークスペースに、この会議をまかなえるサブスクリプションやCoinsがなくなっています。サブスクリプションを再開するかCoinsを補充すれば、また読めるようになります。ほかの人から共有された会議の場合は、その会議のオーナーによる対応が必要です |
| ツールが見当たらない | 新しいCodexセッションを開始してツールの一覧を読み込み直し、求められたらサインインし直します |
| 動的クライアント登録のエラー | クライアントを動的に登録するブリッジやプロキシを経由しています。Meeting.aiはこの方式に対応していません。上で示したとおり、Codexにサーバーを直接追加してください |
Meeting.aiとCodexの連携を解除するには?
保存された認証情報を削除するにはcodex mcp logout meeting-aiを、サーバーのエントリごと削除するにはcodex mcp remove meeting-aiを実行します。
Meeting.ai側からアクセスを止めるには、設定 › MCP & CLIを開き、接続済みMCPクライアントの中からCodexのエントリを探して、取り消すをクリックします。Codexは chatgpt.com 経由でサインインするため、エントリがChatGPTと表示されることがあります。取り消しはただちに反映されます。
スクリプトから使うなら、memo CLI
memoは、Meeting.aiのコマンドラインツールです。同じアカウントで同じ会議にアクセスでき、結果をJSONで出力します。インストーラーはmacOSとLinuxに対応しており、リリースのチェックサムを検証します。
curl -fsSL https://raw.githubusercontent.com/meeting-ai/memo-cli/main/install.sh | bash次に、シェルが~/.local/binにあるmemoを見つけられるように新しいターミナルを開いて、次のコマンドを実行します。
memo auth login
memo meetings search --keyword "checkout"
memo meetings get <id> --allmemo install-skill-mdを実行すると、コーディングエージェントにコマンドの使い方を教えるファイルが追加されます。詳しくは、Meeting.ai CLIのページとCLIガイドをご覧ください。
まずは、昨日の計画会議から
サーバーを追加してサインインし、今週チームで合意したことを1つ、Codexに実装させてみてください。すべてのツールは、Meeting.ai MCPのページに載っています。
ほかのツールでも、同じように連携できます。





