You need to exert 13V onto the MCLR pin to kick it into programming mode. I think there are several designs that use a 555 to generate the required voltage. But this method may fail on some of the "hardier" PICs like the 8720.
I use an ICD1 programmer connected to my circuit thru ICSP. The programmer usually needs to be powered, but I usually just power it thru the ICSP connector, since my circuit has to be powered anyway no matter what.