ChatGPTデスクトップアプリにローカルのMCPサーバーを接続する

ChatGPTのデスクトップアプリは、自分のマシンで動くMCPサーバーと通信できます。 ブラウザのChatGPTにはできません。このひとつの違いが、このページのほかのすべてを 決めます。そしてここは多くの記事が間違えている部分でもあります。ChatGPTの コネクタが最初に登場したあとで、状況が変わったからです。

OpenAIのMCPドキュメント(2026年8月12日時点で確認)によれば、デスクトップアプリ、 Codex CLI、IDE拡張はいずれも2種類のサーバーに対応します。コマンドで起動される ローカルのプロセスであるSTDIOサーバーと、アドレス上に存在する streamable HTTPサーバーです。3つのクライアントは設定ファイルを共有するため、 一度追加したサーバーはすべてで使えます。Web版のChatGPTは別の話です。プラグインが 提供するリモートのMCPベースのツールは使えますが、通常のWebでの会話には、 手元のノートPCで動いているものへ届く経路がありません。

この記事ではデスクトップの経路を最初から最後まで扱います。設定がどこにあるか、 ローカルのサーバーをどう追加するか、承認モードが実際に何を制御するのか、そして 自分のファイルにアシスタントを向ける前に知っておく価値のある限界です。

デスクトップとWebは同じクライアントではない

2つの別々のモデルを頭の中に持っておくと理解しやすくなります。

デスクトップアプリはローカルのクライアントです。MCPの設定はCodexのファイル ~/.codex/config.tomlにあり、ローカルのコマンドを受け付けます。マシン上の ファイル、データベース、アプリのライブラリを読むものは、すべてこの経路です。

Webアプリはリモートのクライアントです。MCPについてはプラグインを通り、自分の サーバーを直接扱う場合は開発者モードを通ります。OpenAIはこれを、読み取りも 書き込みも含むすべてのツールに対する完全なMCPクライアント対応のベータと説明して います。Web上のPro、Plus、Business、Enterprise、Educationのアカウントで利用でき、 ChatGPT自身のSettings → Security and loginから有効にします。開発者モードが 話すのはSSEとstreaming HTTPです。ローカルのプロセスという概念はないため、 手元のノートPCのサーバーをWebアプリに見せるには公開のHTTPSエンドポイントが 必要になります。個人のアーカイブにとっては、たいてい割に合わない取引です。

データが手元にあるなら、デスクトップアプリを使ってください。この記事の残りは そちらの話です。

ChatGPTデスクトップアプリにローカルのMCPサーバーを追加する

同等の経路が3つあります。面倒が少ないと感じるものを選んでください。

画面から。 Settings → MCP serversを開き、Add serverを選び、名前を 付け、STDIOを選択して、サーバーを起動するコマンドを入力します。保存したら Restartを選びます。

ターミナルから。 Codexが同じエントリを追加します。

codex mcp add <server-name> -- <command>

ファイルを編集して。 ~/.codex/config.tomlはサーバーごとに1つのテーブルを 取ります。

[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]

どの経路を選んでも、エントリは同じ場所に落ち、Codex CLIとIDE拡張もそれを拾います。 サーバーが実際に立ち上がったかを確かめるには、入力欄で/mcpと入力してください。 接続済みのサーバーがそこに一覧されます。 Claude DesktopとClaude Codeと 同じく、再起動は省略できません。クライアントはMCPの設定を起動時に読むためです。

会議の文字起こしを接続する

Speak-YはmacOSアプリの中にMCPサーバーを同梱していて、Freeを含むすべてのプランで 無料です。Speak-Y側では設定 → 連携を開きます。Claude Desktop、 Claude Code、CursorはそこでワンクリックのInstallが使えます。設定がJSONで、 アプリが安全にマージできるからです。OpenAIのものはJSONではないため、 OpenAI Codex CLIという項目は代わりにSetup guideCopy valuesボタンを 提供します。~/.codex/config.toml[mcp_servers.speaky]の下に貼り付ける2行です。

[mcp_servers.speaky]
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]

このカードがChatGPTではなくCodex CLIと書かれているのには、覚えておく価値のある 理由があります。ファイルは1つで、デスクトップアプリはそれを読むということです。 値を一度貼り付ければ、文字起こしはChatGPTのデスクトップアプリでも、Codex CLIでも、 IDE拡張でも同じように使えます。

そのうえでChatGPTを再起動し、自分の録音にしか答えられないことを聞いてみて ください。「Speak-Yの録音から先週のプランニングの通話を探して、何を決めたかを 挙げてください」は最初の確認として妥当です。ほかのパターンは 会議メモに使う20のプロンプトに まとめています。

ChatGPTに実際に見えるもの

ここでは安心よりも正確さが大事なので、はっきり書きます。ツールは13個、2つに 分かれます。

5つはライブラリを直接読みます。 録音の一覧、検索、文字起こしの取得、最新の 録音の取得、タグの一覧です。これらはマシン上のファイルを対象に動作し、Speak-Yの アプリが起動している必要はありません。

8つは動作中のアプリを経由します。 タグ付け、話者の名前の変更、録音の タイトルの編集、音声入力の再認識、同期、そしてチームチャンネルの一覧・作成・ そこへの公開です。データベースと暗号鍵はアプリが持っているため、アプリが閉じて いる間は何も変更されません。

削除するものはありません。 録音もチャンネルもワークスペースも、削除するツール は存在しません。チャンネルへの公開だけはチャットの画面から取り消せない操作で、 取り下げはアプリで行います。

承認モードと、ツールの注釈が重要な理由

MCPでは、サーバーが各ツールにreadOnlyHintという注釈を付けられます。OpenAIの クライアントはまさにそれを使います。default_tools_approval_modeとして文書化 されている値はautopromptwritesapproveで、writesは読み取り専用と 示されていないすべてのツールについて確認を求めます。ツールごとの上書きも可能です。

これが機能するのは、サーバーが自分のツールについて正直な場合だけです。Speak-Yは 5つの読み取りツールをread-onlyとして、操作系をデータを変更するものとして示して いるため、writesは望ましい挙動になります。検索と文字起こしは中断なく流れ、 タグ付けや共有は止まって確認を求めます。すべての操作は 設定 → 連携の履歴に残り、同じ画面のスイッチ1つで操作をオフに したまま読み取りを残せます。

そもそも可能性ごと消しておきたい場合は、読み取りに固定してサーバーを起動して ください。args--read-onlyを追加すれば、変更系のツールはそのクライアントに 一切公開されません。

args = ["--mcp", "--read-only"]

書き込みを読み取りと偽るサーバーがあれば、この仕組みはすべて崩れます。導入する MCPサーバーを誰が書いたのかを気にすべき、実務的な理由がここにあります。OpenAI 自身の開発者モードのドキュメントも同じ種類のリスクを挙げています。プロンプト インジェクション、書き込み操作でのモデルの誤り、そして端的に悪意のあるサーバー です。

この構成にできないこと

この先にあるもの

ChatGPTで問い合わせられる個人のライブラリは、問題の半分——自分自身の記憶——を 解決します。もう半分は他人の記憶です。自分が参加していない通話で決まったことが それにあたります。チームのワークスペースに公開された録音は エンドツーエンド暗号化されたまま同じアシスタントから検索でき、 「なぜそう決めたのか」が、誰かの手を止める用件ではなく、そのまま聞ける質問に 変わります。

FAQ

自分のパソコンで動くMCPサーバーにChatGPTを接続できますか

デスクトップアプリならできます。OpenAIのMCPドキュメントは、デスクトップアプリ、Codex CLI、IDE拡張について、コマンドで起動するローカルのSTDIOサーバーと、リモートのstreamable HTTPサーバーの2種類を挙げています。Web版のChatGPTではできません。プラグインが提供するリモートのMCPベースのツールにしか届かないためです。

ChatGPTのデスクトップアプリはMCPの設定をどこに保存しますか

Codexの設定ファイル、~/.codex/config.tomlの[mcp_servers.<name>]テーブルです。デスクトップアプリ、Codex CLI、IDE拡張はこの1つのファイルを共有するため、どれかで追加したサーバーはほかにも現れます。

MCPのツールが何かを変更する前に、ChatGPTは確認しますか

承認モード次第です。default_tools_approval_modeとして文書化されている値はauto、prompt、writes、approveの4つで、writesは読み取り専用と示されていないすべてのツールについて確認を求めます。ツールごとの上書きも可能です。この設定が意味を持つのは、Speak-Yのように自分のツールを正直に注釈しているサーバーが相手のときだけです。

ChatGPTを接続すると、録音はOpenAIにアップロードされますか

接続そのもののために何かがアップロードされることはありません。Speak-YのMCPサーバーはあなたのMac上で動作し、ローカルのライブラリを読みます。ただしChatGPTが実際に読んだ内容は会話の一部となり、チャットのほかの部分と同じようにモデルへ送られます。つまり、質問した文字起こしはチャットのコンテキストとして端末の外に出ます。

Speak-Yの連携画面にChatGPTではなくCodex CLIと書かれているのはなぜですか

同じ設定だからです。CodexのファイルはJSONではなくTOMLなので、Speak-Yはファイルを代わりに書き込むのではなく、貼り付ける2つの値を渡します。そしてChatGPTのデスクトップアプリは、その同じファイルを読みます。