見出し画像

【No.151】Python × OpenAI Agents SDK 実務パック — Codex MCP 接続雛形

Python から Codex CLI を codex mcp-server で MCPServerStdio 接続し、OpenAI Agents SDK で呼び出す構成が公式ガイドに載っています。
codex で新規、codex-reply で threadId 継続。
handoffs で設計→実装→テストのパイプラインが openai-agents パッケージ1本で組めます。
timeout 短いと長時間タスクで切れるため、client_session_timeout_seconds は360000秒級が目安です。


この記事に含まれるもの

Codex MCP + Agents SDK の構成 — MCPServerStdio の位置づけ

MCPServerStdio 雛形 — command / args / timeout 付き

codex / codex-reply 使い分け — threadId 継続メモ

handoffs 3段パイプライン — 設計→実装→テスト

7日 MCP 接続チェックリスト — 完了定義付き


この記事で持ち帰れること

command codex、args mcp-server で MCPServerStdio を起動。Agents SDK の Agent 定義に MCP サーバを載せ、codedx / codex-reply でセッション継続。handoffs でマルチエージェントの土台が1枚で見えます。MCPServerStdio 雛形を Snippets に保存するのが今週の一手です。

今週試す1手: MCPServerStdio 雛形を Snippets に保存する。


Python から Codex を MCP で呼ぶ — MCPServerStdio

OpenAI 公式 Codex + Agents SDK ガイド(developers.openai.com)によると、codex mcp-server を MCPServerStdio で Python から起動。codedx / codex-reply ツールでセッション継続。client_session_timeout_seconds を長めに(360000秒級)。一次情報は OpenAI 公式 docs を正としてください。

例えば、設計 Agent が codex で新規セッションを開き、実装 Agent が codex-reply で threadId 継続する構成が handoffs で表現できます。openai-agents パッケージ1本で Agent 定義・Runner・MCP 接続まで揃うため、以前は別々に書いていた stdio 起動とツール登録を1ファイルに集約できます。timeout が短いと長時間タスクでセッションが切れるため、client_session_timeout_seconds 360000秒級を最初から入れてください。ローカル検証では codex CLI のバージョンも README に固定しておくと再現性が上がります。

構成の要点(OpenAI 公式ベース)

  • 起動: command codex、args mcp-server

  • 接続: MCPServerStdio(openai-agents パッケージ)

  • ツール: codex(新規)、codex-reply(threadId 継続)

  • パイプライン: handoffs で設計→実装→テスト

  • timeout: client_session_timeout_seconds 360000秒級推奨


マルチエージェントの土台 — Codex MCP 3要素

Codex MCP 3要素

  1. stdio 起動 — MCPServerStdio で codex mcp-server

  2. セッション — codex 新規 / codex-reply 継続

  3. handoffs — Agent 間で設計→実装→テストを渡す

  • 影響1 — Python エンジニア: openai-agents 1本で Codex パイプライン

  • 影響2 — 長時間タスク: timeout 360000秒級が必須

  • 影響3 — 受託: MCP 雛形をクライアント PoC テンプレにできる

よくある誤解と切り返し

誤解1: 「Codex API を直接 HTTP」→ 切り返し: 公式は codex mcp-server を stdio 起動。

誤解2: 「timeout デフォルトで十分」→ 切り返し: 長時間タスクで切れる。360000秒級。

誤解3: 「handoffs は別フレームワーク」→ 切り返し: openai-agents パッケージ内の機能。


MCPServerStdio 雛形 — Snippets 用ラベルブロック

MCPServerStdio 雛形

  • パッケージ: pip install openai-agents(公式 docs のパッケージ名に合わせる)

  • import: MCPServerStdio, Agent, Runner(公式 docs 参照)

  • server 定義:

    • command: codex

    • args: ['mcp-server']

    • client_session_timeout_seconds: 360000

  • Agent 定義:

    • name: (例: CodexImplementer)

    • instructions: (1行 — 実装タスク)

    • mcp_servers: [上記 server]

  • 実行: Runner.run(agent, input='(タスク1行)')

  • 期待: codex ツール呼び出し成功、stdout に結果1行

完了定義: ローカルで Runner.run が1回成功。


codex / codex-reply と handoffs — 3段パイプライン

3段 handoffs メモ

  • Agent A(設計):

    • instructions: 要件を分解し設計メモを出す

    • handoff 先: Agent B

    • ツール: codex(新規セッション)

  • Agent B(実装):

    • instructions: 設計に沿ってコード変更

    • handoff 先: Agent C

    • ツール: codex-reply(threadId 継続 — 公式 docs の渡し方に合わせる)

  • Agent C(テスト):

    • instructions: 変更のテスト手順を実行

    • ツール: codex-reply または Read のみ

  • timeout 共通: client_session_timeout_seconds: 360000

完了定義: 設計→実装→テストの3 Agent が1ファイルまたは1 Snippets に骨格として保存されている。


7日 MCP 接続チェックリスト — Codex stdio

Day 1 — CLI 確認

  • codex CLI が PATH にあるか確認

  • 完了定義: codex --version または同等が成功

Day 2 — mcp-server 起動

  • codex mcp-server を手動起動テスト

  • 完了定義: 起動ログ1行

Day 3 — MCPServerStdio

  • Python から MCPServerStdio 定義、timeout 360000 設定

  • 完了定義: 雛形が1ファイルにある

Day 4 — Agent 1本

  • Agent + Runner.run で1タスク実行

  • 完了定義: codex ツール呼び出し成功

Day 5 — codex-reply

  • threadId 継続の2ターン実行

  • 完了定義: 2ターン目が1行メモで成功

Day 6 — handoffs

  • 3段 handoffs メモを Snippets 保存

  • 完了定義: Snippets 登録済み

Day 7 — README

  • 実行手順と timeout 注意を README に3行

  • 完了定義: README に timeout 360000 の記載

✅ 今日は MCPServerStdio 雛形の command/args/timeout 3行だけ Snippets に保存する。


ペルソナ別の使い方

Python エンジニア: Codex MCP を MCPServerStdio 雛形から開始。handoffs は Day 6 以降。

受託エンジニア: クライアント PoC に timeout 360000 を必ず明記した雛形を渡す。

マルチ Agent 検証者: 設計→実装→テストの3段 handoffs を最小パイプラインとして試す。


参照

OpenAI 公式 Codex + Agents SDK ガイド。codex mcp-server を MCPServerStdio で Python から起動。codex / codex-reply ツールでセッション継続。


免責

本記事は OpenAI 公式情報ベースの二次解説です。CLI バージョン・API は公式 docs を正としてください。Codex の Bash/ファイル操作権限は案件のセキュリティポリシーに合わせて改変してください。娯楽・要約向けであり、本番利用判断は自己責任で行ってください。

江戸テック瓦版 — AI 時代の生存戦略

いいなと思ったら応援しよう!