This updates the MCP server so that if it receives an `ExecApprovalRequest` from the `Codex` session, it in turn sends an [MCP elicitation](https://modelcontextprotocol.io/specification/draft/client/elicitation) to the client to ask for the approval decision. Upon getting a response, it forwards the client's decision via `Op::ExecApproval`. Admittedly, we should be doing the same thing for `ApplyPatchApprovalRequest`, but this is our first time experimenting with elicitations, so I'm inclined to defer wiring that code path up until we feel good about how this one works. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1623). * __->__ #1623 * #1622 * #1621 * #1620
39 lines
785 B
TOML
39 lines
785 B
TOML
[package]
|
|
name = "codex-mcp-server"
|
|
version = { workspace = true }
|
|
edition = "2024"
|
|
|
|
[[bin]]
|
|
name = "codex-mcp-server"
|
|
path = "src/main.rs"
|
|
|
|
[lib]
|
|
name = "codex_mcp_server"
|
|
path = "src/lib.rs"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
codex-core = { path = "../core" }
|
|
codex-linux-sandbox = { path = "../linux-sandbox" }
|
|
mcp-types = { path = "../mcp-types" }
|
|
schemars = "0.8.22"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
shlex = "1.3.0"
|
|
toml = "0.9"
|
|
tracing = { version = "0.1.41", features = ["log"] }
|
|
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
|
tokio = { version = "1", features = [
|
|
"io-std",
|
|
"macros",
|
|
"process",
|
|
"rt-multi-thread",
|
|
"signal",
|
|
] }
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "1.4.1"
|