fix: listing surfaces show the merged view for MCP servers named like built-in toolsets

get_all_toolsets() copied static TOOLSETS entries verbatim, so /toolsets and the
dashboard showed only the built-in tools for a colliding name even though
get_toolset() now unions the MCP alias in. Route those names through
get_toolset() and document the alias/collision behaviour.
This commit is contained in:
Teknium
2026-09-05 16:31:16 -07:00
parent 3f88055035
commit 245e48008f
2 changed files with 5 additions and 1 deletions
+4
View File
@@ -414,10 +414,14 @@ def _plugin_display_names() -> List[str]:
def get_all_toolsets() -> Dict[str, Dict[str, Any]]:
"""All toolset definitions: static plus plugin-registered."""
result = dict(TOOLSETS)
aliases = _get_registry_toolset_aliases()
for display_name in _plugin_display_names():
toolset = None if display_name in result else get_toolset(display_name)
if toolset:
result[display_name] = toolset
# Static names an MCP server also aliases show the merged view get_toolset() resolves.
for name in TOOLSETS.keys() & aliases.keys():
result[name] = get_toolset(name) or result[name]
return result
+1 -1
View File
@@ -132,7 +132,7 @@ mcp_servers:
args: ["-y", "@modelcontextprotocol/server-github"]
```
This creates a `mcp-github` toolset you can reference in `--toolsets` or platform configs.
This creates a `mcp-github` toolset you can reference in `--toolsets` or platform configs. The bare server name (`github`) works as an alias. If a server is named like a built-in toolset (`homeassistant`, `browser`), that name resolves to the built-in tools **plus** the server's `mcp__<server>__*` tools; neither side shadows the other.
### Plugin toolsets