Skip to content

fix(core): preserve explicit MCP dependency readiness#25214

Draft
fcoury-oai wants to merge 5 commits into
fcoury/hide-mcp-2-header-handofffrom
fcoury/hide-mcp-3-explicit-readiness
Draft

fix(core): preserve explicit MCP dependency readiness#25214
fcoury-oai wants to merge 5 commits into
fcoury/hide-mcp-2-header-handofffrom
fcoury/hide-mcp-3-explicit-readiness

Conversation

@fcoury-oai
Copy link
Copy Markdown
Contributor

@fcoury-oai fcoury-oai commented May 30, 2026

Why

Moving optional MCP startup out of the ordinary turn path must not weaken explicit app, plugin, or skill invocations. If the user requests a capability, that turn should wait for the relevant server and report an actionable failure.

What Changed

  • Preserve app guidance while MCP inventory is still initializing.
  • Collect MCP servers required by explicit app, plugin, and selected skill references.
  • Wait only for dependencies required by the current turn.
  • Re-wait after skill dependency installation refreshes MCP configuration.
  • Avoid waiting for unrelated skills while keeping explicit dependency failures visible.

Stack

  1. #25212 background MCP startup status
  2. #25213 atomic startup header handoff
  3. fix(core): preserve explicit MCP dependency readiness #25214 explicit MCP dependency readiness (this PR)
  4. #25211 lazy tool-search registration
  5. #24987 pending MCP inventory integration

How to Test

  1. Configure slow app, plugin, and skill MCP dependencies.
  2. Submit an unrelated prompt and confirm it can proceed without waiting for those servers.
  3. Explicitly select each backed capability and confirm its turn waits for readiness.
  4. Configure a failing dependency and confirm the warning identifies the requested unavailable server.

Targeted coverage:

  • just test -p codex-core selected_skill_waits_for_configured_mcp_dependency_startup
  • just test -p codex-core explicit_plugin_mentions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant