🔍

Claude Code の検索で ChatGPT Mac アプリの o3 Web検索を使用する

に公開

株式会社ジェイテックジャパン CTOの高丘 @tomohisaです。最近 Claude Code をメインに使うようになってきていますが、ビルトインの検索の精度があまり良くない気がしています。ChatGPT のアプリは、o3+検索の組み合わせが精度が高いと感じていて、Web で調べないといけないと感じる時は、ChatGPT で検索して、Claude に貼り付けていましたが、MCP として ChatGPT のアプリが使えるのではないかと考えて調べてみました。調べてみたら、macOS のショートカットを使用して検索を自動化する機能を、MCP から呼び出すという方法で Mac の ChatGPT のアプリを MCP サーバーのように使えるコードを見つけたので、最近はこれを検索に使用しています。

この記事では、Claude Code に ChatGPT Mac アプリの o3 Web検索機能を MCP(Model Context Protocol)として統合する方法について解説します。これにより、Claude Code での検索精度が向上します。

この方法の最大の利点は、o3 モデルの高度な推論能力により関連性の高い検索結果を取得できることです。Claude Code から直接 o3 Web検索を実行できるため、統合されたワークフローを実現できます。また、手動でのコピー&ペーストが不要になることで時間短縮も可能です。以下、設定方法と使用体験について説明していきます。

https://x.com/yimajo/status/1940725160660947064

https://x.com/tomohisa/status/1940895606270316719

MCP サーバーの設定方法

Claude Code で ChatGPT MCP を使用するには、以下のいずれかの方法で設定できます。

方法1: コマンドラインから直接追加(推奨)

# --scope user を使用してすべてのプロジェクトで使用可能に設定
# -e フラグを使用して環境変数を設定
claude mcp add --scope user chatgpt \
  -e MCP_TIMEOUT=200000 -e MCP_TOOL_TIMEOUT=3000000 \
  -- uvx mcp-server-chatgpt-app

スコープオプションについて

Claude Code の MCP 設定では、以下の3つのスコープから選択できます:

スコープ 設定保存場所 用途 共有範囲
local (デフォルト) ~/.claude.jsonprojects.<パス>.mcpServers 特定プロジェクト専用の設定 自分のみ
project <プロジェクトルート>/.mcp.json チームで共有する設定 Git等で共有可能
user ~/.claude.jsonmcpServers 個人の全プロジェクト共通設定 自分の全プロジェクト

優先順位: local → project → user の順で優先されます。

方法2: JSON 一括登録

# --scope を指定してスコープを選択可能
claude mcp add-json --scope user chatgpt '{
  "command":"uvx",
  "args":["mcp-server-chatgpt-app"],
  "env":{"MCP_TIMEOUT":"200000","MCP_TOOL_TIMEOUT":"3000000"}
}'

方法3: 設定ファイルを直接編集

スコープに応じて、適切な設定ファイルに追加します。

user スコープの場合(全プロジェクト共通)

~/.claude.json ファイルの mcpServers セクションに追加:

{
  "mcpServers": {
    "chatgpt": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-chatgpt-app"
      ],
      "env": {
        "MCP_TIMEOUT": "200000",
        "MCP_TOOL_TIMEOUT": "3000000"
      }
    }
  }
}

project スコープの場合(チーム共有)

プロジェクトルートの .mcp.json ファイルに追加:

{
  "mcpServers": {
    "chatgpt": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-chatgpt-app"
      ],
      "env": {
        "MCP_TIMEOUT": "200000",
        "MCP_TOOL_TIMEOUT": "3000000"
      }
    }
  }
}

既存の設定に追加する場合

既に mcpServers セクションがあり、他のMCPサーバーが設定されている場合は、カンマで区切って追加します:

{
  "mcpServers": {
    "existing-server": {
      "type": "stdio",
      "command": "existing-command"
    },
    "chatgpt": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-chatgpt-app"
      ],
      "env": {
        "MCP_TIMEOUT": "200000",
        "MCP_TOOL_TIMEOUT": "3000000"
      }
    }
  }
}

注意点:

  • JSON の構文エラーを避けるため、最後の要素の後にはカンマを付けないでください
  • インデントは2スペースまたは4スペースで統一してください
  • ファイルの文字コードは UTF-8 で保存してください
  • project スコープで設定する場合は、Git にコミットすることでチームメンバーと共有できます
  • 環境変数に機密情報を含む場合は、user または local スコープを使用してください

その他の便利なコマンド

# MCP サーバーの一覧表示
claude mcp list

# 特定のサーバーの詳細表示
claude mcp get chatgpt

# サーバーの削除(スコープを指定)
claude mcp remove --scope user chatgpt

# Claude Desktop から設定をインポート
claude mcp add-from-claude-desktop

MCP (Model Context Protocol) とは

MCPは、AIモデルと外部ツール・サービスを標準化された方法で接続するためのプロトコルです。stdio型の通信方式では、標準入出力を使用してJSON-RPCベースのメッセージをやり取りします。

タイムアウト設定の重要性

o3 モデルは高度な推論を行うため、通常のモデルよりも応答時間が長くなります。そのため、MCP_TIMEOUT を 200000ms(200秒)、MCP_TOOL_TIMEOUT を 3000000ms(3000秒)に設定する必要があります。MCP_TIMEOUT は MCP接続のタイムアウトを、MCP_TOOL_TIMEOUT は o3 推論処理のタイムアウトを制御します。これらの設定により、o3 の推論処理が完了するまで待機できます。

uvx コマンドについて

uvx は Python パッケージを仮想環境なしで実行できるツールです。この設定により、mcp-server-chatgpt-app パッケージが自動的にインストールされ、実行されます。

mcp-server-chatgpt-app について

このMCPサーバーは、cdpath/mcp-server-chatgpt-app として公開されています。Mac の ChatGPT アプリと AppleScript 経由で連携し、ChatGPT のショートカット機能を活用した自動化を実現します。Web検索結果の取得と整理を行い、o3 モデルの推論結果を Claude Code に返却する仕組みになっています。

重要:ショートカットアプリの設定

MCP サーバーが ChatGPT と正しく連携するためには、Mac のショートカットアプリで専用のショートカットを作成する必要があります。

Mac ショートカットアプリとは

ショートカットアプリは、macOS に標準搭載されている自動化ツールです。複数のアプリやサービスを連携させて、繰り返し作業を自動化できます。ChatGPT Mac アプリは、このショートカットアプリ用に「Ask ChatGPT」という専用アクションを提供しており、他のアクションと組み合わせて AI ワークフローを構築できます。

ショートカットアプリの設定画面

設定手順

  1. ショートカットアプリを開く

    • Mac のショートカットアプリを起動します
    • Spotlight 検索(Command + Space)で「ショートカット」と入力して起動できます
  2. 新規ショートカットの作成

    • 「+」ボタンをクリックして新規ショートカットを作成
    • 名前は必ず「Ask ChatGPT on Mac」にしてください(この名前でないと MCP が認識しません)
  3. アクションの追加

    • Ask ChatGPT アクション:ChatGPT にテキストを送信し、レスポンスを取得

      • 入力:前のアクションからのテキスト、または直接入力
      • モデル選択:o3、o4-mini、4o、4.1 などから選択可能
      • 会話モード:新規チャットまたは既存チャットへの継続
    • Stop and Output アクション:処理を停止して結果を出力

      • Respond:画面に表示
      • Copy to Clipboard:クリップボードにコピー
      • Do Nothing:単に終了
  4. 重要:Provide Output の設定

    • ショートカット名の横にある「ⓘ」ボタンをクリック
    • 右側のサイドバーで「Provide Output」のチェックボックスをオンにしてください
    • このチェックがデフォルトではオフになっているため、必ずオンにする必要があります
    • オフのままだと、MCP にデータが送られません

Provide Output オプションの重要性

「Provide Output」を有効にすることで:

  • ショートカットがクイックアクション/サービスとして他のアプリから呼び出し可能になる
  • コマンドラインから shortcuts run で実行した際に出力を取得できる
  • MCP サーバーなど外部プログラムからショートカットを実行して結果を受け取れる

このオプションは macOS 12.3 以降で追加され、出力を扱うショートカットでは必須の設定となっています。

設定確認のポイント

  • ショートカット実行後にダイアログが表示される場合は、設定がうまくできていない可能性があります
  • 「Provide Output」がオンになっていることを再確認してください
  • Stop and Output アクションで「Respond」以外を選択していることを確認してください
  • 正しく設定されていれば、ChatGPT の結果が MCP 経由で Claude Code に返されます

トラブルシューティング

症状 解決策
出力が返ってこない Provide Output をオンにする
エラーダイアログが表示される Stop and Output の設定を確認
ChatGPT が応答しない ChatGPT Mac アプリが起動していることを確認
長文が途切れる Ask ChatGPT の詳細設定で最大トークン数を増やす

ChatGPT Mac アプリでの o3 モデル設定

o3 モデルの特徴

o3 は OpenAI の最新の推論特化型モデルです。複雑な問題解決や多段階の論理的思考が可能な高度な推論能力を持ち、従来のモデルと比較してより正確で詳細な回答を生成します。推論レベルは3段階から選択でき、low は基本的な推論で高速処理、medium はバランスの取れた標準的な推論、high は徹底的な推論で高精度ですが時間がかかるという特徴があります。

モデルの手動切り替え

現在、ChatGPT Mac アプリではモデルの自動切り替え機能がないため、手動で o3 に変更する必要があります。まず ChatGPT Mac アプリを開き、設定画面でモデルを「4o」から「o3」に変更します。その後、用途に応じて推論レベル(low/medium/high)を選択してください。

ショートカット機能の活用

ChatGPT Mac アプリのショートカット機能(デフォルト: Option+Space)を使用して、素早く検索を実行できます。MCP 経由でこのショートカットが自動実行され、Claude Code からシームレスに利用できます。

使用体験とメリット

検索精度の向上

o3 モデルの高度な推論能力により、検索精度が大幅に向上します。単純なキーワードマッチではなく文脈を理解した検索が可能になり、関連性の高い結果を取得できます。プログラミング関連の検索では具体的な実装例やベストプラクティスを提示し、技術的な詳細まで網羅します。また、一つのトピックに対して複数の観点から情報を収集し、多角的な分析を提供します。

現在の制限事項

このシステムは完全に自動化されているわけではなく、いくつかの制限があります。まず、4o と o3 の自動切り替えができないため、手動でモデルを変更する必要があります。o3 モデルの推論には時間がかかるため、結果取得まで数分待つ場合があります。さらに、AppleScriptと Shortcuts を使用しているため、現在は macOS でのみ動作します。

それでも価値のある理由

これらの制限があっても、このソリューションは非常に価値があると感じています。検索品質が大幅に向上し、従来の検索では見つからなかった関連情報を発見できるようになりました。的確な技術情報により実装時間が短縮され、開発効率が改善されています。さらに、o3 の推論過程から新しい視点や解決方法を学習できる効果もあります。

実際の活用例

コード検索での活用

Claude Code で「React のパフォーマンス最適化」について検索すると、MCP 経由で ChatGPT o3 に問い合わせが行われます。o3 は設定しなくても、最新の情報を聞いた時にはWeb検索も行って、推論を実行し、メモ化の実装パターン、バンドルサイズ最適化手法、実際のコード例とベンチマーク結果などを整理して返却します。このように、単なる検索結果の羅列ではなく、体系的に整理された情報を得ることができます。

具体的な使用方法

Claude Code で ChatGPT MCP を使用する際は、以下のようなコマンドを使用します:

「ChatGPT を使って React のパフォーマンス最適化について調べて」
「o3 モデルで最新の Next.js 14 の App Router について詳しく教えて」

技術調査での活用

最新の技術トレンドや具体的な実装方法について、o3 の推論能力を活用して包括的な調査を実行できます。特に、複数の情報源を横断した分析や、技術的な比較検討において威力を発揮します。

トラブルシューティング

よくある問題と解決方法

タイムアウトエラーが発生する場合は、特に高推論レベル使用時にタイムアウト値を増やすか、ネットワーク接続を確認してください。MCP サーバーが起動しない場合は、uvx コマンドがインストールされているか、Python 環境が正しく設定されているかを確認する必要があります。ChatGPT アプリとの連携が失敗する場合は、ChatGPT Mac アプリが最新版であることを確認し、システム環境設定でアクセシビリティ権限が付与されているかチェックしてください。

今後の展望

ChatGPT Mac アプリの機能改善により、モデルの自動切り替え機能や Web検索の完全自動化(確認ダイアログの撤廃)が実現されることを期待しています。また、より高速な推論処理や Windows/Linux 版への対応も望まれます。

まとめ

Claude Code と ChatGPT o3 の連携は、現時点でも十分に実用的で価値のあるソリューションです。若干の手動操作は必要ですが、検索精度の向上により得られる開発効率の改善は大きく、積極的に活用していく価値があると感じています。

特に技術調査や問題解決において、o3 の推論能力を活用できることは大きなアドバンテージとなります。MCP の標準化されたプロトコルにより、今後さらに多くのツールとの連携も期待できます。

皆様もぜひ試してみてください。質問やフィードバックがありましたら、お気軽にコメントください。

参考リンク

詳細な技術情報については、mcp-server-chatgpt-app GitHub リポジトリClaude Code 公式ドキュメント を参照してください。

ジェイテックジャパンブログ

Discussion