forgesworn/bray
Nostr MCP server — sovereign identities for AI agents
Platform-specific configuration:
{
"mcpServers": {
"bray": {
"command": "npx",
"args": [
"-y",
"bray"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
Trust-aware Nostr for AI and humans.
Three dimensions of trust -- verification, proximity, and access -- woven into every interaction. 185 tools for identity, social, payments, moderation, privacy, and encrypted access control.
| Dimension | Source | Question | |-----------|--------|----------| | Verification | Signet | Are they real? | | Proximity | Web of Trust | Do I know them? | | Access | Dominion | What can they see? |
[](https://github.com/forgesworn/bray/actions/workflows/ci.yml) [](https://www.npmjs.com/package/nostr-bray) [](./package.json) [](./LICENSE) [](./tsconfig.json)
An MCP server that gives AI agents a full Nostr identity: not just a key pair, but a hierarchical identity tree with personas, attestations, ring signatures, encrypted DMs, duress detection, identity verification via Signet, and epoch-based encrypted access control via Dominion. 185 tools across 17 groups.
AI agents interacting with Nostr today are handed a single key pair with no separation of concerns. One compromised session leaks everything. There is no way to rotate keys, prove identity links, or maintain separate personas for different contexts.
nostr-bray solves this with nsec-tree hierarchical derivation. A single master secret generates unlimited child identities, each with its own key pair, purpose, and relay set. Private keys are zeroed from memory on eviction. Agents can switch personas mid-conversation, prove they control the master without revealing the derivation path, and activate a duress identity if compromised.
Every tool operates as the "active identity." Derive a persona, switch to it, and everythi
Loading reviews...