74
/ 100
28 days ago
glama

nostr-bray

Trust-aware Nostr MCP server. 236 tools for identity, social, DMs, trust scoring, AI-to-AI dispatch, Lightning payments, privacy proofs, and encrypted vaults. NIP-46 bunker auth; keys never leave the signing device.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
244 tools verified — handlers match their declared behaviour
135 read-only tools verified — handlers contain no write/delete/exec
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 6 credentials: BRAY_HTTP_TOKEN, BRIDGE_SECRET, CLIENT_SECRET, NOSTR_NCRYPTSEC_PASSWORD, NOSTR_SECRET_KEY, PHOENIXD_PASSWORD
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// known CVEs in dependencies1 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

ws: Uninitialized memory disclosure

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
configALLOW_CLEARNET_WITH_TOR
configBIND_ADDRESS
configBRAY_ALLOW_PRIVATE_RELAYS
configBRAY_CONFIGSearch order: env var > $XDG_CONFIG_HOME/bray/config.json > ~/.nostr/bray.json.
🔐 secretBRAY_HTTP_TOKEN
configBRAY_INPUT_DIRS
configBRAY_WALLETS_FILE
🔐 secretBRIDGE_SECRET
configBUNKER_URI"": "bunker://...",
configBUNKER_URI_FILEPath to bunker URI file
🔐 secretCLIENT_SECRET
configDISPATCH_IDENTITIES
configNIP04_ENABLEDSet 1 to enable legacy NIP-04 DMs
configNOSTR_BRAY_OUTPUT
configNOSTR_NCRYPTSECncryptsec NIP-49 encrypted key () Key encrypted at rest, decrypted in memory at startup.
configNOSTR_NCRYPTSEC_FILE
🔐 secretNOSTR_NCRYPTSEC_PASSWORDPassword for ncryptsec
configNOSTR_NCRYPTSEC_PASSWORD_FILE
configNOSTR_RELAYS"": "wss://relay.damus.io,wss://nos.lol"
🔐 secretNOSTR_SECRET_KEY"": "nsec1...",
configNOSTR_SECRET_KEY_FILEKey file File path () Key on disk, read once, env var deleted.
configNWC_URI
configNWC_URI_FILE
🔐 secretPHOENIXD_PASSWORD
configPHOENIXD_URL
configPORTHTTP port (default 3000)
configRELAY
configTOR_PROXYSOCKS5h proxy for Tor
configTRANSPORTstdio (default) or http
configTRUST_CACHE_MAX
configTRUST_CACHE_TTL
configTRUST_MODE
configVAULT_EPOCH_LENGTH
configVEIL_CACHE_MAX
configVEIL_CACHE_TTL
configXDG_CONFIG_HOMESearch order: BRAY_CONFIG env var > $/bray/config.json > ~/.nostr/bray.json.
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/forgesworn-bray-27gfti)](https://m8ven.ai/mcp/forgesworn-bray-27gfti)
commit: 33eb25ecf273b9dcaba2b19fb0af2df51f377a36
code hash: ee7f76e2b79dd33ac73b4b3da2390ec8b351852692b51171363888e056bb24ac
verified: 6/13/2026, 10:52:29 AM
view raw JSON →