mirror of
https://github.com/openai/codex.git
synced 2026-11-12 14:41:42 +00:00
Make MCP server contributions thread-scoped (#27670)
## Why `selectedCapabilityRoots` belongs to one thread, but MCP contributors previously received only the global Codex config. That left no clean way for a selected executor capability to contribute MCP servers to its own thread. ## What this PR does - Gives MCP contributors a small context containing the config and, for a running thread, its frozen host-seeded inputs. - Uses the same thread inputs during startup, status queries, refreshes, and skill dependency checks. - Keeps threadless MCP operations and the existing hosted Apps behavior unchanged. - Adds coverage showing that two threads resolve independent registrations and that later lifecycle mutations do not change the frozen MCP inputs. This PR does not discover plugin manifests, add MCP servers, or launch anything new. It only establishes the thread-scoped registration boundary. ## Follow-ups - Resolve selected executor plugin roots through their owning environment filesystem. - Convert their stdio MCP declarations into environment-bound registrations and add an executor MCP end-to-end test. ## Verification - `just fmt` - `cargo check --tests -p codex-protocol -p codex-extension-api -p codex-mcp-extension -p codex-core -p codex-app-server` Tests and Clippy were not run.
This commit is contained in:
18 files changed
+298
-81
No files matched your search
@@ -177,7 +177,9 @@ pub struct W3cTraceContext {
|
||||
/// Config payload for refreshing MCP servers.
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub struct McpServerRefreshConfig {
|
||||
/// Complete runtime server map after source and thread-scoped resolution.
|
||||
pub mcp_servers: Value,
|
||||
/// OAuth credential store mode to use with this server snapshot.
|
||||
pub mcp_oauth_credentials_store_mode: Value,
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user