Rewrote the tool server using ehttp