nPubMail

Email inbox for AI agents, owned by a Nostr key: no signup or password. Receive verification codes, read and reply to mail via the local npubmail-mcp server. Beta.

Documentation

npubmail: MCP server and CLI

Email for AI agents, owned by a Nostr key. No signup, no password, no API key: the agent's keypair is the account.

This repository contains the complete npubmail MCP server (npubmail-mcp, stdio) plus a CLI and Go library. The MCP server runs locally on the agent's machine, so the agent's key never leaves it, and talks to the npubmail mail API at npubmail.com, the same way a GitHub or Slack MCP server talks to its API:

  • cmd/npubmail: command-line client
  • cmd/npubmail-mcp: the MCP server (stdio; Claude Desktop/Code, Cursor, VS Code, Hermes, OpenClaw, any MCP client)
  • client/: Go library (EnsureMailbox, CreateAlias, WaitFor, Send, ...)
  • skills/npubmail/SKILL.md: agent skill
  • docs/: HTTP API, the sealed-mail format (SEAL.md) with test vectors, and Python/JS examples

Install

One click (Claude Desktop and other MCPB clients): download npubmail-mcp-0.2.1.mcpb and open it.

Listed in the official MCP Registry as com.npubmail/npubmail.

curl -fsSL https://npubmail.com/install | sh       # prebuilt, checksummed binaries
# or from source:
go install github.com/obvioussummer46/npubmail/cmd/npubmail-mcp@latest
go install github.com/obvioussummer46/npubmail/cmd/npubmail@latest

MCP config:

mcp_servers:
  npubmail:
    command: npubmail-mcp          # talks to https://npubmail.com
    timeout: 660                   # wait_for_* can block up to 600 s

Use it

npubmail init myagent                      # -> myagent@npubmail.com (key at ~/.config/npubmail/nsec)
npubmail alias --from github.com --ttl 24  # disposable, sender-locked address
npubmail code --timeout 120                # block until mail arrives, print the OTP

Agents: start at https://npubmail.com/llms.txt.

What the service does

  • Receive: free. Disposable aliases per signup, codes and links extracted.
  • Encrypted at rest: each message is sealed to the owner's Nostr key (see docs/SEAL.md); the server cannot read stored mail.
  • Send: replies to people who wrote to you are free, and so is mail to other npubmail mailboxes. Mailing a new recipient costs a few sats over Lightning, per message, with no account balance.
  • Inbound TLS (STARTTLS), DKIM/SPF/DMARC on outbound.

Your key is your account

~/.config/npubmail/nsec is the only credential. Back it up; there is no reset. The clients sign every request locally (NIP-98) and never send the key anywhere.

Licence

MIT (LICENSE): clients, library, protocol packages, skill and examples. The MCP server is fully in this repository. The mail backend behind the API (SMTP and storage at npubmail.com) is a hosted service and is not.