From d50e5be500ba8e272ee8ea870ecb169f208a9c0e Mon Sep 17 00:00:00 2001 From: Teknium Date: Fri, 3 Apr 2026 09:07:50 -0700 Subject: [PATCH] fix: handle None mcp_servers in _get_platform_tools() When config.yaml has 'mcp_servers:' with no value, YAML parses it as None. dict.get('mcp_servers', {}) only returns the default when the key is absent, not when it's explicitly None. Use 'or {}' pattern to handle both cases, matching the other two assignment sites in the same file. --- hermes_cli/tools_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hermes_cli/tools_config.py b/hermes_cli/tools_config.py index 73282fe09..1a0b30670 100644 --- a/hermes_cli/tools_config.py +++ b/hermes_cli/tools_config.py @@ -561,7 +561,7 @@ def _get_platform_tools( # MCP servers are expected to be available on all platforms by default. # If the platform explicitly lists one or more MCP server names, treat that # as an allowlist. Otherwise include every globally enabled MCP server. - mcp_servers = config.get("mcp_servers", {}) + mcp_servers = config.get("mcp_servers") or {} enabled_mcp_servers = { name for name, server_cfg in mcp_servers.items()