惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
U
Unit 42
V
Visual Studio Blog
D
DataBreaches.Net
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
D
Docker
G
Google Developers Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
S
SegmentFault 最新的问题

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Why Your MCP Server Needs a Network Layer (And How to Add...
William Bake · 2026-05-09 · via DEV Community

You've got an MCP server running. Locally, it's perfect. Then someone asks: "Can another agent on a different machine call it?"

You spin up a VPN. Or punch a hole in the firewall. Or route it through a cloud proxy. Half a day gone, and now you've got a central dependency you didn't want.

There's a cleaner way.


The Problem with MCP's Transport Layer

MCP is genuinely great at what it does: connecting an agent to its tools via a clean, structured protocol. But it was designed with a human-run server in mind. The transport story is essentially "use HTTP" or "use stdio." Both assume you control both endpoints and they can reach each other.

In 2026, that assumption breaks constantly:

  • Agent A is on AWS, Agent B is behind a corporate NAT
  • You want two agents from different operators to collaborate without either exposing a public endpoint
  • You're building a fleet where agents need to discover and call each other dynamically

MCP doesn't solve this. It isn't supposed to — it's an application-layer protocol. The transport is your problem.

Until now, "your problem" meant a lot of yak shaving.


What a Session Layer Gives You

The OSI model has a slot for exactly this: Layer 5, the session layer. It's the layer that manages connections between peers — maintaining them, authenticating them, and routing them across NATs.

The web uses TLS here. Agents need something that speaks agent.

Pilot Protocol is a peer-to-peer network built specifically for this slot. Instead of routing agent traffic through HTTP (a document protocol built for browsers), Pilot operates at UDP with its own reliable-stream layer on top — X25519 key exchange, AES-256-GCM per tunnel, Ed25519 identity, automatic NAT traversal via STUN + hole-punching.

Each agent gets a 48-bit address. Direct, authenticated, no intermediary required.


One Line of Code

Here's what adding Pilot to your MCP server actually looks like:

curl -fsSL https://pilotprotocol.network/install.sh | sh

Enter fullscreen mode Exit fullscreen mode

That installs a single static binary. No SDK. No API key. No account.

pilotctl daemon start --hostname my-mcp-server
# Daemon running (pid 24817)
# Address: 0:A91F.0000.7C2E
# Hostname: my-mcp-server

Enter fullscreen mode Exit fullscreen mode

Your MCP server now has a Pilot address. Any other agent on the network — regardless of what NAT it's behind — can reach it directly.

pilotctl ping agent-alpha
# ✓ reply from 0:4B2E.0000.1A3D · 38ms

Enter fullscreen mode Exit fullscreen mode

No VPN. No public endpoint. No relay server you have to run.


Why UDP, Not TCP?

TCP is great for browsers loading pages. It wasn't designed for the round-trip latency profile of agent-to-agent calls.

Head-of-line blocking is the killer: if one packet is dropped, everything queues behind it. For a browser loading a web page, that's fine — you're waiting for HTML to render anyway. For an agent making 50 parallel data requests, it's a disaster.

Pilot runs UDP with its own reliable-stream implementation: sliding window, AIMD congestion control, selective acknowledgement (SACK). You get reliability without the head-of-line blocking tax. The benchmark from the Pilot homepage: 12s on Pilot vs 51s via the web for the same data retrieval task.


The MCP + Pilot Pattern

The natural pairing looks like this:

Agent A (MCP client)
    ↓ Pilot tunnel (encrypted, P2P)
Agent B (MCP server)
    ↓ MCP tool calls
Tools / data / capabilities

Enter fullscreen mode Exit fullscreen mode

Pilot handles the transport: addressing, NAT traversal, encryption. MCP handles the application layer: tool definitions, structured responses. Neither replaces the other.

Pilot even has a dedicated page for this pattern: MCP + Pilot — your MCP server gets a network address and becomes reachable from anywhere on the Pilot network.


Discovery Is Solved Too

Once your server is on Pilot, it joins the backbone — a global directory where agents can find peers by capability rather than by hostname.

That means another agent can query "I need a tool that does X" and Pilot routes it to you, without you publishing a URL anywhere. Agent discovery stops being a directory you maintain and becomes a property of the network itself.

There are already 350+ specialized service agents on the backbone: Crossref for paper lookups, historical FX data, aviation weather, crt.sh for certificate transparency, FDA recalls. They're just peers on the network.


Wrapping Up

MCP is the right protocol for tool-calling. But it needs a transport layer that wasn't designed for humans loading documents in browsers.

Adding Pilot solves the NAT problem, the discovery problem, and the "two agents from different operators need to talk" problem — in one binary, one command.

curl -fsSL https://pilotprotocol.network/install.sh | sh

Enter fullscreen mode Exit fullscreen mode

Then go back to building the agent, not the plumbing.


Pilot Protocol is live at pilotprotocol.network — ~163,000 agents, 12.7B+ requests routed, published as an IETF Internet-Draft.