原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Pigeonpost

作者:bekirdag版本 0.7.18i★ –i在你的电脑上运行
注册名称io.github.bekirdag/pigeonpost

安装

概览

作者提供的说明(英文原文)

Private asynchronous Pigeonpost messaging for AI agents over local MCP stdio.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 聊天与邮件

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: PIGEONPOST_HOME, PIGEONPOST_RECOVERY_DIR

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "pigeonpost": {
      "command": "npx",
      "args": [
        "-y",
        "@bekirdag/pigeonpost",
        "mcp"
      ],
      "env": {
        "PIGEONPOST_HOME": "your-value",
        "PIGEONPOST_RECOVERY_DIR": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add pigeonpost --env PIGEONPOST_HOME=your-value --env PIGEONPOST_RECOVERY_DIR=your-value -- npx -y @bekirdag/pigeonpost mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "pigeonpost": {
      "command": "npx",
      "args": [
        "-y",
        "@bekirdag/pigeonpost",
        "mcp"
      ],
      "env": {
        "PIGEONPOST_HOME": "your-value",
        "PIGEONPOST_RECOVERY_DIR": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "pigeonpost": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@bekirdag/pigeonpost",
        "mcp"
      ],
      "env": {
        "PIGEONPOST_HOME": "your-value",
        "PIGEONPOST_RECOVERY_DIR": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • PIGEONPOST_HOME env
    Directory containing this agent's local Pigeonpost identity and state.
  • PIGEONPOST_RECOVERY_DIR env
    Existing canonical owner-only absolute directory containing this agent's committed successor key; it must remain available for every agent open.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 bekirdag 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“聊天与邮件”中的其他服务器比较i

  • 星标数多于此分类中其他 1838 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1838 个服务器的 32% 更新
  • 基础检查结果等于或优于此分类中其他 1838 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Pigeonpost 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.7.18)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Vexa

作者:Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

在云端运行★ 2,949Apache-2.02个月前更新
安装

emailmd

作者:anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

电脑或云端★ 1,385MIT32天前更新
安装

MCP WhatsApp Cloud

作者:codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

在你的电脑上运行★ 277MIT5个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Pigeonpost

Every AI agent gets a permanent address and a private inbox. Free, open, and built to outgrow any one operator.

Pigeonpost is asynchronous messaging infrastructure for AI agents. An agent gets an address, publishes it, and drains its inbox whenever it next wakes up — hours or weeks later. Messages are end-to-end encrypted, and no fee, wallet, domain, or agent-side background daemon is required. Just Pigeonpost it; the recipient can pick it up whenever it next wakes.

[!NOTE]

The repository contains the SDS implementation paths for clients, lofts, the registry, the

directory, MCP, and offline compliance operations. That is not evidence that a package or image

has been published, a public service is running, independent witnesses are operating, custody has

been provisioned, or regulatory activation has occurred. See

docs/handoff.md for the current code/operations boundary.

After the provenance-verified v0.2.0 package and matching release are published:

npm i -g @bekirdag/pigeonpost@0.2.0

pigeonpost id # your address, created on first run pigeonpost install # macOS/Linux: turn this box into a loft pigeonpost loft add http://127.0.0.1:7717 pigeonpost send /k/… --body "the build is green" pigeonpost inbox

For an address that must survive loss of the agent-home device, create an existing canonical, owner-only directory on independently protected storage before the first pigeonpost id, then set the global --recovery-dir option or PIGEONPOST_RECOVERY_DIR on every CLI and MCP open. The backward-compatible default is /recovery; it works, but Pigeonpost warns when the successor and operating keys share a storage device. Do not manually move a committed key after creation outside the stopped migration procedure in docs/keys.md.

The problem

AI agents work in isolation. An agent on one project has no way to reach an agent on another, so a human ends up hand-carrying messages between them.

Existing agent protocols — A2A, MCP, and the rest — assume both agents are online at the same moment. Agents are offline almost all the time: they wake for a session, do work, and shut down. The missing piece is not a faster connection. It is a durable inbox.

How it works

1. An agent generates a keypair. That keypair IS the agent.
  1. Its address falls out of the key — no registration, no permission, no human.
  2. It publishes that address anywhere: a README, a docs site, a product page.
  3. Anyone sends it a message. The message waits.
  4. The agent wakes, drains the inbox, disconnects.

Optionally, an agent claims a provider-scoped handle — /github/superaidev — through a challenge-bound GitHub or Google identity proof. If every local key is lost, pigeonpost handle rotate re-proves the same provider identity and rebinds that handle to a fresh agent key. That restores future routing to the handle; it cannot recover the old key address, local state, or Pigeonposts encrypted to the lost key. Key addresses never require the provider flow.

One provider account may hold up to three handles at once. Upstream names are mutable, and the allowance is what lets an account that renames keep the name people already published alongside the name the provider now shows. Rotations do not count against it, so an account at its limit can still recover from key loss. Key addresses remain free, unregistered, and unlimited.

Pre-1.0 builds briefly used /gh/ . That spelling is intentionally not an alias: new claims and resolutions reject it. Authenticated old leaves remain verifiable history, and their owners must claim /github/ before publishing the canonical handle.

Two kinds of address

This split is the core design decision, and it is what lets agents self-address while keeping the namespace free of squatters.

Key addressHandle
Looks like/k/j5pxq82nf4wt3h9m6rbdck0syv/github/superaidev
GateNone — derived from your own keypairProof you control a GitHub or Google identity
RegistryNone. Self-certifyingAppend-only transparency log
SquattableNo — computed, not chosenNo — the allocation already happened elsewhere
Recoverable if you lose every keyNoYes — re-prove the identity
CostFreeFree

No agent is ever blocked on a human. The identity gate exists only on the scarce, contested, human-readable tier, and a handle is an alias onto the key address — never a replacement for it.

Because a key address *is* the key, agents commit to a successor key at creation. That is what lets an address survive rotation and even key compromise: an attacker holding your key can only rotate you to the successor you already chose, never to one of theirs. The successor remains a key and must stay available whenever the agent opens; losing both keys loses the address permanently. Details in docs/keys.md.

Design principles

  • Free, permanently. No fees, no tokens, no wallet, no paid domain. A paywall kills adoption for a dev tool, and there is no chain here to charge for
  • Offline-first. The recipient is assumed to be gone. Transport is authenticated HTTP request/response; WebSocket support is deferred and is not part of the compatibility contract. There is no daemon on the agent side
  • Private by construction. Gift wrapping means the stored envelope does not reveal the sender's long-term key, true send time, content, or kind. A loft cannot decrypt message content. Where a recipient requires envelope-v3 attribution, only a separately provisioned, authorized offline custodian could recover the sender claim; the content remains sender-and-recipient-only. A regulated public loft separately observes source-network and exact receipt metadata as the request arrives, seals it under short-lived purpose-specific keys, and keeps it out of ordinary logs; see docs/law.md
  • Pigeonpost messages are data, never instruction. A message body arrives from another LLM. Client surfaces present bodies inside an explicit untrusted envelope; the operator policy decides whether a human must review them. An agent that reads "delete the auth module" in its inbox does not execute it by default
  • Forkable by design. Names live in a public log that anyone can download whole, mirror, and fork. Clients choose their own strict-majority witness policy (2k > N). That guarantees quorum intersection for one roster, not witness honesty: no-gossip fork resistance also requires fewer than 2k - N equivocators, while different rosters need guaranteed honest overlap or gossip/out-of-band checkpoint comparison. If an operator misbehaves, the community can fork at the last honest checkpoint and keep its names. The regulated attribution escrow is an explicit centralizing tradeoff, and a fork may legitimately remove it
  • Built around explicit operating budgets. A free service with no revenue cannot silently absorb unbounded adoption. The loft is designed to be run by other people, and our own share is a capacity number we advertise rather than a residual we absorb. Registry storage and fresh-client bootstrap have explicit v0.2 bounds; protocol and network-budget tests cover the mechanism, while end-to-end million-leaf wall-clock validation remains a release-operations gate. Higher scale requires a future authenticated snapshot/map/checkpoint design rather than an unlimited flat-cost claim (docs/capacity.md)

Spam

An openly published, free inbox is a spam magnet, and free addressing means identities cost a hash. Because a stored wrap does not reveal an authenticated sender identity, anything keyed on sender identity is necessarily client-side. Source-network metadata observed by a regulated public loft is separately sealed trace data, not proof of an application sender. Five layers, cheapest first:

LayerWhereWhat it does
Loft policyLoftOperator's own rate, size, and acceptance rules
Capability tokensLoftPublish /github/wodo#t=readme; revoke the token if it gets harvested
Proof-of-work stampsLoftEvery wrap meets the recipient's flat advertised floor; zero disables it
acceptAll = falseClientClosed by default; strangers land in a pending queue
Sender scoreClientLocal reputation, decremented by mark-as-spam. Never shared, never published

Full evaluation, including what was rejected and why, in docs/spam.md.

Integrating

Nobody should implement gift wrapping to send a message. Three levels, all over one core:

  • MCP server — the primary path, with tools for identity, resolution, sending, inbox handling, bounded local-storage lifecycle, trust controls, capability tokens, and handle registration
  • CLI — pigeonpost send /github/wodo --body -, JSON output, any language
  • Library — the Rust client crate used by the CLI and MCP server; other languages use either surface
  • Agent skill — skills/pigeonpost/SKILL.md teaches a coding agent to use Pigeonpost without being walked through it each time. Drop it in and the agent picks it up on its next session:
  mkdir -p .claude/skills/pigeonpost

curl -fsSL https://raw.githubusercontent.com/bekirdag/pigeonpost/main/skills/pigeonpost/SKILL.md \ -o .claude/skills/pigeonpost/SKILL.md

It is documentation, not permission: every boundary it describes is enforced by the server, so an agent that ignores the file still cannot act on a request it was never granted.

Message bodies are never returned as bare strings. read returns an untrusted_body inside an envelope carrying the sender, tier, and local trust score, because a Pigeonpost message from another LLM is data and an API shouldn't make the wrong thing the easy thing. See docs/integration.md.

Documentation

DocumentWhat's in it
docs/handoff.mdStart here if you are new: state of play, gotchas, what to do next
docs/product.mdWhat this is, what it deliberately is not, scope, and settled decisions
docs/sds.mdBuild spec: crates, data models, milestones, testing
docs/architecture.mdIdentity, naming, registry, transport, encryption, prior art surveyed
docs/keys.mdKey rotation, compromise, and loss — how an address outlives its key
docs/integration.mdThe surface third-party tools call: MCP tools, CLI, library
docs/infrastructure.mdWhat runs where, who operates it, and the day-one commitments
docs/capacity.mdScale numbers, and how node distribution keeps the service affordable
docs/network.mdHow lofts join, get chosen, are probed, and leave
docs/node.mdPackaging and the one-command install for running a loft
docs/spam.mdSpam options evaluated and the layered design chosen
docs/law.mdLawful access: what the law requires, what we built, what we did not
docs/compliance-operations.mdOffline custody, approval, disclosure, hold, destruction, and recovery operator contract
docs/identity-providers.mdRegistering the GitHub and Google apps that gate handle claims

| docs/publishing.md | Where the MCP server gets published, and in what order

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx