mirror of
https://github.com/openai/codex.git
synced 2026-11-14 21:40:39 +00:00
Keep same-named MCP servers separate across environments (#60905)
## Why MCP servers discovered on different executors can share a name. Resolving them by name alone exposes only one server and prevents tools and resources from being addressed independently. ## What changed - Add the disabled-by-default `multi_environment_mcp` feature to expose environment-scoped servers, including multiple installations of the same plugin. - Carry exact `McpServerKey` identities through catalogs, connections, tool calls, resources, and approval tracking. Give environment-scoped tools stable namespaces derived from their environment. - Include `environment_id` in scoped resource listings and accept it in resource requests. Require it for environment-owned servers when multiple environments are selected. - Preserve server ownership through hooks and use the owning environment's permissions for scoped elicitation review. ## Testing Add coverage for same-named servers across environments, independent calls and approvals, resource selection, plugin discovery, and rejection of hook changes to the tool environment. GitOrigin-RevId: 5593372b06a15c16aa3220faa3b19f5d3b20e67e
This commit is contained in:
@@ -401,7 +401,7 @@ fn resolves_apps_hook_metadata_from_the_registered_connector() {
|
||||
|server, tool| {
|
||||
tool_info
|
||||
.as_ref()
|
||||
.filter(|info| info.server_name == server && info.tool.name == tool)
|
||||
.filter(|info| info.server_name() == server && info.tool.name == tool)
|
||||
},
|
||||
);
|
||||
let expected = if admitted {
|
||||
|
||||
Reference in New Issue
Block a user