mcpField
P
pilot-mcp

pilot-mcp

本地服务
pilotprotocol.networkAI 与智能体12 周前更新

关于 pilot-mcp

pilot-mcp 将 Pilot 的 435 个专业 Agent 和 P2P 点对点消息接入一个 MCP 服务,面向需要查询专业数据或与其他 Agent 通信的 Agent。它支持本地网络模式,并提供搜索、结构化查询、信任关系和对等节点工具。

主要功能

  1. 01搜索专业 Agent
  2. 02查询结构化数据并生成摘要
  3. 03与对等节点收发消息
  4. 04管理握手与信任关系
  5. 05查看节点与网络状态

适用场景

  1. 01查找提供特定领域数据的 Agent
  2. 02获取专业 Agent 返回的结构化数据
  3. 03向其他操作者发送消息并读取收件箱
  4. 04检查已连接的对等节点和信任状态

MCP 相关

它作为 MCP 服务向客户端提供 Agent 搜索、数据查询、消息、信任管理等工具,并公开目录、收件箱、身份和节点状态等资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pilot-protocol-pilot": {
"command": "npx",
"args": [
"-y",
"pilotprotocol-mcp"
]
}
}
}
启动命令npx -y pilotprotocol-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpilotprotocol-mcp0.4.0

工具

21

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitnumber否返回的最大匹配数。默认值为 10。
keywordstring是单个简短关键词。如果首次尝试没有返回结果,请尝试同义词(专业 Agent 的简介中通常会包含多个术语)。

详细介绍

pilotprotocol-mcp

npm 包名为 pilotprotocol-mcp。其历史可执行文件名为 pilot-mcp;另有一个名称为 pilot-mcp 的无关 npm 包,它并非 Pilot Protocol 的适配器,本说明也绝不会安装它。

Agent 的覆盖网络——本地部署还是托管,由你选择。 435 个专业 Agent + 面向 190k 节点 P2P 网络的 A2A 消息传递,通过一个 MCP 服务提供。

# 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://[email protected]        # planned v0.2

自动检测 Claude Code、Cursor、Cline、OpenClaw、Hermes、OpenHands、Continue.dev、Codex CLI、Junie、GitHub Copilot、PicoClaw,并为每个工具完成配置。总耗时:不到一分钟。

模式

模式首次调用支持 A2A隐私状态
本地(npx -y pilotprotocol-mcp)~1 分钟 — 获取 Go 守护进程并启动,然后连接工作环境支持,持久化完整 P2P;没有第三方能看到元数据v0.1 — 现已发布
托管 SSH(ssh://…)~10 秒 — 粘贴一行命令;SSH 密钥即身份支持,持久化Vulture 可看到元数据(专业 Agent 负载仍采用端到端加密)v0.2 — 计划中
托管 HTTP(https://… --token)~30 秒 — 注册并保存 bearer token支持,持久化(绑定令牌)与 SSH 相同v0.3 — 视需求而定

我们有意不提供临时匿名 HTTP——30 秒的身份无法通过注册表传播信任,因此也无法进行 A2A,而这正是 Pilot 存在的意义。如需在不做承诺的情况下“试用查询”,请使用 pilotprotocol.network/try。


为什么选择 pilot-mcp

MCP 为 Agent 提供了工具。Pilot 为 Agent 提供了对等节点——一个包含 435 个专业 Agent 的目录,你无需 API 密钥即可查询,还能直接与其他运营者的 Agent 进行 A2A 消息传递。

当前遇到的阻碍pilot-mcp 能提供什么
API 密钥疲劳(每个 MCP 服务都需要新的凭据)435 个专业 Agent,零 API 密钥,一个 Ed25519 身份
速率限制、验证码、地理封锁专业 Agent 原生支持 Agent 流量——没有 429,也没有 Cloudflare
SaaS 连接回传(供应商会记录每次 MCP 查询)通过加密 UDP 进行 P2P 通信,没有第三方日志记录
web_search 数据陈旧实时获取 HN/GDELT/Reddit/npm/PyPI/OpenAlex 数据
METAR/TAF/交通/论文没有面向普通用户的 API正好有针对这些缺口的专业 Agent
没有 Agent 到 Agent 的通信方式pilot send-message <peer> --data ...——无需公共端点
多机器状态彼此隔离一个身份,多台机器,共享同一信任图
无法发布自己的服务pilotctl set-public——无需 HTTPS/OAuth/AgentCard

展示胜于描述

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.

你将获得什么

10 个 MCP 工具——围绕 pilotctl 强制执行的实际三命令模式(/help、/data、/summary)设计。不带动词前缀的纯消息会被静默地视为无操作;这些工具能避免这种错误。

目录(三命令模式):

  • pilot_search(keyword, limit?) — 按关键词查找专业 Agent(按字面匹配词元——使用简短通用词:bitcoin、weather、nba)
  • pilot_help(agent) — 了解专业 Agent 的 /data 筛选器架构
  • pilot_query(agent, filters?) — 获取结构化数据;检测约 8 KB 的截断并提示用户
  • pilot_summary(agent, question?) — 当 /data 结果会超过截断限制时,生成由大模型合成的摘要

临时 A2A 消息:

  • pilot_send(peer, message) — 向由人类运营的对等节点发送纯文本
  • pilot_inbox(limit?) — 读取收到的消息

信任 + 可达性:

  • pilot_handshake(target, reason?) — 建立双边信任(会提示注册表传播约需 60 秒)
  • pilot_find(hostname) — 类似 DNS 的查询
  • pilot_peers() — 已连接的对等节点 + PATH(直连或中继)
  • pilot_approve(target) — 接受待处理的握手请求

6 个 MCP 资源:pilot://catalog(实时目录快照)、pilot://inbox、pilot://trust、pilot://peers、pilot://identity、pilot://daemon-health。

5 个 MCP 提示词:三命令模式、a2a-message、handshake-first-contact、troubleshoot(流程 3 调试)、readiness-check。

安装——一条命令搞定一切

npx -y pilotprotocol-mcp setup

或按工作环境手动安装:

# Claude Code — user MCP lives in ~/.claude.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 plugin (id `pilot-policy`), which carries the MCP server
openclaw plugins inspect pilot-policy --runtime --json

在 HTTPS 代理后运行(Agent 沙箱)

Meta Muse 等托管 Agent 虚拟机会屏蔽 UDP、污染 Pilot 主机名的 DNS 解析,并且仅允许通过需要身份验证的 HTTPS_PROXY 将流量转发到 443 端口。npx -y pilotprotocol-mcp setup 会以普通用户或 root 身份在此运行,无需 systemd 或 launchd。它会通过代理安装运行时和 harness 适配器。只有运行时的 pilot-daemon 带有 -proxy 时,节点才能在此连接到 Pilot 网络(~/.pilot/bin/pilot-daemon -h 会列出该选项)。截至 v1.13.10(含)的已发布运行时都不支持此选项;该功能随 pilot-protocol/pilotprotocol#470 加入。对于此类较旧的运行时,setup 会:

  • 在仅允许通过代理联网的沙箱中(无 systemd 的 Linux,凭据在 HTTPS_PROXY 中),完全不启动守护进程:它会绕过代理,直接连接 Pilot 注册表和信标(setup 自身的 UDP 探测也会因此跳过);
  • 说明节点无法连接到 Pilot 网络,并解释原因;
  • 如果它启动的守护进程未成功运行,则停止该进程(绝不会停止 setup 运行前已存在的进程,也不会停止 install.sh 的 launchd 代理);
  • 指向 pilot-sandbox 技能, 该技能目前可以让节点上线;
  • 以状态码 1 退出。

详情如下:

  • 发布清单和运行时归档通过代理下载(按主机名执行 CONNECT,TLS 端到端传输,仍会验证 SHA-256)。代理选择方式与 pilot-daemon -proxy 相同(common/netproxy v0.5.14):依次选择 HTTPS_PROXY、https_proxy、ALL_PROXY、all_proxy 中第一个可用的代理(普通 http:// 优先使用 HTTP_PROXY/http_proxy),并遵循 NO_PROXY/no_proxy;localhost/loopback 始终不经过代理。不可用的 ALL_PROXY 会被跳过;不可用的 HTTPS_PROXY 表示不使用代理,daemon 也是如此。凭据可以进行百分号编码,也可以不编码(最后一个 @ 之前的所有内容都是用户信息)。
  • PILOT_PROXY 接受 pilot-daemon 和 pilotctl 接受的值:auto(默认值)、off(none、no、false 和 direct 也表示关闭),或 http:///https:// 代理 URL。Setup 会向 daemon 传入相同的读取结果(所有别名都会转换为 off)。其他任何值(例如 socks5://... 或不带协议的 host:port)都会被忽略并发出警告,也不会传给 daemon,因为 daemon 收到后会拒绝启动。~/.pilot/config.json 中的 "proxy" 键必须是 auto、off 或 http(s) URL,否则 pilotctl 会拒绝启动 daemon;其他值会使 setup 发出警告。
  • 如果 pilot-daemon 的 -transport 接受 auto(install.sh 会为其保存 "transport": "auto"),它每次启动时都会自行选择 udp 或 compat;UDP 被阻止时,通过代理使用 compat。Setup 会让它自行选择:不传入 -transport,不在 ~/.pilot/config.json 中记录任何值,并移除之前 setup 记录的 "transport": "compat"。
  • 如果到 beacon 的 UDP 被阻止(三次探测均无响应),且已安装的 pilot-daemon 支持 -proxy 但不支持 -transport=auto,setup 会以 -transport=compat 启动它。Daemon 自身的 -proxy 默认值(auto)随后会使用代理环境变量;setup 从不传入 -proxy,因此 ~/.pilot/config.json 中的 "proxy" 键或 PILOT_PROXY 仍然优先(-transport=auto 的运行时会优先使用 PILOT_PROXY,较早的运行时则优先使用 config.json)。Setup 会在 ~/.pilot/config.json 中记录 "transport": "compat",并标记为 "transport_set_by": "pilot-mcp",这样重启后直接执行 pilotctl daemon start 仍会使用相同设置;之后的 setup 如果发现 UDP 可用、没有代理,或运行时支持 -transport=auto,则会再次移除该设置。
  • 你(或 install.sh)设置的 "transport" 永远不会被更改:可以是 udp、compat、auto,也可以是 setup 会发出警告的值。对于支持 -transport=auto 的运行时,auto 及任何大小写形式都有效;仅当已安装的 pilot-daemon 版本早于该功能时,setup 和 doctor 才会对此发出警告。
  • 只有在严格晚于当前版本的稳定版发布中,并且确认其 pilot-daemon 支持 -proxy 后,才会替换较旧的 per-user 运行时(~/.pilot/bin)。版本未知的运行时以及安装在其他位置的运行时永远不会被替换。 否则,setup 会保留运行时,并指向 pilot-sandbox 技能。 在非仅代理沙盒环境中,setup 仍会启动该 daemon,因为有些主机允许它直接联网。如果 daemon 已注册(即它成功直接联网),但未通过信任检查,则说明 UDP 被阻止:摘要会显示切换到 compat 模式的说明,此时无需代理。如果 daemon 始终无法启动,摘要会说明节点无法访问 Pilot 网络以及解决方法;setup 启动的 daemon 会再次停止,setup 并以 1 退出。
  • 如果 UDP 被阻止且未使用代理,daemon 会像以前一样以默认传输方式(udp)启动,setup 会显示将已安装的运行时切换到 compat 模式的命令:pilotctl config --set transport=compat;对于早于 -proxy 的运行时,还需执行 pilotctl config --set registry=registry.pilotprotocol.network:443。
  • PILOT_TRANSPORT=udp|compat 会跳过 UDP 探测;PILOT_TRANSPORT=auto 会以 auto 值传入。只有 pilot-daemon 列出 -proxy 的运行时才会应用该设置(其 pilotctl 会将其传入;auto 仅适用于 -transport=auto);此前发布的运行时(v1.13.10 及更早版本)会忽略该设置,setup 会说明这一点并报告 daemon 实际运行时使用的传输方式。
  • 代理凭据轮换(Meta Muse 每隔几分钟轮换一次 HTTPS_PROXY 中的凭据;进程会保留启动时使用的凭据,因此之后建立的新连接会因 407 而失败)。代理命令 PILOT_PROXY_CMD 或 ~/.pilot/config.json 中的 "proxy_cmd" 会输出当前代理 URL;其遵循 pilot-daemon -proxy-cmd 约定(sh -c、10 秒、绝不记录输出)。如果在没有 systemd 的 Linux 容器或 VM 中,HTTPS_PROXY/https_proxy 携带凭据且没有进行任何配置,setup 会使用沙盒默认命令 bash -c 'case $https_proxy in *@*) printf %s "$https_proxy";; *) printf %s "${HTTPS_PROXY:-$https_proxy}";; esac'(新的 shell 会读取当前凭据;绝不会将带凭据的 URL 替换为不带凭据的 URL),与 pilotctl 和 install.sh 的行为完全相同。
    • Setup 每次发起请求以及遇到重定向时,都会在下载前运行代理命令;遇到 407 时还会再运行一次,并仅重试一次。
    • 支持 -proxy-cmd 的 pilot-daemon 会接收该命令。沙盒默认命令会作为 PILOT_PROXY_CMD 仅在本次启动时传入,不会保存:随 -proxy-cmd 提供的 pilotctl 会自行在之后每次启动时传入该命令,且仅当代理来自 HTTPS_PROXY 时才会这样做,因此你之后显式设置的代理会按设置使用。已配置的命令会留给 daemon 自行读取。
    • 在 pilot-daemon 中,已配置命令输出的 URL 会取代显式设置的 PILOT_PROXY 或 config.json "proxy" URL(这是 -proxy-cmd 的工作方式);setup 和 doctor 会据此报告。如果 "proxy_cmd" 等于 install.sh 保存的沙盒默认命令,则不会据此选择代理:setup 仅在代理环境变量存在时才会用它下载;如果 pilot-daemon 会因此覆盖显式代理,setup 和 doctor 会发出警告,并提示使用 pilotctl config --set proxy_cmd= 将其移除。
    • 支持 -proxy 但不支持 -proxy-cmd 的 pilot-daemon 会将 HTTPS_PROXY 指向 pilot-sandbox 技能的 egress_relay.py,地址为 127.0.0.1:3128(在 ~/workspace/skills 或其他技能目录中查找,也可通过 PILOT_EGRESS_RELAY 指定;如果 relay 尚未运行,则使用 python3 启动),该 relay 会为每个连接重新读取凭据。如果找不到 relay,setup 会警告凭据将会过期,并指向该 relay。
  • npx -y pilotprotocol-mcp doctor 会显示 daemon 将使用的代理(凭据会隐藏),或显示 off,并指出选择该代理的设置;还会显示 daemon 能否使用该代理、代理命令的来源、daemon 是否支持该命令及其 URL 是否会取代显式代理、任何被忽略或拒绝的代理或传输设置,以及已记录的传输方式。

隐私

  • 所有覆盖网络流量均通过加密 UDP 进行 P2P 传输(AES-256-GCM、X25519 密钥交换、Ed25519 身份)。
  • pilot-mcp 不会上传工具调用,也不会安装工具钩子。安装时会移除 pilot-mcp 在 0.3.0 及更早版本中写入运行环境设置的钩子条目。
  • 专业查询会经由 Pilot rendezvous 服务(NAT 穿透协调器)进行路由,但有效载荷采用端到端加密;rendezvous 服务能看到通信双方,却无法看到通信内容。
  • 对于仅限 LAN 的部署,请将 pilot-daemon 指向私有 rendezvous 服务,并保持与外部网络隔离。

对比

MCP 服务(Linear、Notion 等)A2A(Google)pilot-mcp
是否需要 API 密钥是——每家供应商一个每项服务使用 OAuth否
发现方式每个服务单独安装.well-known/agent-card.json(以 DNS 为根)目录 + find <hostname>
身份验证每家供应商使用 OAuthbearer token(不支持限定跳数的委派)Ed25519 双向验证
是否适用于家庭网络、移动网络或受防火墙保护的 Agent部分适用否(需要公开的 HTTPS)是(NAT 穿透)
Agent 间通信否是(仅限服务端到服务端)是(点对点)
本地优先因情况而异否(云端端点)是

许可证

Apache-2.0。

状态

早期阶段。欢迎提交 Issue 和 PR。

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。