Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cecli/coders/agent_coder.py
Original file line number Diff line number Diff line change
Expand Up @@ -1627,9 +1627,9 @@ def get_servers_context(self):
inactive_servers = []
for server in connected_servers:
name = server.name
if incl and name not in incl:
if incl and name.lower() not in incl:
inactive_servers.append(name)
elif name in excl:
elif name.lower() in excl:
inactive_servers.append(name)
else:
active_servers.append(name)
Expand Down
8 changes: 4 additions & 4 deletions cecli/coders/base_coder.py
Original file line number Diff line number Diff line change
Expand Up @@ -939,10 +939,10 @@ def get_announcements(self):
for server_name, server_tools in self.mcp_tools:
if (
self.registered_servers["included"]
and server_name not in self.registered_servers["included"]
and server_name.lower() not in self.registered_servers["included"]
):
continue
if server_name in self.registered_servers["excluded"]:
if server_name.lower() in self.registered_servers["excluded"]:
continue
mcp_servers.append(server_name)
if mcp_servers:
Expand Down Expand Up @@ -3356,10 +3356,10 @@ def get_tool_list(self):
# Apply per-instance server filtering
if (
self.registered_servers["included"]
and server_name not in self.registered_servers["included"]
and server_name.lower() not in self.registered_servers["included"]
):
continue
if server_name in self.registered_servers["excluded"]:
if server_name.lower() in self.registered_servers["excluded"]:
continue

for tool in server_tools:
Expand Down
10 changes: 9 additions & 1 deletion cecli/helpers/agents/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -565,11 +565,19 @@ async def _create_sub_agent_coder(
)

if agent_config:
# Reset the per-instance tool/server filters so AgentCoder.post_init()
# rebuilds them from *this* sub-agent's own agent-config (tools_includelist/
# excludelist, servers_includelist/excludelist) instead of inheriting the
# parent's filters verbatim. Deliberately do NOT reset mcp_manager here:
# doing so used to discard the parent's already-connected MCP servers and
# replace them with a brand new, empty manager, making it impossible for a
# sub-agent's servers_includelist to ever match anything. Leaving mcp_manager
# unset lets it inherit from from_coder (see Coder.create()) so the same
# connected MCP servers remain available and can then be filtered.
kwargs.update(
dict(
registered_tools=None,
registered_servers=None,
mcp_manager=None,
)
)

Expand Down
Loading