Feature request: per-tool priority for MCP servers in config.toml

Resolved 💬 1 comment Opened Feb 17, 2026 by olympichek Closed Mar 29, 2026

What variant of Codex are you using?

CLI / IDE Extension / App (core behavior)

What feature would you like to see?

A way to assign priority/precedence to a specific tool on a specific MCP server in config.toml.

Today we can only use enabled_tools / disabled_tools per server. That works as a hard allow/deny filter, but there is no way to express:

  • “prefer tool X from server A over server B”
  • without fully disabling tool X on server B

This becomes painful when multiple servers expose overlapping tools and we want fallback behavior rather than binary on/off.

Proposed behavior

Allow an optional priority map, either per server or globally by qualified tool name (mcp__<server>__<tool>), for example:

[mcp_servers.server_a]
command = "..."
# Existing:
# enabled_tools = ["search", "docs"]
# disabled_tools = ["..."]

[mcp_servers.server_a.tool_priority]
search = 100
docs = 50

[mcp_servers.server_b.tool_priority]
search = 10

or equivalent global form:

[mcp_tool_priority]
"mcp__server_a__search" = 100
"mcp__server_b__search" = 10

Expected semantics

  • Higher numeric value = more preferred tool candidate.
  • enabled_tools / disabled_tools still apply first (filtering), then priority applies to remaining candidates.
  • If priority is unset, preserve current behavior.
  • If priorities tie, keep deterministic stable fallback (current ordering behavior).

Why this helps

  • Keeps multiple MCP servers enabled without context/tooling churn.
  • Avoids brittle config where fallback requires manually toggling tools.
  • Lets teams set sane defaults in shared config while still allowing local overrides.

Acceptance criteria

  • Config supports per-tool priority at least by qualified tool name.
  • Tool-selection path respects priority when multiple candidate tools are available.
  • Documentation includes examples and precedence rules with enabled_tools/disabled_tools.

Additional context

Related but not equivalent:

  • #7953 (tool select/filter/group)
  • #11765 (manage MCP servers UX)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗