【Unity】Codex CLIを起動する時にUnity Natural MCPのポート番号を上書いて複数のUnityプロジェクトで同時に使う

Codex CLIを起動する時にUnity Natural MCPのポート番号を上書いて複数のUnityプロジェクトで動作させる方法です。

Codex CLI 0.47.0
Unity Natural MCP 0.5.0

やりたいこと

Codex CLI では、MCPの設定を原則としてグローバルな設定ファイルである ~/.codex/config.toml に書き込む必要があります(パスはmacの場合の例)。

いま、Codex CLI で Unity Natural MCP を使うことを考えます。
この基本的な方法は以下の記事にあるとおりです

light11.hatenadiary.com

さて、上述の記事の通り、Unity Natural MCP を設定する際にはポート番号もこの設定ファイルに記述することになります。

したがって、ポート番号をプロジェクトごとに変えている場合にはこのグローバルな設定を参照するだけではうまく起動できません。

解決方法

この問題は、Codex CLI の起動時にconfig.tomlの設定値を環境変数や実行時の引数で上書記することで解決できます。
以下のようなオプションをつけて Codex CLI を起動することで、Unity Natural MCP のポート番号が実行時に指定した引数で上書きされます。

codex --config 'mcp_servers.unity_natural_mcp.env.MCP_SERVER_PORT="50813"'

ちなみに—configオプションの値を以下のようにクォーテーションで囲まないと、

codex --config mcp_servers.unity_natural_mcp.env.MCP_SERVER_PORT="50813" 

以下のようなエラーが出るので注意が必要です。

Error loading configuration: invalid type: integer `50813`, expected a string
in `mcp_servers.unity_natural_mcp.env.MCP_SERVER_PORT`

関連

light11.hatenadiary.com

参考

zenn.dev