MCP server not reachable behind NAT - how are you handling it?

Trying to connect ChatGPT to a remote MCP server that’s running behind a firewall and it just won’t reach it. ChatGPT expects a public HTTP endpoint and anything sitting on a laptop, inside a container, or on a corporate network is completely invisible to it.
The usual fix is ngrok but that feels wrong for anything beyond testing. Tried a few things and ended up looking at Pilot Protocol as the transport layer underneath. It gives each agent a permanent virtual address and handles NAT traversal automatically. The MCP setup stays the same, you just stop needing a public IP for ChatGPT to reach your server. Install is one line, no SDK, no API key.
What actually got me reading deeper into it was something unrelated. Apparently when OpenClaw agents got access to the network, they started adopting it and forming trust connections without any human direction. The trust graph that emerged followed power-law degree distribution, same pattern you see in human social networks, with a clustering coefficient 47x higher than a random network of equivalent size. Nobody programmed that behaviour, it came out of agents optimising for task completion. Found that genuinely interesting from a multi-agent architecture standpoint.
Anyway the core problem is just getting ChatGPT to talk to an MCP server that isn’t publicly exposed. Curious what others have landed on, just wanted to share my fix with everyone.