opencode icon indicating copy to clipboard operation
opencode copied to clipboard

[FEATURE]: Allow to enable MCP on a per-agent basis

Open lcswillems opened this issue 1 month ago • 11 comments

Feature hasn't been suggested before.

  • [x] I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

I'm using Playwright MCP server. I'd like this MCP server to only appear in the context of my scrap agent (and only be usable by my scrap agent too).

I can enable / disable a MCP server globally but I can't enable / disable a MCP server on a per-agent basis.

By default, I'd like the playwright MCP server to be disabled for all my agents (i.e. the MCP server is not in the context at all), and then for my agent scrap, I'd like to enable the playwright MCP server.

I know that there is a "tools" setting globally and per-agent, but this won't disable the MCP server meaning that even though the agent can't use it, it still appears in the context.

lcswillems avatar Dec 11 '25 10:12 lcswillems

This issue might be a duplicate of existing issues. Please check:

  • #5013: How to enable/disable mcp server per project (similar per-project/per-context MCP configuration request)

Feel free to ignore if none of these address your specific case.

github-actions[bot] avatar Dec 11 '25 10:12 github-actions[bot]

https://opencode.ai/docs/mcp-servers/#per-agent Is it helpful ?

SamirSaidani avatar Dec 11 '25 23:12 SamirSaidani

I know that there is a "tools" setting globally and per-agent, but this won't disable the MCP server meaning that even though the agent can't use it, it still appears in the context.

Uh that's not true

If the tool is disabled it will NOT appear in context

rekram1-node avatar Dec 12 '25 01:12 rekram1-node

#5339

paralin avatar Dec 12 '25 11:12 paralin

@paralin How is your PR addressing the issue? It seems the flag is just equivalent to setting the tools in the config, no? Doesn't seem to address the concern with the config. And personally, I would prefer config over flags.

lcswillems avatar Dec 12 '25 11:12 lcswillems

@rekram1-node I missed your message. When I turn the playwright tools off, the context size reported by OpenCode doesn't decrease. It is only when I disable the MCP that it decreases.

lcswillems avatar Dec 12 '25 11:12 lcswillems

@rekram1-node I've just tried again:

If I add the playwright MCP in the global config with "enabled": false, then I can't enable the Playwright tools in my local project. So only way is to enable the playwright MCP in my global config, but now if I disable the tools, the MCP server still gets loaded in the context...

Or maybe I'm misunderstanding something.

lcswillems avatar Dec 12 '25 11:12 lcswillems

@rekram1-node Another option would be:

Allow me to set the Playwright MCP server in the global config with enabled: false. And then in my local configs, allow me to set it to enabled: true. (without having to set the other fields type and command)

lcswillems avatar Dec 12 '25 11:12 lcswillems

Allow me to set the Playwright MCP server in the global config with enabled: false. And then in my local configs, allow me to set it to enabled: true. (without having to set the other fields type and command)

If this is all you are asking for we have a separate issue tracking this and itll be added soon

rekram1-node avatar Dec 13 '25 01:12 rekram1-node

@rekram1-node Do you have the link of this other issue? So I could confirm whether it is the same? 🙏

lcswillems avatar Dec 13 '25 08:12 lcswillems

Issue: https://github.com/sst/opencode/issues/4525

there is an Open PR for it that should be merged soon

rekram1-node avatar Dec 17 '25 01:12 rekram1-node