Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Tools filtering #285

Copy link
Copy link
@stepango

Description

@stepango
Issue body actions

Is your feature request related to a problem? Please describe.
Some MCP servers expose tools which provides same functionality e.g.

Claude Code:

  • FileReadTool
  • FileEditTool
  • FileWriteTool

Intellij MCP plugin:

  • ReplaceCurrentFileTextTool
  • ReplaceSelectedTextTool
  • ReplaceSpecificTextTool
  • ReplaceTextByPathTool

Which make if hard to control what tools should be used for which purpose. And prompting often times do not stop the agent from using the tools it was told not to use. Over time as ecosystem grows more mature this problem will become even bigger.

Describe the solution you'd like
Provide the way to explicitly request the list of desired tools for agent. E.g. in case I'm using claude code I may prefer using built-in tools and exclude Intellij text tools offerings, but still continue using rest of Intellij MCP tools.

E.g. InitializeRequest may have extra requestedTools or excludedTools field which users can specify in MCP configuration e.g.

{
  "mcpServers": {
    "jetbrains": {
      "command": "npx",
      "requestedTools": ["get_run_configurations_tool", "list_available_actions_tool"]
      "args": ["-y", "@jetbrains/mcp-proxy"]
    }
  }
}

Describe alternatives you've considered

MCP proxy

Provide an MCP server which will act as filter to strip tool announcements from server responses, downside of that is maintaining extra proxy layers, possibly for multiple servers, as well as lack of transparency since the server itself does not know that tools is unused, this info may be used to prevent spending resources of initialization of unused tools.

Server configuration

Different servers may have it's own ways to turn tools on and off, including UI toggles , this approach may lead to fragmentation, and it's unclear what would be the path forward for the tools which decide to avoid implementing the configuration.

Client configuration

Allow client to maintain the list of banned tools and manage the logic/prompts to prevent this tools from being used. Not a bad option but It will complicate client implementations as well as some waste on a protocol level since information about all available tools will be exchanged even if it would never be used during the session.

Additional context
Related discussions
JetBrains/mcp-server-plugin#18
JetBrains/mcp-jetbrains#34

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.