I’m currently working with a setup that includes two sub-agents.
Sub-agent A requires only 1 MCP tool
Sub-agent B requires 3 MCP tools
However, my MCP server exposes 10 tools in total
Right now, instead of allowing each sub-agent to dynamically pick from all 10 tools, I’m explicitly passing only the required tool names to each sub-agent.
My reasoning is that limiting the available tools reduces decision complexity and improves response latency.
From an architectural standpoint, is this considered a good practice?
Or is it better to allow sub-agents to select tools dynamically from the full MCP server toolset?
Would love to hear how others are handling tool scoping in similar multi-tool environments.
@Bitcot_Kaushal
As long as the Sub-Agent has all the tools required to perform its specialized task, I see no reason to pass any additional, redundant tools.
Your approach of explicitly scoping tools per sub-agent makes a lot of sense from both a performance and architecture standpoint. Limiting tool access reduces cognitive overhead for the agent, improves response latency, and helps avoid incorrect tool selection, especially when the toolset is large.
In multi-agent environments, clear separation of responsibilities usually leads to better reliability and easier debugging. We’ve applied a similar principle when building lightweight systems like telenor quiz, where minimizing unnecessary logic paths significantly improved response accuracy and speed.
That said, dynamic tool selection can still be useful for highly adaptive or exploratory agents, but for production systems, scoped tools per agent is generally considered a best practice.
Great question, curious to hear how others are balancing flexibility vs performance!