mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Expose cached MCP tools before server startup (#35590)
## Why Cached MCP definitions can be supplied to inference without waiting for the server to finish initializing. ## What changed - Publish cached tools while startup is still in progress, clearing their potentially stale read-only hint. - Wait for the selected server to start before executing a tool call, then prepare the call against the refreshed live binding. - Keep cached tools visible in a binding even when no live client is available, while rejecting attempts to prepare those calls. ## Testing - Cover cached-tool visibility before startup and replacement with live tool metadata afterward. - Verify cached definitions reach inference before MCP initialization and that calls unavailable in the live catalog return the expected model-visible error. GitOrigin-RevId: 3aae8f474c344ccdc5e08fe321bbad21d85bffd1
This commit is contained in:
1 parent
95637f7056
commit
3bbf1fe757
6 files changed
+89
-20
No files matched your search
@@ -141,7 +141,11 @@ pub(crate) async fn handle_mcp_tool_call(
|
||||
};
|
||||
|
||||
sess.refresh_mcp_if_dirty().await;
|
||||
let current_binding = sess.services.mcp_runtime.current_binding().await;
|
||||
let current_binding = sess
|
||||
.services
|
||||
.mcp_runtime
|
||||
.current_binding_for_call(&server)
|
||||
.await;
|
||||
let Some(prepared_call) = current_binding
|
||||
.as_ref()
|
||||
.and_then(|binding| binding.prepare_call(&server, &tool_name))
|
||||
|
||||
Reference in new issue
Block a user