Yes it can, if it finds direct contempt. You could argue that a federal court can't find direct contempt on a Congressional subpoena, but even then the federal court would set a hearing date and would order the Marshals to arrest McGahn if he didn't appear. It's not a civil case.
1/ The problem with saying a federal court *won't enforce* a Congressional subpoena is that it means a Congressional subpoena has *no force of law* behind it, as Congress has *no recourse to the courts*, but instead must *restart the process* in the courts if someone defies them.
2/ Your argument, @rossgarber, is the only way for Congressional subpoenas to have force of law is if Congress establishes its own judicial action via inherent contempt, which hasn't been used for 89 years. You're saying Congressional subpoenas have been meaningless for 89 years.
3/ Obviously that's nonsense. Congressional subpoenas, like any subpoenas, are enforceable through the judicial branch, and when a legally issued subpoena is not honored, the judicial branch orders the executive branch to assist it in compelling the subpoena recipient's presence.
You can follow @SethAbramson.