mirror of
https://github.com/openai/codex.git
synced 2026-10-19 16:17:49 +00:00
## Why MCP servers receiving sandbox state need a usable Codex executable to launch commands with the issuing call's policy. HTTP and remote servers cannot assume access to the host's filesystem. ## What changed - Include optional `codexExecutable` metadata for local stdio servers when the host supplies an absolute, UTF-8 path to a CLI supporting `sandbox --sandbox-state-json`. Cache capability probes by executable path and bound them to five seconds. - Document forwarding the sandbox state unchanged and requiring an explicit opt-out rather than silently falling back to PATH lookup or unsandboxed execution when the launcher is absent. - Honor `useMxc` from forwarded sandbox state when selecting the Windows sandbox backend and network proxy policies, preserving a parent's selection made through CLI overrides. ## Testing Add coverage for launcher eligibility across local, remote, and HTTP servers, invalid or missing executable paths, and binaries without sandbox-state support. Extend metadata integration and serialization tests to cover the optional launcher field, legacy state, and unknown future fields. GitOrigin-RevId: ea8cd3770616e5a620b423a01052a7bc828bceb9
56 lines
1.8 KiB
TOML
56 lines
1.8 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-mcp"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
name = "codex_mcp"
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
arc-swap = { workspace = true }
|
|
async-channel = { workspace = true }
|
|
codex-async-utils = { workspace = true }
|
|
codex-api = { workspace = true }
|
|
codex-config = { workspace = true }
|
|
codex-connectors = { workspace = true }
|
|
codex-diagnostics = { workspace = true }
|
|
codex-exec-server = { workspace = true }
|
|
codex-login = { workspace = true }
|
|
codex-model-provider = { workspace = true }
|
|
codex-otel = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
codex-rmcp-client = { workspace = true }
|
|
codex-utils-absolute-path = { workspace = true }
|
|
codex-utils-path-uri = { workspace = true }
|
|
codex-utils-plugins = { workspace = true }
|
|
codex-utils-process = { workspace = true }
|
|
futures = { workspace = true }
|
|
lru = { workspace = true }
|
|
regex-lite = { workspace = true }
|
|
rmcp = { workspace = true, default-features = false, features = ["base64", "macros", "schemars", "server"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha1 = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["io-util", "macros", "rt-multi-thread"] }
|
|
tokio-util = { workspace = true, features = ["rt"] }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
assert_matches = { workspace = true }
|
|
codex-exec-server-test-support = { workspace = true }
|
|
codex-plugin = { workspace = true }
|
|
codex-utils-cargo-bin = { workspace = true }
|
|
insta = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
rmcp = { workspace = true, default-features = false, features = ["base64", "macros", "schemars", "server"] }
|
|
tempfile = { workspace = true }
|