score:6
At this time the only way to check your MetroCard balance is by using a machine in a subway station.
This is because while MetroCard does have a central database of all transactions, it is not accessible in real time, and the balance (or unlimited ride expiration) is encoded directly on the card's magnetic stripe each time you swipe it at a turnstile or farebox.
(This is what's happening when the turnstile tells you to swipe it again at this turnstile; in this situation something went wrong with the re-encoding of the magnetic stripe, and it needs to do it again.)
While in theory a web site could query your balance from the database, the information would be out of date and possibly useless.