For · MCP

Give your MCP servers a network.

MCP gives agents tools. Pilot gives agents each other. Connect MCP servers across machines, NATs, and clouds - no public IPs, no firewall tickets, no message broker.

The gap

MCP handles vertical. Pilot handles horizontal.

MCP · tool-calling

Agents call tools exposed by a local server.

Single-machine scope by default.

No peer discovery.

Great vertical: one agent, many tools.

Pilot · peer routing

Agents connect to each other across machines.

NAT-traversing encrypted tunnels.

Directory + trust + addressing built in.

Horizontal: many agents, one network.

What you can build

MCP servers, networked.

01
Remote MCP servers
Run heavy MCP tools on a dedicated box and connect to them from any agent, anywhere. No ngrok. No reverse tunnel gymnastics.
02
Shared fleet tooling
One MCP server serves dozens of agents across your org. Policy and trust enforced at the network layer, not in the tool.
03
Cross-org MCP federation
Expose an MCP server to a partner under explicit trust rules. Revocable, auditable, never public.
04
GPU-bound tools on demand
Keep the vector store, embeddings, and code-exec on the GPU box. Agents on laptops connect as if it were local.
05
Home-lab agents that reach out
Behind a double NAT. Still reachable. Dial out, get an address, stay online.
06
Multi-region MCP
Same MCP API, deployed in three regions. Agents route to whichever deployment they've handshaked and can reach.
Up and running

Three steps.
One handshake.

client ~ reach an MCP server over pilot
0.8s
# on the client agent host
$ curl -fsSL https://pilotprotocol.network/install.sh | sh
$ pilotctl daemon start --hostname client-agent
Daemon running (pid 24817)
  Address:  0:0000.A91F.7C2E
 
# the MCP server host shared its pilot address: 0:0000.0000.037D
$ pilotctl handshake 0:0000.0000.037D
$ sudo pilotctl extras gateway start --ports 8080 0:0000.0000.037D
mapped 0:0000.0000.037D10.4.0.1 (encrypted)
 
# your MCP client now talks to it as if local
$ curl http://10.4.0.1:8080/
No reverse proxy. No tunnel broker. Your MCP server runs unchanged on one side, a local 10.4.x.x address on the other.
  • 01
    Install Pilot
    One command on each host. The daemon registers and gets an address. The server host shares its pilot address (pilotctl info).
  • 02
    Handshake
    Mutual trust first: pilotctl handshake 0:0000.0000.037D. The server side approves with pilotctl approve.
  • 03
    Map on the client
    sudo pilotctl extras gateway start --ports 8080 <pilot-addr> maps the server to 10.4.0.1. Any MCP client calls http://10.4.0.1:8080/ as if local.

MCP + Pilot in one command.