protogrid

Search / com.frontiercrown.signer/nostr-signer

Nostr Signer

R0· no sign-in

Approve Nostr signatures with your own browser signer without exposing a private key.

v0.4.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust90of 100
Uptime, 30 days100%
Latency p50326 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "nostr-signer": {
      "type": "http",
      "url": "https://signer.frontiercrown.com/mcp"
    }
  }
}
claude mcp add --transport http nostr-signer https://signer.frontiercrown.com/mcp
[mcp_servers.nostr-signer]
url = "https://signer.frontiercrown.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nostr-signer": {
      "type": "remote",
      "url": "https://signer.frontiercrown.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "nostr-signer": {
      "type": "http",
      "url": "https://signer.frontiercrown.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=nostr-signer&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2lnbmVyLmZyb250aWVyY3Jvd24uY29tL21jcCJ9"
}
{
  "servers": {
    "nostr-signer": {
      "type": "http",
      "url": "https://signer.frontiercrown.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "nostr-signer": {
      "httpUrl": "https://signer.frontiercrown.com/mcp"
    }
  }
}
extensions:
  "nostr-signer":
    enabled: true
    name: "nostr-signer"
    type: streamable_http
    uri: "https://signer.frontiercrown.com/mcp"
    timeout: 300

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations17 of 17 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: prepare_grynvault_supporter_invoice (idempotentHint); publish_event (idempotentHint); create_grynvault_supporter_invoice (idempotentHint); …
  • pass
    tools.token_costabout 2,162 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

17 tools, about 2,162 tokens to load them all · tool set e61c4c6bf762 · checked 2026-10-21 01:38 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 90 / 100

provenance75
liveness100
freshness85
hygiene100

+repository +dns-namespace +reachable +uptime-100% ~updated-40d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://signer.frontiercrown.com/mcp streamable-httpnoneyes100%326 ms2025-11-252026-10-20

Tools (17)

approve_grynvault_browser_handoffSign a short-lived, read-only Grynvault account handoff code so the browser tab that created it can receive its own dashboard. This does not create an invoice, publish a Nostr event, change settlement, or grant wallet custody.
begin_nostrconnect_pairingAdvanced fallback: create a nostrconnect:// URI for the user to scan or open in a remote signer. Never accepts an nsec.
connect_bunkerConnect a bunker:// URI only when the user knowingly supplied it. Prefer the local setup page so connection secrets are not placed in chat. Never accepts an nsec.
create_grynvault_nip05_invoiceAfter separate explicit user confirmation, sign the prepared authorization and create exactly one pending 2,000-sat [email protected] invoice. Does not pay, settle, activate, or prove identity.
create_grynvault_supporter_invoiceAfter separate explicit user confirmation, sign the prepared authorization and create exactly one pending Grynvault supporter invoice. Does not pay it and never treats a redirect as settlement.
disconnect_signerdestructiveForget the in-memory signer session and all prepared events.
get_grynvault_account_dashboardread-onlyRead the connected Nostr identity's Grynvault supporter, payment, and NIP-05 dashboard using a short-lived signed authorization. This does not create an invoice or change settlement.
get_public_keyread-onlyReturn the public key exposed by the currently paired signer.
get_setup_urlread-onlyReturn the loopback-only page used to connect a NIP-07 browser extension or an advanced NIP-46 signer.
get_signer_statusread-onlyCheck whether a user-controlled NIP-07 or NIP-46 signer is connected.
prepare_eventread-onlyValidate and bind an exact unsigned Nostr event for user review. This does not sign or publish. Show the user every field before requesting a signature.
prepare_grynvault_nip05_invoiceread-onlyCheck and normalize a [email protected] identifier, then prepare its exact 2,000-sat invoice authorization. Does not sign, reserve the name, create, pay, or settle an invoice.
prepare_grynvault_supporter_invoiceread-onlyPrepare an exact, short-lived signed-authorization request for a one-time donation of 21 to 1,000,000 sats or the fixed 2,100-sat 30-day membership. Does not sign, create, pay, or settle an invoice.
prepare_noteread-onlyPrepare and bind an exact unsigned kind:1 note for user review. This does not sign or publish.
publish_eventdestructivePublish a previously verified signed event to configured relays. Requires separate explicit user intent.
query_eventsread-onlyRead a bounded set of verified public profile or note events from selected relays.
sign_eventAsk the paired signer to approve and sign the exact event bound to a fresh intent. Requires explicit user intent and never publishes.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.frontiercrown.signer/nostr-signer",
  "title": "Nostr Signer",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://signer.frontiercrown.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.4.0",
  "repository": {
    "url": "https://github.com/hudhaifahz/nostr-signer-chatgpt",
    "source": "github"
  },
  "description": "Approve Nostr signatures with your own browser signer without exposing a private key."
}