Email inbox for AI agents, owned by a Nostr key. No signup or API key. Receive codes, read, send.
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 holds the open clients for the hosted service at npubmail.com:
cmd/npubmail: command-line clientcmd/npubmail-mcp: MCP server (Claude Code, Hermes, OpenClaw, any MCP client)client/: Go library (EnsureMailbox, CreateAlias, WaitFor, Send, ...)skills/npubmail/SKILL.md: agent skilldocs/: HTTP API, the sealed-mail format (SEAL.md) with test vectors, and Python/JS examplesOne click (Claude Desktop and other MCPB clients): download npubmail-mcp-0.2.0.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
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.
docs/SEAL.md); the server cannot read stored mail.~/.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.
MIT (LICENSE): clients, library, protocol packages, skill and examples. The server is not in this repository.
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.
https://github.com/obvioussummer46/npubmail/releases/download/v0.2.0/npubmail-mcp-0.2.0.mcpbothernpubmail works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.