← Registry

Learning Resources

edufeed.org

An MCP server for searching, browsing, and retrieving educational resources, including courses, videos, worksheets, articles, wikis, and scientific publications.

1 endpoint18 known toolsFirst detected October 3, 2026Last detected October 3, 2026

ENDPOINT 1

https://mcp.edufeed.org/mcp

No auth detected

MCP server metadata

Name
nope-mcp
Version
0.4.0
Capabilities
tools.listChangedresources.listChanged
Server instructions

nope-mcp is a search gateway to edufeed's open educational resources on Nostr: learning resources described with AMB metadata — a schema.org/LRMI-based profile for educational content — plus long-form articles, wiki pages, scientific publications, and educational calendar events. The default relay alone holds thousands of learning resources, and the optional extra relays (see list_relays) add tens of thousands more, for well over 100,000 resources across all relays combined. Search results for learning resources are limited to open licenses (CC0, the Public Domain Mark, CC BY, CC BY-SA); articles, wikis, publications, projects, measures and calendar events carry no license filter and are returned regardless of license. Most requests fall into one of two patterns: finding materials to browse, or getting a direct answer to a question with citations drawn from resources' fulltext — the sections below route each case to the right tool. Use these tools to answer questions about educational content, its authors, and upcoming events rather than reading the relays directly; identifiers like naddr, npub, and pubkey are NIP-19/Nostr values these tools return, so pass them back as-is rather than constructing them yourself. The routing guidance below gives example phrases in German, the language of edufeed's primary user base, but the same tool-call patterns apply to requests in any language. Two flows cover most questions: - By name ("materials or events by Jörg Lohrer"): call resolve_author(name) to turn a person or organisation name into pubkey candidates, then pass the chosen pubkey to search_content (and/or search_calendar_events) as authors:[pubkey]. - By topic ("materials on peace education"): call search_content, then hand a result's naddr to get_resource for full metadata. Route by INTENT before picking a search tool (when search_passages is available): - QUESTION intent — the user asks something and wants an answer ("wie kann ich Studierende aktivieren?", "was hilft bei …?"): use search_passages, answer FROM the returned fulltext passages, and cite each source (name + source_url/page). Phrase the question as a topical statement naming subject and target group ("Friedenserziehung in der Grundschule: Einstieg mit Kindern"), not the user's literal "Wie kann ich …?" — ranking is hybrid keyword+vector. A passage with a snippet but no text has no fulltext yet; say so. No source restriction from the user? Just pass the relevant content kinds (e.g. kinds:[30142]). Optionally follow up with search_content to offer browsable materials. - DISCOVERY intent — the user wants materials to browse ("finde/suche/empfiehl Materialien zu X"): use search_content and present the items as links. - AMBIGUOUS or very broad: ask ONE short clarifying question ("Möchtest du eine begründete Antwort aus den Materialien, oder eine Liste von Materialien zum Stöbern?") — and mention scoping options the user may not know exist: restricting to a publisher or author, a specific relay/corpus (list_relays), or a time window. When the user restricts the sources ("nur Content von X", "only from X"), route the restriction into scope parameters, never into the question/query text: a metadata publisher (most organisations: resolve_publisher(name) finds the exact spelling) goes into search as a quoted field filter, e.g. search:'publisher.name:"LEHRE LADEN"'; a Nostr signing account (resolve_author(name) → pubkey) goes into authors. Publisher names must be quoted inside the search value — an unquoted multi-word name silently matches nothing. Authorship has two distinct layers — never conflate them: eventAuthor is the Nostr signer/uploader (often an aggregator), while creator/publisher (on resources) are who actually made and published the material. "Who published this?" is answered by publisher, never by eventAuthor. Searches run against the default relay set. list_relays may advertise extraRelays — additional relays holding different corpora (e.g. a broader aggregation) that are only queried when you pass them via the relays parameter of search_content, search_resources, or get_resource. When a search on the defaults comes up short, or the user asks for a specific relay's holdings, check list_relays and re-search with relays set; fetch follow-up details with the same relays value the search used. The server also browses controlled vocabularies (browse_*, skos_* tools) and, for authenticated clients, signs and publishes new metadata (signer_*, create_and_publish_*).

Known tools 18

search_resources

Search for educational resources (learning materials, courses, videos, etc.

Inferred read-only
search_content

Topic 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).

Inferred read-only
get_resource

Retrieve a single piece of content by naddr (preferred — pass a search_content result's naddr), d-tag identifier, or event ID.

Inferred read-only
browse_subjects

List available subjects/topics in the educational resource collection.

Inferred read-only
browse_resource_types

List available learning resource types (Video, Course, Worksheet, etc.

Inferred read-only
browse_educational_levels

List available educational levels (Primary, Secondary, Higher Education, etc.

Inferred read-only
relay_stats

Get information about all selectable AMB relays (default and extra), including supported NIPs, relay name, and description.

Inferred read-only
list_relays

List the configured AMB relays.

Inferred read-only
relay_list_get

Get a user's NIP-65 relay list (kind 10002).

Inferred read-only
skos_get_vocabulary

Fetch and parse a SKOS vocabulary from its URI.

Inferred read-only
skos_get_concept

Get details of a single SKOS concept by its URI, including broader, narrower, and related concepts.

Inferred read-only
skos_search

Search for concepts in a SKOS vocabulary.

Inferred read-only
list_known_authors

List known educational resource authors loaded from configured follow sets (NIP-51 kind 30000).

Inferred read-only
resolve_author

Resolve an org or person NAME to candidate pubkeys using the relay's kind-0 author-profile index (NIP-50 search).

Inferred read-only
resolve_publisher

Resolve an actor name (organization or person) to the EXACT spelling used in the AMB metadata, so it can be passed to the publisherName/creatorName filters of search_resources.

Inferred read-only
search_calendar_events

Search for NIP-52 calendar events (date-based and time-based).

Inferred read-only
list_calendar_authors

List known calendar event authors loaded from configured follow sets (NIP-51 kind 30000).

Inferred read-only
search_passages

THE DEFAULT TOOL FOR QUESTION-SHAPED QUERIES ("wie/warum/was hilft bei X?

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.nope-mcp]
url = "https://mcp.edufeed.org/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "nope-mcp": {
      "type": "http",
      "url": "https://mcp.edufeed.org/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: nope-mcp
Remote MCP URL: https://mcp.edufeed.org/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "nope-mcp": {
      "url": "https://mcp.edufeed.org/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "nope-mcp": {
      "type": "http",
      "url": "https://mcp.edufeed.org/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "nope-mcp",
  "transport": "streamable-http",
  "url": "https://mcp.edufeed.org/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.