If you are looking at the Internet, you're out of luck. TCP/IP is higher in the stack than the MAC (layer 2) and that gets lost in the router once packets are routed out to the internet.
If you are looking at an Intranet, i.e. inside your 4 walls, then you'll need something native on the server that is getting the client request that can bond to and query the network adapter for the machine. That's very low-level however as the public interfaces give you the MACS of your own adapters but you really need to integrate with the router to get the MAC of the routed packets. Somewhere in the system a router maps "MAC x with IP y" and that is where you can make the translations.
What's the background of what/why you need the MAC?