github re-analysis due

forgesworn/bray

github

Trust-aware Nostr MCP server for AI agents and humans. Verification, proximity, and access woven into every interaction.

maintainer
forgesworn
license
MIT
first seen
2026-06-03
last seen
2026-06-15
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · streamable-http · http verified reported listed in the official MCP registry counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 33eb25e · analyzer v17 · 3d ago

skills & prompt files 3

danger signals1

code evidence vv1.31.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 12

  • fs forgesworn-bray-33eb25e/scripts/build-widgets.mjs :9 import { readFileSync, writeFileSync, mkdirSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/scripts/export-tool-schemas.mjs :9 import { readFileSync, writeFileSync, mkdtempSync, rmSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/config.ts :1 import { readFileSync, existsSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/dispatch/identities.ts :8 import { readFileSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/identity/shamir.ts :1 import { writeFileSync, readFileSync, statSync, renameSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/serve.ts :10 import { readFileSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/social/blossom.ts :1 import { readFileSync, statSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/social/scheduled.ts :1 import { mkdirSync, writeFileSync, readFileSync, readdirSync, unlinkSync, existsSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/state.ts :8 } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/sync/handlers.ts :13 import { readFileSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/widgets/index.ts :9 import { readFileSync } from 'node:fs'
  • fs forgesworn-bray-33eb25e/src/zap/handlers.ts :1 import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs'

network 18

  • net forgesworn-bray-33eb25e/site/demos/demo-phoenixd/nwc-bridge.mjs :76 const res = await fetch(`${PHOENIXD_URL}${path}`, opts)
  • net forgesworn-bray-33eb25e/src/admin/handlers.ts :100 const response = await fetch(url, {
  • net forgesworn-bray-33eb25e/src/http-client.ts :18 } from 'undici'
  • net forgesworn-bray-33eb25e/src/identity/nip05.ts :37 const resp = await fetch(url, { signal: AbortSignal.timeout(NIP05_TIMEOUT) })
  • net forgesworn-bray-33eb25e/src/index.ts :29 // Route every fetch() in this process through the SOCKS proxy when Tor is
  • net forgesworn-bray-33eb25e/src/marketplace/handlers.ts :421 const response = await fetch(url, {
  • net forgesworn-bray-33eb25e/src/relay/curl.ts :102 const response = await fetch(url, {
  • net forgesworn-bray-33eb25e/src/relay/handlers.ts :62 const resp = await fetch(httpUrl, {
  • net forgesworn-bray-33eb25e/src/relay/intelligence-handlers.ts :236 const resp = await fetch(httpUrl, {
  • net forgesworn-bray-33eb25e/src/relay/spell.ts :104 // Lazy contact list fetch (cached per cast)
  • net forgesworn-bray-33eb25e/src/sdk.ts :300 fetch(nip19: string): Promise<unknown>
  • net forgesworn-bray-33eb25e/src/serve.ts :9 import { createServer } from 'node:http'
  • net forgesworn-bray-33eb25e/src/social/blossom.ts :61 const response = await fetch(`${serverUrl}/upload`, {
  • net forgesworn-bray-33eb25e/src/social/dm.ts :159 * @param args.limit - Maximum number of events to fetch (default 50).
  • net forgesworn-bray-33eb25e/src/social/notifications.ts :40 * @param opts.limit - Maximum number of events to fetch (default 50).
  • net forgesworn-bray-33eb25e/src/util/handlers.ts :336 const response = await fetch('https://raw.githubusercontent.com/nostr-protocol/nips/master/README.md', {
  • net forgesworn-bray-33eb25e/src/widgets/profile-images.ts :53 const res = await fetch(url, {
  • net forgesworn-bray-33eb25e/src/workflow/handlers.ts :763 const resp = await fetch(httpUrl, {

secrets 3

  • secrets forgesworn-bray-33eb25e/site/demos/demo-phoenixd/nwc-bridge.mjs :28 const PHOENIXD_PASSWORD = process.env.PHOENIXD_PASSWORD
  • secrets forgesworn-bray-33eb25e/src/config.ts :102 const keyFilePath = process.env.NOSTR_SECRET_KEY_FILE ?? file.secretKeyFile
  • secrets forgesworn-bray-33eb25e/src/index.ts :170 const token = process.env.BRAY_HTTP_TOKEN ?? randomUUID()

tool registrations 200

  • search-actions forgesworn-bray-33eb25e/src/catalog.ts :112
  • execute-action forgesworn-bray-33eb25e/src/catalog.ts :157
  • dispatch-send forgesworn-bray-33eb25e/src/dispatch/tools.ts :51
  • dispatch-check forgesworn-bray-33eb25e/src/dispatch/tools.ts :102
  • dispatch-reply forgesworn-bray-33eb25e/src/dispatch/tools.ts :120
  • dispatch-ack forgesworn-bray-33eb25e/src/dispatch/tools.ts :163
  • dispatch-status forgesworn-bray-33eb25e/src/dispatch/tools.ts :185
  • dispatch-cancel forgesworn-bray-33eb25e/src/dispatch/tools.ts :211
  • dispatch-refuse forgesworn-bray-33eb25e/src/dispatch/tools.ts :233
  • dispatch-failure forgesworn-bray-33eb25e/src/dispatch/tools.ts :255
  • dispatch-query forgesworn-bray-33eb25e/src/dispatch/tools.ts :279
  • dispatch-capability-publish forgesworn-bray-33eb25e/src/dispatch/tools.ts :301
  • dispatch-capability-discover forgesworn-bray-33eb25e/src/dispatch/tools.ts :329
  • dispatch-capability-read forgesworn-bray-33eb25e/src/dispatch/tools.ts :347
  • dispatch-propose forgesworn-bray-33eb25e/src/dispatch/tools.ts :367
  • handler-publish forgesworn-bray-33eb25e/src/handler/tools.ts :11
  • handler-discover forgesworn-bray-33eb25e/src/handler/tools.ts :39
  • whoami forgesworn-bray-33eb25e/src/identity/tools.ts :38
  • identity-create forgesworn-bray-33eb25e/src/identity/tools.ts :47
  • identity-derive forgesworn-bray-33eb25e/src/identity/tools.ts :57
  • identity-derive-persona forgesworn-bray-33eb25e/src/identity/tools.ts :74
  • identity-switch forgesworn-bray-33eb25e/src/identity/tools.ts :91
  • identity-list forgesworn-bray-33eb25e/src/identity/tools.ts :114
  • identity-prove forgesworn-bray-33eb25e/src/identity/tools.ts :125
  • identity-backup-shamir forgesworn-bray-33eb25e/src/identity/tools.ts :141
  • identity-restore-shamir forgesworn-bray-33eb25e/src/identity/tools.ts :170
  • identity-backup forgesworn-bray-33eb25e/src/identity/tools.ts :194
  • identity-restore forgesworn-bray-33eb25e/src/identity/tools.ts :213
  • identity-migrate forgesworn-bray-33eb25e/src/identity/tools.ts :229
  • identity-accept-migration forgesworn-bray-33eb25e/src/identity/tools.ts :244
  • nip05-lookup forgesworn-bray-33eb25e/src/identity/tools.ts :258
  • nip05-verify forgesworn-bray-33eb25e/src/identity/tools.ts :271
  • nip05-relays forgesworn-bray-33eb25e/src/identity/tools.ts :285
  • marketplace-discover forgesworn-bray-33eb25e/src/marketplace/tools.ts :33
  • marketplace-inspect forgesworn-bray-33eb25e/src/marketplace/tools.ts :59
  • marketplace-search forgesworn-bray-33eb25e/src/marketplace/tools.ts :84
  • marketplace-reputation forgesworn-bray-33eb25e/src/marketplace/tools.ts :107
  • marketplace-compare forgesworn-bray-33eb25e/src/marketplace/tools.ts :125
  • marketplace-probe forgesworn-bray-33eb25e/src/marketplace/tools.ts :160
  • marketplace-pay forgesworn-bray-33eb25e/src/marketplace/tools.ts :176
  • marketplace-call forgesworn-bray-33eb25e/src/marketplace/tools.ts :233
  • marketplace-announce forgesworn-bray-33eb25e/src/marketplace/tools.ts :254
  • marketplace-update forgesworn-bray-33eb25e/src/marketplace/tools.ts :296
  • marketplace-retire forgesworn-bray-33eb25e/src/marketplace/tools.ts :335
  • marketplace-credentials-clear forgesworn-bray-33eb25e/src/marketplace/tools.ts :358
  • listing-create forgesworn-bray-33eb25e/src/marketplace/tools.ts :371
  • listing-read forgesworn-bray-33eb25e/src/marketplace/tools.ts :406
  • listing-search forgesworn-bray-33eb25e/src/marketplace/tools.ts :429
  • listing-close forgesworn-bray-33eb25e/src/marketplace/tools.ts :447
  • label-create forgesworn-bray-33eb25e/src/moderation/tools.ts :31
  • label-self forgesworn-bray-33eb25e/src/moderation/tools.ts :57
  • label-read forgesworn-bray-33eb25e/src/moderation/tools.ts :80
  • label-search forgesworn-bray-33eb25e/src/moderation/tools.ts :101
  • label-remove forgesworn-bray-33eb25e/src/moderation/tools.ts :120
  • list-mute forgesworn-bray-33eb25e/src/moderation/tools.ts :140
  • list-mute-read forgesworn-bray-33eb25e/src/moderation/tools.ts :163
  • list-check-muted forgesworn-bray-33eb25e/src/moderation/tools.ts :173
  • list-pin forgesworn-bray-33eb25e/src/moderation/tools.ts :197
  • list-pin-read forgesworn-bray-33eb25e/src/moderation/tools.ts :215
  • list-followset-create forgesworn-bray-33eb25e/src/moderation/tools.ts :229
  • list-followset-manage forgesworn-bray-33eb25e/src/moderation/tools.ts :253
  • list-followset-read forgesworn-bray-33eb25e/src/moderation/tools.ts :276
  • list-bookmark forgesworn-bray-33eb25e/src/moderation/tools.ts :293
  • list-bookmark-read forgesworn-bray-33eb25e/src/moderation/tools.ts :319
  • moderation-filter forgesworn-bray-33eb25e/src/moderation/tools.ts :338
  • privacy-commit forgesworn-bray-33eb25e/src/privacy/tools.ts :21
  • privacy-open forgesworn-bray-33eb25e/src/privacy/tools.ts :34
  • privacy-prove-range forgesworn-bray-33eb25e/src/privacy/tools.ts :51
  • privacy-verify-range forgesworn-bray-33eb25e/src/privacy/tools.ts :67
  • privacy-prove-age forgesworn-bray-33eb25e/src/privacy/tools.ts :85
  • privacy-verify-age forgesworn-bray-33eb25e/src/privacy/tools.ts :100
  • privacy-prove-threshold forgesworn-bray-33eb25e/src/privacy/tools.ts :117
  • privacy-verify-threshold forgesworn-bray-33eb25e/src/privacy/tools.ts :132
  • privacy-publish-proof forgesworn-bray-33eb25e/src/privacy/tools.ts :149
  • privacy-read-proof forgesworn-bray-33eb25e/src/privacy/tools.ts :169
  • relay-discover forgesworn-bray-33eb25e/src/relay/intelligence-tools.ts :14
  • relay-nip-search forgesworn-bray-33eb25e/src/relay/intelligence-tools.ts :30
  • relay-compare forgesworn-bray-33eb25e/src/relay/intelligence-tools.ts :50
  • relay-diversity forgesworn-bray-33eb25e/src/relay/intelligence-tools.ts :66
  • relay-recommend forgesworn-bray-33eb25e/src/relay/intelligence-tools.ts :79
  • relay-list forgesworn-bray-33eb25e/src/relay/tools.ts :14
  • relay-set forgesworn-bray-33eb25e/src/relay/tools.ts :26
  • relay-add forgesworn-bray-33eb25e/src/relay/tools.ts :46
  • relay-query forgesworn-bray-33eb25e/src/relay/tools.ts :60
  • relay-info forgesworn-bray-33eb25e/src/relay/tools.ts :121
  • relay-count forgesworn-bray-33eb25e/src/relay/tools.ts :134
  • cast-spell forgesworn-bray-33eb25e/src/relay/tools.ts :193
  • relay-auth forgesworn-bray-33eb25e/src/relay/tools.ts :207
  • safety-configure forgesworn-bray-33eb25e/src/safety/tools.ts :23
  • safety-activate forgesworn-bray-33eb25e/src/safety/tools.ts :40
  • canary-session-create forgesworn-bray-33eb25e/src/safety/tools.ts :60
  • canary-session-current forgesworn-bray-33eb25e/src/safety/tools.ts :86
  • canary-session-verify forgesworn-bray-33eb25e/src/safety/tools.ts :101
  • canary-group-create forgesworn-bray-33eb25e/src/safety/tools.ts :121
  • canary-group-join forgesworn-bray-33eb25e/src/safety/tools.ts :148
  • canary-group-current forgesworn-bray-33eb25e/src/safety/tools.ts :171
  • canary-group-verify forgesworn-bray-33eb25e/src/safety/tools.ts :186
  • canary-group-members forgesworn-bray-33eb25e/src/safety/tools.ts :203
  • canary-beacon-create forgesworn-bray-33eb25e/src/safety/tools.ts :220
  • canary-beacon-check forgesworn-bray-33eb25e/src/safety/tools.ts :238
  • canary-duress-signal forgesworn-bray-33eb25e/src/safety/tools.ts :260
  • canary-duress-detect forgesworn-bray-33eb25e/src/safety/tools.ts :279
  • signet-badge forgesworn-bray-33eb25e/src/signet/tools.ts :16
  • signet-vouch forgesworn-bray-33eb25e/src/signet/tools.ts :28
  • signet-credentials forgesworn-bray-33eb25e/src/signet/tools.ts :42
  • signet-policy-check forgesworn-bray-33eb25e/src/signet/tools.ts :54
  • signet-policy-set forgesworn-bray-33eb25e/src/signet/tools.ts :67
  • signet-verifiers forgesworn-bray-33eb25e/src/signet/tools.ts :83
  • signet-challenge forgesworn-bray-33eb25e/src/signet/tools.ts :95
  • social-post forgesworn-bray-33eb25e/src/social/tools.ts :59
  • social-reply forgesworn-bray-33eb25e/src/social/tools.ts :76
  • social-react forgesworn-bray-33eb25e/src/social/tools.ts :98
  • social-delete forgesworn-bray-33eb25e/src/social/tools.ts :116
  • social-repost forgesworn-bray-33eb25e/src/social/tools.ts :130
  • social-profile-get forgesworn-bray-33eb25e/src/social/tools.ts :145
  • social-profile-set forgesworn-bray-33eb25e/src/social/tools.ts :162
  • dm-send forgesworn-bray-33eb25e/src/social/tools.ts :228
  • dm-read forgesworn-bray-33eb25e/src/social/tools.ts :258
  • dm-by-name forgesworn-bray-33eb25e/src/social/tools.ts :273
  • dm-conversation forgesworn-bray-33eb25e/src/social/tools.ts :325
  • social-notifications forgesworn-bray-33eb25e/src/social/tools.ts :343
  • social-feed forgesworn-bray-33eb25e/src/social/tools.ts :359
  • feed-by-name forgesworn-bray-33eb25e/src/social/tools.ts :376
  • profile-by-name forgesworn-bray-33eb25e/src/social/tools.ts :420
  • contacts-get forgesworn-bray-33eb25e/src/social/tools.ts :461
  • contacts-search forgesworn-bray-33eb25e/src/social/tools.ts :474
  • contacts-follow forgesworn-bray-33eb25e/src/social/tools.ts :490
  • contacts-unfollow forgesworn-bray-33eb25e/src/social/tools.ts :515
  • nip-publish forgesworn-bray-33eb25e/src/social/tools.ts :538
  • nip-read forgesworn-bray-33eb25e/src/social/tools.ts :554
  • blossom-upload forgesworn-bray-33eb25e/src/social/tools.ts :571
  • blossom-list forgesworn-bray-33eb25e/src/social/tools.ts :584
  • blossom-delete forgesworn-bray-33eb25e/src/social/tools.ts :596
  • blossom-mirror forgesworn-bray-33eb25e/src/social/tools.ts :608
  • blossom-check forgesworn-bray-33eb25e/src/social/tools.ts :622
  • blossom-discover forgesworn-bray-33eb25e/src/social/tools.ts :635
  • blossom-verify forgesworn-bray-33eb25e/src/social/tools.ts :646
  • blossom-repair forgesworn-bray-33eb25e/src/social/tools.ts :658
  • blossom-usage forgesworn-bray-33eb25e/src/social/tools.ts :671
  • blossom-servers forgesworn-bray-33eb25e/src/social/tools.ts :683
  • group-info forgesworn-bray-33eb25e/src/social/tools.ts :700
  • group-chat forgesworn-bray-33eb25e/src/social/tools.ts :712
  • group-send forgesworn-bray-33eb25e/src/social/tools.ts :724
  • group-members forgesworn-bray-33eb25e/src/social/tools.ts :736
  • group-create forgesworn-bray-33eb25e/src/social/tools.ts :749
  • group-update forgesworn-bray-33eb25e/src/social/tools.ts :763
  • group-add-user forgesworn-bray-33eb25e/src/social/tools.ts :777
  • group-remove-user forgesworn-bray-33eb25e/src/social/tools.ts :789
  • group-set-roles forgesworn-bray-33eb25e/src/social/tools.ts :800
  • article-publish forgesworn-bray-33eb25e/src/social/tools.ts :816
  • article-read forgesworn-bray-33eb25e/src/social/tools.ts :842
  • article-list forgesworn-bray-33eb25e/src/social/tools.ts :858
  • search-notes forgesworn-bray-33eb25e/src/social/tools.ts :876
  • search-profiles forgesworn-bray-33eb25e/src/social/tools.ts :891
  • hashtag-feed forgesworn-bray-33eb25e/src/social/tools.ts :904
  • calendar-create forgesworn-bray-33eb25e/src/social/tools.ts :920
  • calendar-read forgesworn-bray-33eb25e/src/social/tools.ts :958
  • calendar-rsvp forgesworn-bray-33eb25e/src/social/tools.ts :980
  • badge-create forgesworn-bray-33eb25e/src/social/tools.ts :996
  • badge-award forgesworn-bray-33eb25e/src/social/tools.ts :1012
  • badge-accept forgesworn-bray-33eb25e/src/social/tools.ts :1029
  • badge-list forgesworn-bray-33eb25e/src/social/tools.ts :1045
  • community-create forgesworn-bray-33eb25e/src/social/tools.ts :1061
  • community-feed forgesworn-bray-33eb25e/src/social/tools.ts :1081
  • community-post forgesworn-bray-33eb25e/src/social/tools.ts :1095
  • community-approve forgesworn-bray-33eb25e/src/social/tools.ts :1108
  • community-list forgesworn-bray-33eb25e/src/social/tools.ts :1125
  • wiki-publish forgesworn-bray-33eb25e/src/social/tools.ts :1139
  • wiki-read forgesworn-bray-33eb25e/src/social/tools.ts :1163
  • wiki-list forgesworn-bray-33eb25e/src/social/tools.ts :1184
  • post-schedule forgesworn-bray-33eb25e/src/social/tools.ts :1206
  • post-queue-list forgesworn-bray-33eb25e/src/social/tools.ts :1227
  • publish-event forgesworn-bray-33eb25e/src/social/tools.ts :1240
  • post-queue-cancel forgesworn-bray-33eb25e/src/social/tools.ts :1261
  • trust-attest forgesworn-bray-33eb25e/src/trust/tools.ts :28
  • trust-claim forgesworn-bray-33eb25e/src/trust/tools.ts :55
  • trust-read forgesworn-bray-33eb25e/src/trust/tools.ts :83
  • trust-verify forgesworn-bray-33eb25e/src/trust/tools.ts :107
  • trust-revoke forgesworn-bray-33eb25e/src/trust/tools.ts :120
  • trust-request forgesworn-bray-33eb25e/src/trust/tools.ts :140
  • trust-request-list forgesworn-bray-33eb25e/src/trust/tools.ts :160
  • trust-proof-publish forgesworn-bray-33eb25e/src/trust/tools.ts :170
  • trust-ring-prove forgesworn-bray-33eb25e/src/trust/tools.ts :187
  • trust-ring-verify forgesworn-bray-33eb25e/src/trust/tools.ts :204
  • trust-spoken-challenge forgesworn-bray-33eb25e/src/trust/tools.ts :217
  • trust-spoken-verify forgesworn-bray-33eb25e/src/trust/tools.ts :232
  • trust-attest-parse forgesworn-bray-33eb25e/src/trust/tools.ts :251
  • trust-attest-filter forgesworn-bray-33eb25e/src/trust/tools.ts :267
  • trust-attest-temporal forgesworn-bray-33eb25e/src/trust/tools.ts :287
  • trust-attest-chain forgesworn-bray-33eb25e/src/trust/tools.ts :317
  • trust-attest-check-revoked forgesworn-bray-33eb25e/src/trust/tools.ts :335
  • trust-ring-lsag-sign forgesworn-bray-33eb25e/src/trust/tools.ts :355
  • trust-ring-lsag-verify forgesworn-bray-33eb25e/src/trust/tools.ts :378
  • trust-ring-key-image forgesworn-bray-33eb25e/src/trust/tools.ts :392
  • trust-spoken-directional forgesworn-bray-33eb25e/src/trust/tools.ts :407
  • trust-spoken-encode forgesworn-bray-33eb25e/src/trust/tools.ts :427
  • my-tool forgesworn-bray-33eb25e/src/util/schema.ts :24
  • decode forgesworn-bray-33eb25e/src/util/tools.ts :29
  • encode-npub forgesworn-bray-33eb25e/src/util/tools.ts :40
  • encode-note forgesworn-bray-33eb25e/src/util/tools.ts :48

declared dependencies 22

  • @forgesworn/range-proof@^2.0.1
  • @forgesworn/ring-sig@^3.0.0
  • @forgesworn/shamir-words@^1.0.4
  • @modelcontextprotocol/ext-apps@^1.3.1
  • @modelcontextprotocol/sdk@^1.27.1
  • canary-kit@^2.6.2
  • dominion-protocol@^1.0.0
  • nostr-attestations@^2.5.4
  • nostr-tools@^2.23.3
  • nostr-veil@^0.29.0
  • nsec-tree@^1.4.2
  • signet-protocol@^1.1.0
  • socks-proxy-agent@^10.0.0
  • spoken-token@^2.0.3
  • undici@^7.25.0
  • ws@^8.20.0
  • zod@^4.3.6
  • @types/node@^25.5.0
  • @types/ws@^8.18.1
  • @vitest/coverage-v8@^4.1.1
  • typescript@^6.0.2
  • vitest@^4.1.1