Ability to turn on/off MCP servers per mode #1240
Replies: 6 comments 3 replies
-
Maybe on the tool use request, a button could be added to "disable MCP for Mode" to disable an MCP for the mode, and for more fine-grained control, maybe a "disable tool for Mode" to disable particular tools, but not the whole MCP. The ability to set this pro-actively via settings or config file would be great, but the UI fallback - "Oh, I forgot I don't want to use that with this Mode..." Inspired by this: RooCodeInc/Roo-Code#5322 |
Beta Was this translation helpful? Give feedback.
-
Moved this to a discussion so we can triage if we want this first. Let me add: I think it's a good idea |
Beta Was this translation helpful? Give feedback.
-
Came to suggest the same. And here's a case where it would be useful (using a Fetch MCP): When fetching the content of some page, we're usually looking for something specific, that would allow answering some question, and we don't need to keep the whole web page content in the context. To solve this, we could create a new mode called "Retrieve from a web page" which would see only one MCP server (the Fetch one), and would access the page, retrieve the full content and return only the specific info to the parent task. This would keep the context short for both the LLM taking care of the current task and the one taking care of the parent task.
I believe It would save a lot of tokens-pass-through on a long-running task. |
Beta Was this translation helpful? Give feedback.
-
Personally, I would love to quickly enable/disable MCP for ALL modes in one go. Normally I use Kilo Code without MCPs as I don't need them for most tasks, but when reviewing PRs or reading PR feedback, I have a Bitbucket MCP server that I am using. So I enable it whenever I need it to be able to interact with Bitbucket, but disable it if I am just writing new code to decrease the context size. |
Beta Was this translation helpful? Give feedback.
-
The recent comments have provoked my thinking about possible implementation for this feature. It may not be necessary to actually enable or disable MCPs per mode. The main issues with having a number of MCPs active are:
This could be implemented by simply not including instructions in the system prompt for MCPs we don't want the active mode to use. If the instructions are not included, then the context windows is reduced, and if the mode doesn't know about an active MCP, it can't use it. Since the system prompt is dynamically generated per mode already (e.g. to include mode-specific instructions), this should be a relatively simple implementation. Effectively, MCP instructions would move to the mode specific instructions generator for the system prompt, and the mode would only receive MCP description and instructions for the MCPs and tools that it is permitted to use. The potential downside to this implementation is confusion that may be caused by |
Beta Was this translation helpful? Give feedback.
-
This would also be useful to limit prompt model context and token usage. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Proposed solution here could be used to toggle MCP servers for each mode: #1104
Source: chat in live workshop: https://www.youtube.com/live/Nte0TxT9U20 aprox 1:30:00
Beta Was this translation helpful? Give feedback.
All reactions