Search Educational Content (resources, articles, wikis, projects, measures, publications)
search_contentTopic search across ALL content types on the relay in one ranked call: educational resources (kind 30142), long-form articles/blogs (30023), wikis (30818), projects (30143), measures (30144), and NKBIP-01 publications (30040 indices + 30041 sections — scientific articles, books). Results are interleaved and ranked by semantic passage match, and each carries the matched passage ("snippet") when available — use it to answer the user, not just list links. Educational resources are returned only when openly licensed (CC0, Public Domain, CC BY, CC BY-SA); the other content types carry no license and are all included. This is the tool for DISCOVERY intent — the user wants materials to browse ("finde/suche/empfiehl Materialien zu X"): present the items. For QUESTION intent — the user wants an answer built from the content ("wie/warum/was hilft bei X?") — prefer search_passages, which returns quotable fulltext passages with citations; this tool then supplements the answer with browsable links. Each result carries eventAuthor (the Nostr signer who uploaded the event — often an aggregator) plus, for resources, creator/publisher (who actually made and published the resource); these can differ, so do not treat eventAuthor as the publisher. For full metadata (license, dates, complete entity lists) pass a result's naddr to get_resource. Publication facets ride inside the query string as NIP-50 field filters: append type:academic, doi:10.1234/abcd.5678, keywords:, or partOf:30143:: ("publications of a project") to the query — the relay resolves them server-side. When presenting results to the user, render each as a markdown link so they can open it directly — prefer sourcePage (the original external source page, present on most resources and on projects/measures/publications), then url, then naddr. For upcoming events on the same topic, follow up with search_calendar_events.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (1-250, default 20). | |
| query | No | Free-text topic (e.g., "Unaufmerksamkeit im Seminar"). Keep it to the TOPIC only — do not append actor/organization names ("… Lehreladen"): they dilute the semantic ranking and the actor's content drops out of the top results. To constrain by actor, resolve the name first (resolve_author → authors param here; or resolve_publisher → search_resources publisherName). | |
| since | No | Created at or after this Unix timestamp. | |
| types | No | Restrict to a subset of content types. Default: all of them. | |
| until | No | Created at or before this Unix timestamp. | |
| relays | No | Restrict the search to specific relays. Only relays returned by list_relays (default or extra) are accepted, by full URL or short name (e.g. "oersi", "sodix"). Default: the default relay set. | |
| authors | No | Filter by author pubkeys (hex). | |
| language | No | Label language (default "de"). | de |
| community | No | Return content shared into this community (Communikey). Accepts a hex pubkey or npub. Resolve a community name to its pubkey with resolve_author. Combine with query to scope a topic to a community (e.g. "math resources shared with X"). |