Use MCP bindings as the step tool catalog (#36360)

## What changed

- Read the frozen MCP tool catalog directly from the step-scoped `McpBinding`
  when building tool routers, plugin injections, and connector state.
- Remove the redundant `Vec<ToolInfo>` from `StepContext` and stop returning a
  duplicate catalog from `built_tools`.

GitOrigin-RevId: d12d694e1224da3f6ccb1960868491f0d80c6e19
This commit is contained in:
jif authored and copyberry committed 2026-07-31 16:35:14 +00:00
1 parent d97cb0dcad
commit 385fe95ce1
5 files changed
+11 -19

No files matched your search

@@ -7,7 +7,6 @@ use crate::tools::router::ToolRouter;
use codex_exec_server::ExecutorCapabilityDiscoverySnapshot;
use codex_exec_server::ResolvedSelectedCapabilityRoot;
use codex_mcp::McpBinding;
use codex_mcp::ToolInfo;
/// Request-scoped state that may change between model sampling requests.
pub(crate) struct StepContext {
@@ -19,8 +18,6 @@ pub(crate) struct StepContext {
pub(crate) executor_capability_discovery: Option<Arc<ExecutorCapabilityDiscoverySnapshot>>,
/// The exact MCP connections, configuration, and catalog captured for this step.
pub(crate) mcp: Arc<McpBinding>,
/// The fixed MCP tool list used for this exact sampling request.
pub(crate) mcp_tools: Vec<ToolInfo>,
/// The finalized tool plan advertised and executed for this exact sampling request.
pub(crate) tool_router: Arc<ToolRouter>,
/// The canonical AGENTS.md value observed with this environment snapshot.