diff --git a/src/time/src/mcp_server_time/server.py b/src/time/src/mcp_server_time/server.py index b8ca4e2ffb..746d78df44 100644 --- a/src/time/src/mcp_server_time/server.py +++ b/src/time/src/mcp_server_time/server.py @@ -46,7 +46,8 @@ def get_local_tz(local_tz_override: str | None = None) -> ZoneInfo: local_tzname = get_localzone_name() if local_tzname is not None: return ZoneInfo(local_tzname) - raise McpError("Could not determine local timezone - tzinfo is None") + # Default to UTC if local timezone cannot be determined + return ZoneInfo("UTC") def get_zoneinfo(timezone_name: str) -> ZoneInfo: diff --git a/src/time/test/time_server_test.py b/src/time/test/time_server_test.py index 97a6ea1f09..8d963508d7 100644 --- a/src/time/test/time_server_test.py +++ b/src/time/test/time_server_test.py @@ -486,10 +486,10 @@ def test_get_local_tz_with_valid_iana_name(mock_get_localzone): @patch('mcp_server_time.server.get_localzone_name') def test_get_local_tz_when_none_returned(mock_get_localzone): - """Test error when tzlocal returns None.""" + """Test default to UTC when tzlocal returns None.""" mock_get_localzone.return_value = None - with pytest.raises(McpError, match="Could not determine local timezone"): - get_local_tz() + result = get_local_tz() + assert str(result) == "UTC" @patch('mcp_server_time.server.get_localzone_name')