diff --git a/toolsets.py b/toolsets.py index ffade803fa..d4a33dcf53 100644 --- a/toolsets.py +++ b/toolsets.py @@ -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 diff --git a/website/docs/reference/toolsets-reference.md b/website/docs/reference/toolsets-reference.md index 5904f1a9f7..c6925facb0 100644 --- a/website/docs/reference/toolsets-reference.md +++ b/website/docs/reference/toolsets-reference.md @@ -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____*` tools; neither side shadows the other. ### Plugin toolsets