- 開発者モードは、すべてのツールに対して**フルMCPクライアント(読み取り/書き込み)**を提供するベータ機能で、高度なコネクタ構成を安全に試したい開発者を対象としている
- 利用時はプロンプトインジェクションや悪意あるMCPのリスク、書き込みアクションの破壊的エラーなどに注意する必要があり、ツール呼び出し前のペイロード確認・承認手順が重要
- 有効化はWebのSettings → Connectors → Advanced → Developer modeで行い、リモートMCPサーバーを追加してツールを取り込み、トグルで管理できる
- 会話中にDeveloper modeを選択したあと、コネクタとツールを明示的に指示すると正確なツール選択がしやすくなり、入力スキーマ・順序指定などのプロンプト手法が効果的
- 書き込みアクションはデフォルトで承認が必要であり、readOnlyHint注釈のないツールは書き込みツールと見なされるため、誤用防止とデータ保護の観点から慎重な運用が求められる
概要
- 定義: ChatGPTのDeveloper modeは、接続されたすべてのMCPコネクタ・ツールに対して読み取り/書き込み権限を持つクライアント機能を提供するベータモード
- 対象: コネクタを安全に構成・試験できるPro/Plusユーザー向けに提供される
- 注意: プロンプトインジェクション、モデルの書き込みエラーによるデータ破壊、情報窃取型MCPなどのセキュリティリスクがある
有効化とMCPの取り込み
- 有効化手順: Settings → Connectors → Advanced → Developer modeで有効化する
- MCPサーバー追加: SettingsのConnectorsタブでリモートMCPサーバーを登録すると、会話のDeveloper modeツールセレクターに表示される
- プロトコル: SSE、ストリーミングHTTPをサポート
- 認証: OAuthまたは認証なしをサポート
- ツール同期: コネクタ詳細画面でツールOn/Offトグルを管理し、Refreshで最新のツール一覧・説明を取得する
会話でのツール利用ガイド
- 明示的呼び出し: 「Acme CRMコネクタのupdate_recordを使って…」のようにコネクタ名/ツール名を具体的に指示する
- 代替手段の禁止: 「組み込みブラウジングは禁止、Acme CRMのみを使う」のように禁止条件を明示して混乱を防ぐ
- 類似ツールの区別: 「ミーティングはCalendar.create_eventを優先し、Reminders.create_taskは使わない」のように優先順位ルールを与える
- 入力スキーマ・順序の固定: 「まずRepo.read_file { path }、次にRepo.write_file…」のように順次呼び出しとペイロード形式を具体化する
- 入れ子コネクタの優先設定: 「権限データはCompanyDBを優先し、失敗時のみ補助ソースを使う」のようにデータソース方針を宣言する
- モデル案内の改善: MCPサーバー側で**‘Use this when …’を含む行動指向のツール説明・パラメータ注釈**を提供すると、ツール選択の精度が向上する
例示プロンプト
- 予定作成: 「明日3pm PTの30分会議をCalendar.create_eventで作成し、他のスケジューリングツールは使わない」
- PR作成: 「GitHub.open_pull_requestでfeat-retry → main、タイトル・本文を明示し、mainへの直接pushは禁止」
確認・承認フロー
- ツール呼び出し点検: 各呼び出しのJSON入出力を展開してペイロード検証とデバッグを行う
- 書き込みアクションはデフォルトで承認必須: 誤入力はデータ破壊/漏えいにつながり得るため、送信前の再確認が必要
- 読み取り専用の判定: readOnlyHint注釈があるツールのみ読み取りツールとして扱い、注釈のないツールは書き込みと見なす
- 承認記憶オプション: 会話中は特定ツールの承認/拒否の記憶が可能だが、信頼できるアプリケーションにのみ許可すべき
- セッション範囲: 新しい会話またはページ再読み込み時に承認記憶は初期化される
リスクモデルと安全指針
- プロンプトインジェクション対策: MCPの結果/コンテンツを信用せず検証し、シークレット・トークン露出を防ぐ
- 最小権限: 書き込みツールは最小権限で公開し、高リスクアクションは明示承認が必要な設定にする
- コネクタ衛生: ツール説明・スキーマ・エラーケースを明確に記載して誤用と組み込みツールの誤選択を減らす
運用のヒント
- ツール選択ガイド: 「いつこのツールを使うべきか」と禁止/エッジケースを説明に含め、モデルの選択ヒューリスティクスを明確にする
- シーケンス設計: 読み取り → 検証 → 書き込みのループをプロンプトに固定し、安全な状態遷移を確保する
- 監視指標: 失敗率、ロールバック率、承認バイパスの試行などを記録して運用リスクを監視する
要約
- Developer modeはすべてのMCPツールを読み取り/書き込みで呼び出せる強力なベータ機能
- セキュリティ・安全性のために、明示的な指示、承認手順、最小権限、ツール説明品質の改善が必須
- 適切なプロンプト規律と確認フローを備えれば、エンドツーエンドの作業自動化と精密なコネクタオーケストレーションが可能になる
1件のコメント
Hacker Newsの意見
うわ、これはかなり危険だと感じている。どれだけ多くの人が危険性を正確に理解しないままこれを有効にしてしまうのか気になる。警告はたくさんあるが、実際には人はそういう警告をあまり読まないことをみんな知っている。MCPのようなものを触る人の大半も、プロンプトインジェクション攻撃が正確にどう動くのか、なぜ危険なのかをきちんと理解していないと思う
AI企業は最近、「Agentic AIは武器化されており、AIモデルは高度なサイバー攻撃を直接実行するために使われうるので規制が必要だ」と主張している。ところが、そうした企業が同時に「さあ、AIにあなたの個人データへの完全な実行アクセス権を与える方法を紹介します」と言っている状況だ
私にはこれがなぜ危険なのかよく分からない。誰かが普通にMCPを接続して同じツール群を使えるようにするのと、プロンプトを与えることと何が違うのか説明してもらえるだろうか。単に「少し技術的なアプローチ」なだけに見えるのだが、私が何を見落としているのか知りたい
ChatGPTでMCPがサポートされるのを待っていたので、ついに使えるようになって本当に楽しみだ。次の段階は、ローカルシステム制御MCPでサンドボックスへのアクセスや許可要求を与え、WebエージェントのようにChatGPTを使えるようにすることだ
これは正確には何なのか、明確に説明してもらえるだろうか。単にCLIコーディングエージェントにMCPサポートが追加されたという話なのか、それともオンラインチャットボットにMCPサポートが追加されたのか気になる
私の理解では、これはChatGPTが任意の、またはユーザー所有のMCPサーバーに接続され、データにアクセスしたりコマンドを実行したりできるようにしたものだ。開発者モードというからコード開発用かと思ったが、どうもそうではないようだ
この記事のタイトルは「ChatGPTにMCP完全対応を追加」とするのが正しい気がする。「Developer Mode」と呼んでいるのは、非技術系ユーザーが危険なことをできないようにする意図なのだろう。MCPのセキュリティ脆弱性と、プロンプトインジェクション攻撃があまりにも簡単だという現実のためだ
公式MCP群でさまざまなMCP脆弱性を発見し、ブログ(https://tramlines.io/blog)で共有している。致命的な「三重MCP攻撃」に対するランタイム防御策も、すでに https://tramlines.io で長らく提供してきた
Jony Iveが「スクリーンが日常化したことの望ましくない結果について責任を持つべきだ」と語っていたのを思い出した。Samが「本当に新しいコンピューティングパラダイムはごくたまにしか現れない。過去50年で2回くらい? 十分に期待して、驚いていい」と言っていた文脈では、完全に統合された音声制御サービスこそがそのパラダイムなのではないかと推測している。OpenAIは今後、より強力な音声サポートと、より深いアプリ連携を試みるだろう。今回のMCP統合は、SamとJonyが描く未来の一部を慎重に試す第一歩のように感じる
私たちのMCP(https://technicalseomcp.com) を接続しようとしたがエラーになった。まだデバッグ機能はないようだ。公式ドキュメントに実装例があるのを見つけた: https://platform.openai.com/docs/mcp