Searches German open educational resources through AMB metadata and returns only openly licensed learning materials.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Nope Mcp β Open Educational Resources search.
search_resourcesSearch for educational resources (learning materials, courses, videos, etc.) using full-text search and metadata filters. Returns resources matching the query from the AMB relay. Only openly licensed resources are returned (CC0, Public Domain, CC BY, CC BY-SA); NC/ND, all-rights-reserved and unlicensed resources are left out. NOTE: the metadata filters (publisherName, creatorName, subjectLabel, resourceTypeLabel, educationalLevelLabel) are EXACT full-string matches against the stored metadata (case-insensitive) β not fuzzy or substring searches. A guessed spelling silently returns 0 results; use resolve_publisher to find the canonical actor spelling first. On a zero-match actor filter the response includes actorCandidates with similar spellings to retry with.
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:<term>, or partOf:30143:<pubkey>:<d> ("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.
get_resourceRetrieve a single piece of content by naddr (preferred β pass a search_content result's naddr), d-tag identifier, or event ID. naddrs of ANY content type from search_content work (resources, articles, wikis, projects, measures, publications); non-resource kinds return the same shape as their search results. Bare identifier/eventId lookups (no naddr) always resolve the full educational-resource metadata (kind 30142), including creator/publisher and educational properties. Lookups are not license-filtered: a learning resource carries openLicense (true for CC0, Public Domain, CC BY, CC BY-SA β the open licenses that search results are currently limited to). When presenting the resource, render a markdown link the user can open: prefer its sourcePage (the original source page); fall back to url (the edufeed viewer) only when sourcePage is absent.
browse_subjectsList available subjects/topics in the educational resource collection. Returns subjects with their labels and resource counts.
browse_resource_typesList available learning resource types (Video, Course, Worksheet, etc.) with resource counts.
browse_educational_levelsList available educational levels (Primary, Secondary, Higher Education, etc.) with resource counts.
nope-mcp β Open Educational Resources search exposes educational content and related Nostr data through the Model Context Protocol. Its main collection is based on AMB metadata and contains learning materials such as courses, videos, and worksheets. Resource search results are limited by default to CC0, Public Domain, CC BY, and CC BY-SA materials; resources with NC, ND, all-rights-reserved, or missing licenses are excluded from searches.
The server also searches articles, wikis, projects, measures, and NKBIP-01 publications. search_content is suited to discovery, while search_passages retrieves full-text excerpts with source details for question-shaped requests. Individual items can be opened with get_resource, using a returned naddr, event ID, or other supported identifier.
Queries run against configured AMB relays. search_resources combines full-text search with filters for publisher, creator, subject, resource type, and educational level. These metadata filters use case-insensitive exact full-string matching, so applications should call resolve_publisher before filtering by an organisation or person when the stored spelling is unknown.
search_content interleaves supported content types and can return a matched snippet. For answers grounded in source text, search_passages uses an indexer and returns passages with citations such as the source, page, heading, and URL. Its scope must be specified through content kinds, metadata filters, authors, or a published scope spell; it does not silently broaden an empty or unavailable scope.
Additional tools list subjects, resource types, educational levels, configured relays, relay statistics, known authors, and calendar authors. Author resolution and publisher resolution serve different purposes: the former finds Nostr signing accounts, while the latter finds exact AMB metadata names. SKOS tools fetch vocabularies, concepts, and labels for controlled-term lookup.
Install the project with Bun using bun install, then copy .env.example to .env. AMB_RELAYS sets the default AMB relay list and defaults to wss://relay.edufeed.org. AMB_EXTRA_RELAYS makes additional corpora selectable without adding them to every search. OPEN_LICENSES_ONLY defaults to enabled and can be disabled when unfiltered resource results are required.
Passage search is disabled unless INDEXER_ENDPOINTS is configured. The indexer authentication can use INDEXER_API_TOKEN or per-relay values in INDEXER_API_TOKENS. Calendar queries use CALENDAR_RELAYS. EDUFEED_APP_BASE_URL optionally adds viewer links to returned content and event records.
The repository supports stdio, HTTP, and Nostr-related operation. SERVER_PRIVATE_KEY is required for the Nostr transport, but is not read by stdio or HTTP transports. RELAYS configures ContextVM announcements and traffic for that transport. Other settings control logging, author follow sets, vocabulary relays, and optional metadata extraction behavior.
The collection is focused on German open educational resources and the configured relay corpora, not the entire public web. Exact metadata filters can return zero results for a spelling that differs from the stored value; actor candidates may be returned to help retry the query. search_passages depends on an available indexer, and passages without full text should not be treated as evidence.
Results can distinguish the Nostr event signer from the resource creator or publisher. Applications should present the latter as the content owner when that metadata is available. When rendering links, prefer a returned original source page, then a supplied viewer URL or resource URL; clients should not construct naddr-based links themselves.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nope-mcp-open-educational-resources-search)<a href="https://allmcps.com/mcp/nope-mcp-open-educational-resources-search"><img src="https://allmcps.com/api/badge/nope-mcp-open-educational-resources-search?style=directory" alt="Nope Mcp β Open Educational Resources search on AllMCPs" /></a>