Skip to content

Feature request: restrict MCP servers to specific models via a models field #2480

Description

@kevingatera

What feature would you like to see?

An optional models field on MCP server entries (stdio, http, and sse) that restricts a server to specific models.

Today every configured MCP server is loaded for every model. Users who mix models — for example a strong primary model and a cheaper or specialized secondary one — cannot keep tool-heavy or provider-specific MCP servers away from models that should not use them.

Proposed semantics:

  • models accepts exact model aliases and prefix* wildcards (e.g. example-provider/*).
  • A server with models loads only for sessions whose model matches; servers without models load for every model as before (fully backward compatible).
  • Restricted servers are excluded when the session's model is unknown.
  • Scoping is evaluated once at session start; mid-session model switches do not reload MCP servers.

Additional information

I searched existing issues and PRs for "MCP models", "restrict MCP", and "scope MCP" and found no prior request for per-model MCP scoping (the closest items, such as [tools].disabled filtering, are global rather than per-model).

I have a working implementation of this proposal (v1 engine, with tests and docs) that I am currently testing on my fork: kevingatera#2 — happy to open it as a PR here once maintainers signal the approach is acceptable. Note the v2 engine's separate MCP stack would need a follow-up to honor the field.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions