Skip to content

Codex から起動された MCP サーバーにワークスペースパスを伝達したい #1

@n4cl

Description

@n4cl

背景

Codex の config.toml に MCP サーバーを登録すると、command / args / env は全ワークスペース共通になります。

そのため SIDE_CONTEXT_MCP_HOME を指定しても保存先が 1 箇所に固定され、複数プロジェクトで同じサーバーを使うとデータが混在してしまいます。

現状はサーバー定義をプロジェクトごとに複製し、env で保存先を変える運用しか思いつきませんが、これは管理が煩雑で実用的とは言いにくい状況です。

再現手順

  1. Codex の config.toml に side-context-mcp サーバーを 1 つ登録する
  2. プロジェクト A と B で Codex を使い、MCP ツールでエントリを作成する
  3. SIDE_CONTEXT_MCP_HOME が同じ値に固定されているため、A/B どちらから操作しても同じ JSON ディレクトリに保存される
  4. 片方のプロジェクトのエントリも一覧に混在し、意図した管理ができない

期待する挙動

  • Codex から MCP サーバーを起動する際、呼び出し元ワークスペース(もしくはプロジェクトルートなど)を表す情報がサーバー側に渡る
  • その情報を利用して、サーバー実装側が保存先ディレクトリを自動で切り替えられる

現状の挙動

  • process.cwd() は Codex 側の固定ディレクトリ(あるいは一時ディレクトリ)になっており、ユーザーが開いているリポジトリを特定できない
  • Codex から渡ってくる環境変数にもワークスペースを識別するヒントが見当たらず、サーバー側では利用者のコンテキストを復元できない

解決の方向性(アイデア)

  • Codex が MCP サーバー起動時に、利用者のワークスペースパス(または識別子)を環境変数で渡す
  • もしくは、Codex の CLI ランチャーで $(pwd) 等を使えるようにする(ただし現在の挙動だと cwd が固定なので追加対応が必要)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions