James McFee is the secondary antagonist in the Academy Award winning film Witness.

He was portrayed by Danny Glover.


James McFee was one of the best cops in Philadelphia, but then eventually on the force, he ended up getting corrupted. Early in the film, James McFee is shown in a restroom at 30th Street Station when the Amish 8-year old Samuel Lapp is in. While there, a man whom Samuel sees as soon as he walks in, is murdered by James McFee and his partner. Unbeknownst to James and his partner, Samuel's in the washroom, and he witnesses the murder.

When John Book (the protagonist) takes Samuel to the police station to ask him questions, Samuel wanders off and looks into a trophy case, and sees a picture of James, recognizing him as one of the killers. John comes over and sees Samuel looking at the picture, and then John sees that James is one of the killers.Later on, John is inside a parking garage, and ends up running into James, who shoots John and wounds him. John then suspects that after telling Paul Schaeffer about this, he begins to suspect that Paul is also a corrupt officer and he warned James about John coming to try and arrest him.

John Book gets into a fight with some locals who make fun of the Amish, and this is reported to the police, which alert McFee, Schaeffer, and Ferguson where Book is. He then manages to go with Schaeffer and Fergie to the farm of Samuel Lapp's grandfather where they're staying, to find Samuel and kill him. While searching, he sees that Fergie is missing (he was killed by Book by falling corn kernals), and goes to search for him. He's then ambushed Book, equipped with Fergie's rifle, who shoots McFee, killing him.