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:
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user