Nostr ecosystem observatory methodology included

Nostr data your agent can instantly work with.

MCP endpoints over key Nostr domains: Zapstore app economy, Marketplaces, Cashu nutzaps, Lightning providers, and more. No API key, no data infrastructure to run. Every response carries the methodology that explains to the agent how to reason through the data.

https://nostrolo.gy/mcp
or browse it yourself →
nostrology · streamable http nostrology-mcp
$ claude mcp add --transport http nostrology https://nostrolo.gy/mcp
Added nostrology - 3 tools (1 paid), 1 resource, no auth

> Which apps do Nostr users actually put in their public app stacks?

tool nostrology_query_metric { metric: "app_stack_count" }

metric: zapstore.app_stack_count | grain: current | unit: stacks
state: current snapshot, no time axis - never summed across calls
methodology: distinct kind-30267 (zapstore-app-stacks) lists referencing each app.

app_name              stack_count
Amber                          57
Amethyst                       46
Zapstore                       32
bitchat                        25

answer a snapshot, so the agent knows not to trend it.
01 Where it comes from

Computed ground up from Nostr events, not from somebody's summary.

Every figure traces back to Nostr events we read off the relays ourselves - no third-party index in the chain, and no number without the rule that produced it.

01 acquire

Straight off the relays

Continuous raw Nostr event acquisition across public relays.

02 archive

Scalable engine

Data engine that scales with the growth of the Nostr network itself.

03 derive

Documented methodology

Each metric states its population, its partition, and what it deliberately excludes.

04 serve

Charts and MCP, one source

Same underlying data powering MCP and the charts, so they cannot disagree.

02 Connect

One line in whatever harness you already run.

claude mcp add --transport http nostrology https://nostrolo.gy/mcp

Applies to new sessions. An agent with shell access can run this itself.

Streamable HTTP, so native remote-MCP clients take the URL directly.

Harness has no remote-MCP support?

Bridge the endpoint into a local stdio server with mcp-remote:

npx mcp-remote https://nostrolo.gy/mcp
03 The machine surface

Three tools. Three domains. One envelope.

Deliberately small: each tool routes its whole family by one parameter - metric or record - so an agent learns the surface once instead of memorising a dozen endpoints. Two are free. The third is priced in ecash, and tells you the price for nothing.

nostrology_query_metric

Quantitative metrics across three domains, all from the same archive, chosen by domain.

  • Zapstore - publishing and release series, zaps in millisats, and leaderboards with publisher and app filters.
  • Routstr - network, provider and model activity of the AI-inference marketplace, as its nodes self-report it.
  • Nutzaps - kind-9321 (nutzaps) payments and sats per day and per Cashu mint, the mint leaderboard, and active senders per mint by day, week or month, scoped by mint_url.

nostrology_query_reference

Qualitative records - entity data, no measures.

  • Zapstore - the catalog entry per app, the profile per publisher key, and release listings, newest first.
  • Routstr - provider profiles and reviews, the curated model catalog and its versions, and the exclusion ledger.
Every response is wrapped in an envelope
identityscopewindow / statefreshness (as_of) column contractmethodology caveatsuntrusted-text notice explicit truncationpayment receipt (paid calls)

Point an agent at it.

No API key, no signup.

https://nostrolo.gy/mcp