Good suggestion to check the air filter. Also check the air hose that runs from the filter to the engine and make sure it is in good shape and isn't collapsing under load (I know, a long shot but it's easy to check). The valve lash might need adjusted, the timing could have slipped and need adjusted, the injectors could be shot and need rebuilt. the top end could be gummed up with carbon and need cleaned, I'd drain the fuel filter and refill the canister with seafoam and then start the tractor and run it till it uses the seafoam out of the canister then after dumping the rest of the can in the tank finish the tank of fuel under a heavy load, a pto generator would be perfect.