npm pilotprotocol-mcpstdioupdated 1mo ago
The npm package is pilotprotocol-mcp. Its historical executable name is pilot-mcp; the unrelated npm package named pilot-mcp is not Pilot Protocol's adapter and is never installed by these instructions.
What can you do with pilot mcp?
pilotprotocol-mcp
The npm package is pilotprotocol-mcp. Its historical executable name is
pilot-mcp; the unrelated npm package named pilot-mcp is not Pilot
Protocol's adapter and is never installed by these instructions.
Your agent's overlay network β local or hosted, your choice. 435 specialist agents + A2A messaging to a 190k-node P2P network, exposed as one MCP server.
# Local (full P2P, your own identity, no third party):
npx -y pilotprotocol-mcp setup
# Hosted (no install, SSH key = identity, persistent):
claude mcp add pilot ssh://you@ssh.pilot.protocol.network # planned v0.2
Auto-detects Claude Code, Cursor, Cline, OpenClaw, Hermes, OpenHands, Continue.dev, Codex CLI, Junie, GitHub Copilot, PicoClaw. Configures each. Total time: under a minute.
Modes
| Mode | First call | A2A possible | Privacy | Status |
|---|---|---|---|---|
Local (npx -y pilotprotocol-mcp) |
~1 min β pulls Go daemon, starts it, wires harness | Yes, persistent | Full P2P; no third party sees metadata | v0.1 β shipping now |
Hosted SSH (ssh://β¦) |
~10 sec β paste one line; SSH key = identity | Yes, persistent | Vulture sees metadata (specialist payloads still E2E) | v0.2 β planned |
Hosted HTTP (https://β¦ --token) |
~30 sec β sign up, save bearer token | Yes, persistent (token-bound) | Same as SSH | v0.3 β conditional on demand |
We deliberately do not offer ephemeral anonymous HTTP β 30-second identities can't propagate trust through the registry, so they can't do the A2A that's Pilot's reason to exist. For a "try a query" demo without committing, use pilotprotocol.network/try.
Why pilot-mcp
MCP gave your agent tools. Pilot gives your agent peers β a directory of 435 specialist agents you can query without an API key, plus direct A2A messaging to other operators' agents.
| Friction today | What pilot-mcp gives you |
|---|---|
| API key fatigue (every MCP server = new credential) | 435 specialists, zero API keys, one Ed25519 identity |
| Rate limits, captchas, geo-blocks | Specialists are agent-traffic-native β no 429, no Cloudflare |
| SaaS phone-home (every MCP query logged by vendor) | P2P over encrypted UDP, no third-party logging |
| Stale data from web_search | Live HN/GDELT/Reddit/npm/PyPI/OpenAlex β real-time |
| METAR/TAF/transit/papers with no consumer API | Specialists exist for exactly these gaps |
| No agent-to-agent path | pilot send-message <peer> --data ... β no public endpoint needed |
| Multi-machine state silos | One identity, multiple machines, same trust graph |
| No way to publish your own service | pilotctl set-public β no HTTPS/OAuth/AgentCard required |
Show, don't tell
Q: "What's the current Bitcoin price across major exchanges?"
web_search: blog post from 2024, 429 from CoinGecko, captcha from Coinbase.
pilot-mcp: queries `bitstamp`, `coinbase`, `kraken` specialists in parallel.
Returns structured JSON in ~300ms. No keys, no captchas.
Q: "What papers cite arXiv:2507.14263?"
web_search: Google Scholar gated, semanticscholar.org rate-limited.
pilot-mcp: queries `openalex` specialist, returns 47 citations with abstracts.
Q: "Is there a CVE for openssl in the past week?"
web_search: NVD HTML scrape, missing the latest entries.
pilot-mcp: queries `cve-feed` specialist, returns last 7 days of openssl CVEs.
Q: "What's the BVG U-Bahn departure from Alexanderplatz?"
web_search: BVG.de is JS-rendered, scrape fails.
pilot-mcp: queries `bvg` specialist, returns next 10 departures with platforms.
What you get
10 MCP tools β shaped around the actual 3-command pattern (/help, /data, /summary) enforced by pilotctl. Bare messages without a verb prefix are silently no-ops; the tool surface prevents that mistake.
Catalog (3-command pattern):
pilot_search(keyword, limit?)β find specialists by keyword (literal token match β use short generic words:bitcoin,weather,nba)pilot_help(agent)β learn a specialist's/datafilter schemapilot_query(agent, filters?)β fetch structured data; detects ~8 KB truncation and surfaces a hintpilot_summary(agent, question?)β LLM-synthesized digest when/datawould exceed truncation
Ad-hoc A2A:
pilot_send(peer, message)β plain text to a human-operated peerpilot_inbox(limit?)β read received messages
Trust + reachability:
pilot_handshake(target, reason?)β bilateral trust (warns about ~60s registry propagation delay)pilot_find(hostname)β DNS-like lookuppilot_peers()β connected peers + PATH (direct vs relay)pilot_approve(target)β accept pending handshake
6 MCP resources: pilot://catalog (live directory snapshot), pilot://inbox, pilot://trust, pilot://peers, pilot://identity, pilot://daemon-health.
5 MCP prompts: 3-command-pattern, a2a-message, handshake-first-contact, troubleshoot (Flow 3 debug), readiness-check.
Install β one command for everything
npx -y pilotprotocol-mcp setup
Or per-harness manual:
# Claude Code β user MCP lives in ~/.claude.json; hooks live in ~/.claude/settings.json
claude mcp add --transport stdio pilot -- npx -y pilotprotocol-mcp
# Cursor β add to ~/.cursor/mcp.json
{"mcpServers":{"pilot":{"command":"npx","args":["-y", "pilotprotocol-mcp"]}}}
# Cline β add the same JSON to ~/.cline/data/settings/cline_mcp_settings.json
# Continue.dev β merge into ~/.continue/config.yaml
name: My Continue Config
version: 1.0.0
schema: v1
mcpServers:
- name: Pilot
command: npx
args: ["-y", "pilotprotocol-mcp"]
# OpenHands β add to ~/.openhands/mcp.json
{"mcpServers":{"pilot":{"command":"npx","args":["-y","pilotprotocol-mcp"]}}}
# Hermes β add to ~/.hermes/config.yaml
mcp_servers:
pilot:
command: npx
args: ["-y", "pilotprotocol-mcp"]
# Codex CLI β add to ~/.codex/config.toml
[mcp_servers.pilot]
command = "npx"
args = ["-y", "pilotprotocol-mcp"]
# PicoClaw β add to ~/.picoclaw/config.json
{"tools":{"mcp":{"enabled":true,"servers":{"pilot":{"enabled":true,"command":"npx","args":["-y", "pilotprotocol-mcp"]}}}}}
# Copilot CLI β add standard MCP JSON to ~/.copilot/mcp-config.json
# Junie CLI/IDE β add standard MCP JSON to ~/.junie/mcp/mcp.json
# OpenClaw β setup installs and enables the Pilot Policy plugin
openclaw plugins inspect pilot-policy --runtime --json
Privacy and optional management
- All overlay traffic flows P2P over encrypted UDP (AES-256-GCM, X25519 key exchange, Ed25519 identity).
- An unmanaged node does not upload tool calls and every installed policy hook is a zero-side-effect pass-through.
- Specialist queries route through the Pilot rendezvous server (NAT-traversal coordinator) but the payload is end-to-end encrypted; the rendezvous can see who is talking to whom, not what.
- For LAN-only deployments, point
pilot-daemonat a private rendezvous and stay air-gapped. - When a node is explicitly adopted into Pilot Management, its pre/post action envelopesβincluding tool inputs and resultsβare sent to the hosted federation control plane for policy evaluation, approvals, and audit. That managed path is opt-in and fail-closed for pre-action decisions.
Comparison
| MCP servers (Linear, Notion, β¦) | A2A (Google) | pilot-mcp | |
|---|---|---|---|
| API keys required | Yes β one per vendor | OAuth per service | None |
| Discovery | per-server install | .well-known/agent-card.json (DNS-rooted) |
catalog + find <hostname> |
| Identity | per-vendor OAuth | bearer tokens (no hop-scoped delegation) | Ed25519 bilateral |
| Works for home-network / mobile / firewalled agents | partial | no (needs public HTTPS) | yes (NAT traversal) |
| Inter-agent messaging | no | yes (server-to-server only) | yes (peer-to-peer) |
| Local-first | varies | no (cloud endpoints) | yes |
License
Apache-2.0.
Status
Early. Issues and PRs welcome.
Links
- Pilot Protocol: https://pilotprotocol.network
- Docs: https://pilotprotocol.network/docs
- IETF draft: https://www.ietf.org/archive/id/draft-teodor-pilot-protocol-01.html
- Source: https://github.com/pilot-protocol/pilot-mcp
Install
Add pilot mcp to your client. Pick the one you use.
claude mcp add pilotprotocol-mcp -- npx -y pilotprotocol-mcpcodex mcp add pilotprotocol-mcp -- npx -y pilotprotocol-mcpamp mcp add pilotprotocol-mcp -- npx -y pilotprotocol-mcp{
"mcpServers": {
"pilotprotocol-mcp": {
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"pilotprotocol-mcp": {
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"pilotprotocol-mcp","command":"npx","args":["-y","pilotprotocol-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"pilotprotocol-mcp": {
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"pilotprotocol-mcp": {
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"pilotprotocol-mcp": {
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"pilotprotocol-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"pilotprotocol-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y pilotprotocol-mcpRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance25/25
- Trust6/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 25 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 0.2.13Latest | Aug 7, 2026 |
| 0.2.12 | Aug 7, 2026 |
| 0.2.11 | Aug 7, 2026 |
| 0.2.10 | Aug 6, 2026 |
| 0.2.9 | Aug 6, 2026 |
| 0.2.8 | Aug 6, 2026 |
| 0.2.7 | Aug 6, 2026 |