mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
Discover HTTP MCP servers from selected executors (#39941)
## What changed - Read `mcp_servers` configuration and requirements from each selected remote executor and add eligible HTTP servers to the thread's MCP runtime. - Bind discovered servers to the thread's concrete executor snapshot and apply environment MCP policy and requirements. Discovery is best effort, and executor-local servers are not treated as required at startup. - Ignore unsupported stdio servers and HTTP configurations that depend on environment-provided headers or header helpers. ## Testing - Added an app-server integration test covering discovery, authenticated HTTP tool invocation, requirements enforcement, and exclusion of stdio servers. GitOrigin-RevId: 6e1cdcebdbb1cc21a5a2285fbc5617d8d5997182
This commit is contained in:
@@ -275,19 +275,19 @@ impl McpRequestProcessor {
|
||||
};
|
||||
let mcp_manager = self.thread_manager.mcp_manager();
|
||||
let auth = self.auth_manager.auth().await;
|
||||
let (mcp_config, runtime_context) = match thread {
|
||||
Some(thread) => thread.runtime_mcp_config_and_context(&config).await,
|
||||
None => {
|
||||
let mcp_config = mcp_manager.runtime_config(&config).await;
|
||||
let runtime_context = McpRuntimeContext::new(
|
||||
self.thread_manager.environment_manager(),
|
||||
config.cwd.to_path_buf(),
|
||||
);
|
||||
(mcp_config, runtime_context)
|
||||
}
|
||||
};
|
||||
let environment_manager = self.thread_manager.environment_manager();
|
||||
|
||||
tokio::spawn(async move {
|
||||
let (mcp_config, runtime_context) = match thread {
|
||||
Some(thread) => thread.runtime_mcp_config_and_context(&config).await,
|
||||
None => {
|
||||
let mcp_config = mcp_manager.runtime_config(&config).await;
|
||||
let runtime_context =
|
||||
McpRuntimeContext::new(environment_manager, config.cwd.to_path_buf());
|
||||
(mcp_config, runtime_context)
|
||||
}
|
||||
};
|
||||
|
||||
Self::list_mcp_server_status_task(
|
||||
outgoing,
|
||||
request,
|
||||
|
||||
Reference in New Issue
Block a user