mcpbeat Sign in

nope-mcp — Open Educational Resources search MCP Server

answering

nope-mcp — Open Educational Resources search is answering right now. Last checked 5 min ago. It exposes 18 tools. Last commit 1 Nov 2026.

Search German open educational resources (OER) via AMB/schema.org metadata, open licenses only.

Uptime history 30 days of history · worst day 82%
30 days agonow
100.0%
Uptime 24h
91 of 91 checks
18
Tools
read from the server
298 ms
Response time
average over 24h
1
Stars
last commit 1 Nov 2026

What changed 19

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 28 October 2026. No other catalogue keeps this.

1 Nov 4 tool descriptions were rewritten get_resource, search_content, search_passages and 1 more
1 Nov 3 tools changed the parameters they ask for search_content, search_passages, search_resources
29 Oct 4 tool descriptions were rewritten get_resource, search_content, search_passages and 1 more
29 Oct 3 tools changed the parameters they ask for search_content, search_passages, search_resources
29 Oct a tool changed version2 times that day
28 Oct a tool changed version3 times that day
and 3 more, back to 28 October 2026

nope-mcp — Open Educational Resources search does not always answer

Over the last week it answered 99.4% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add nope-mcp --transport http https://mcp.edufeed.org/mcp
Settings → Connectors → Add custom connector, then paste this address
https://mcp.edufeed.org/mcp
~/.codex/config.toml
[mcp_servers.nope-mcp]
url = "https://mcp.edufeed.org/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "nope-mcp": {
      "url": "https://mcp.edufeed.org/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "nope-mcp": {
      "type": "http",
      "url": "https://mcp.edufeed.org/mcp"
    }
  }
}

Available tools 18

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

browse
browse_educational_levels
List available educational levels (Primary, Secondary, Higher Education, etc.) with resource counts.
browse_resource_types
List available learning resource types (Video, Course, Worksheet, etc.) with resource counts.
browse_subjects
List available subjects/topics in the educational resource collection. Returns subjects with their labels and resource counts.
skos
skos_get_concept
Get details of a single SKOS concept by its URI, including broader, narrower, and related concepts.
skos_get_vocabulary
Fetch and parse a SKOS vocabulary from its URI. Returns the concept scheme with all concepts organized hierarchically.
skos_search
Search for concepts in a SKOS vocabulary. By default searches prefLabel, altLabel, hiddenLabel, and definition.
calendar
list_calendar_authors
List known calendar event authors loaded from configured follow sets (NIP-51 kind 30000). Returns author names, pubkeys, and NIP-05 identifiers. Use the returned pubkeys with search_calendar_events(authors: [...]) to filter events by author.
search_calendar_events
Search for NIP-52 calendar events (date-based and time-based). Supports temporal filters (start/end time ranges), geohash location filtering, and hashtag filtering. Returns events from the configured calendar relay. When presenting an event to the user, render it as a markdown link: prefer the event `url` (the edufeed-app viewer at <base>/<naddr>, which shows fuller details) over `sourcePage` (the original external event page). Never construct an naddr or viewer URL yourself — use the `naddr`/`url` fields as returned.
relay
relay_list_get
Get a user's NIP-65 relay list (kind 10002). Returns read and write relays for the specified pubkey. If no pubkey provided, uses the connected signer's pubkey.
relay_stats
Get information about all selectable AMB relays (default and extra), including supported NIPs, relay name, and description.
resolve
resolve_author
Resolve an org or person NAME to candidate pubkeys using the relay's kind-0 author-profile index (NIP-50 search). Use this to answer name-driven content questions like "recent articles and resources of Jörg Lohrer": call resolve_author(name), pick the best candidate, then pass its pubkey to search_content({ authors: [pubkey], ... }) (and/or search_calendar_events) to fetch that author's content. Returns several candidates ranked by relevance so you can disambiguate. This indexes authors who have published content here — distinct from list_known_authors, which lists hand-curated follow sets. NOTE: this resolves only kind-0 author profiles. It does NOT resolve a community's identifying pubkey — a community is defined by a kind-10222 event and frequently has no kind-0 at all. To list content shared into a community you need that community pubkey (a Nostr identifier, e.g. from the community's spec/naddr), which you pass to the `community` param of search_content / search_calendar_events. resolve_author CAN, however, find a community's posting account (e.g. a "…-Termine-Bot") when that account has a kind-0; querying that pubkey via authors:[...] returns the content it published. A wrong pick simply yields empty results.
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. Those filters are exact full-string matches (case-insensitive), so a guessed spelling like "Lehreladen" silently misses the stored "LEHRE LADEN". This tool free-text searches the name and returns the similar publisher/creator names found in the corpus, with the field they appear in and a resource count. Distinct from resolve_author, which resolves Nostr signing accounts (kind-0 profiles) to pubkeys — metadata publishers usually have no Nostr account at all.
content
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). 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. Every learning resource is returned by default, whatever its license; each resource result carries license ({id, label}, or null when unlicensed) and accessLevel ("full" for Creative Commons, Public Domain and free software/documentation licenses, and DINI-AG-KIM license types that resolve to one of these; "metadata-only" otherwise). Snippets and passages exist only for accessLevel:"full" resources — present a "metadata-only" resource by its title, description, license and link, never quoted beyond its metadata, and always name the license and the creator/publisher. licenseFilter narrows the results: "open" = CC0, Public Domain, CC BY, CC BY-SA, their DINI-AG-KIM license-type equivalents, and free software/documentation licenses (GPL, LGPL, AGPL, GFDL, MIT, Apache 2.0, BSD); "cc-any" = all of "open" plus every other Creative Commons license, incl. KIM non-commercial/no-derivatives; "any" = also unlicensed and all-rights-reserved resources. The other content types carry no license and are always 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.
known
list_known_authors
List known educational resource authors loaded from configured follow sets (NIP-51 kind 30000). Returns author names, pubkeys, and NIP-05 identifiers. Use the returned pubkeys with search_resources(authors: [...]) to filter resources by author.
passages
search_passages
THE DEFAULT TOOL FOR QUESTION-SHAPED QUERIES ("wie/warum/was hilft bei X?", "how do I…?"): retrieves the best-matching fulltext passages from the corpus and returns them with citations (source resource, page, heading, source URL) — answer the user FROM the passages and cite each source. (For discovery intent — "finde/empfiehl Materialien" — use search_content instead, or afterwards to offer browsable links.) Keep `question` topic-only. Ranking is hybrid keyword+vector, so phrase the question as a topical statement that names the subject and the target group ("Friedenserziehung in der Grundschule: Einstieg in das Thema Frieden mit Kindern"), not as the user's literal sentence ("Wie kann ich …?"). Results are capped at two passages per document; a passage with only a snippet and no text has no fulltext yet — say so instead of guessing. Passages come from learning resources under Creative Commons, Public Domain and free software/documentation licenses, and DINI-AG-KIM license types that resolve to one of these and from articles, wikis, publications and the other content kinds. Other matching learning resources appear in `metadataOnlyMatches` (naddr, title, license, creator/publisher, sourcePage) without text, because their license does not permit quoting — point the user to them by title, license and link, never quote or paraphrase them as content. Cite the license and the creator/publisher with every learning-resource passage. licenseFilter narrows learning resources: "open" = CC0, Public Domain, CC BY, CC BY-SA, their DINI-AG-KIM license-type equivalents, and free software/documentation licenses (GPL, LGPL, AGPL, GFDL, MIT, Apache 2.0, BSD); "cc-any" = all of "open" plus every other Creative Commons license, incl. KIM non-commercial/no-derivatives (normally no metadataOnlyMatches); "any" = also unlicensed and all-rights-reserved resources, as metadataOnlyMatches. Scope is required but simple: with no source restriction from the user, pass the content kinds (e.g. kinds:[30142] for educational resources, [30040,30041] for publications, [30023] for articles). Route source restrictions ("nur Content von X") into the scope parameters: a metadata publisher (most organisations — resolve_publisher finds the exact spelling) goes into `search` as a QUOTED field filter, e.g. search:'publisher.name:"LEHRE LADEN"' (unquoted multi-word names match nothing); a Nostr signing account (resolve_author → pubkey) goes into `authors`. A published grimoire spell (kind 777, nevent or event id) can replace inline scope entirely; the response carries the canonical spell for whatever scope was used — publish it (e.g. via grimoire) to make the scope reusable. Spells may use $me/$contacts; they resolve to the calling user (pass `me` if the transport is anonymous). Fails rather than widening scope: an empty scope, unreachable relay (relay_unreachable — tell the user to retry), or unreachable index is a typed error, never a silently unscoped search.
relays
list_relays
List the configured AMB relays. defaultRelays are searched on every query; extraRelays hold different corpora (e.g. the OERSI aggregation) and are only searched when a search/get tool call passes them in its relays parameter.
resource
get_resource
Retrieve 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. get_resource is never license-filtered: a learning resource carries license ({id, label}, or null when unlicensed) and accessLevel ("full" for Creative Commons, Public Domain and free software/documentation licenses, and DINI-AG-KIM license types that resolve to one of these; "metadata-only" otherwise). Only accessLevel:"full" resources have indexed fulltext, snippets and passages — present a "metadata-only" resource by its title, description, license and link, never quoted beyond its metadata, and always name the license and the creator/publisher. openLicense is kept for compatibility (deprecated; use accessLevel). 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.
resources
search_resources
Search for educational resources (learning materials, courses, videos, etc.) using full-text search and metadata filters. Returns resources matching the query from the AMB relay. Every learning resource is returned by default, whatever its license; each result carries license ({id, label}, or null when unlicensed) and accessLevel ("full" for Creative Commons, Public Domain and free software/documentation licenses, and DINI-AG-KIM license types that resolve to one of these; "metadata-only" otherwise). licenseFilter narrows the results: "open" = CC0, Public Domain, CC BY, CC BY-SA, their DINI-AG-KIM license-type equivalents, and free software/documentation licenses (GPL, LGPL, AGPL, GFDL, MIT, Apache 2.0, BSD); "cc-any" = all of "open" plus every other Creative Commons license, incl. KIM non-commercial/no-derivatives; "any" = also unlicensed and all-rights-reserved resources. When citing a resource, always name its creator and publisher. 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.

Endpoints

URLTransportStateLatencyChecked
https://mcp.edufeed.org/mcp streamable-http answering 486 ms 5 min ago

Alternatives to nope-mcp — Open Educational Resources search

same job, measured the same way
Nl Openapi MCP
by rubato103

National Library of Korea Seoji OpenAPI search via REST API and local metadata harvesting

local only
Svg/icons MCP
by svgicons

320K+ open-source SVG icons: 12 tools, anonymous metadata search; SVG, exports, collections via Pro.

12 tools answering
Ukraine Schools MCP
by ukraine-territorial-mcp

Ukrainian schools, community search and education budgets. Sources: EDBO, KATOTTG, Open Budget.

3 tools answering
Hal Fr
by pipeworx-io

HAL (Hyper Articles en Ligne) MCP — French national open research archive.

368 installs/wk 48 tools answering
Etsy
by pipeworx-io

Etsy MCP — public listing search via Etsy Open API v3 (api_key auth only)

459 installs/wk 47 tools answering
Licenses
by pipeworx-io

Open-source licenses MCP (SPDX).

393 installs/wk 47 tools answering
Spdx MCP
by mrfentmen

Use this MCP server to SPDX open source license metadata and compatibility helpers. Tools...

57 installs/wk local only
NLP.COM.AI Open Model Catalog
by com-nlp

Search curated open-weight AI model releases, licenses, architectures, and primary sources.

3 tools answering

nope-mcp — Open Educational Resources search — questions

Answers built from our own checks of this server.

What can nope-mcp — Open Educational Resources search do?
It exposes 18 tools, read directly from the server on our last check. Among them: browse_educational_levels, browse_resource_types, browse_subjects, get_resource, list_calendar_authors, list_known_authors and 12 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is nope-mcp — Open Educational Resources search mostly used for?
Its tools cluster around skos, browse and relay. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is nope-mcp — Open Educational Resources search working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 298 ms. The bar chart above shows every period we have measured.
How do I connect nope-mcp — Open Educational Resources search?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does nope-mcp — Open Educational Resources search need an API key?
No. nope-mcp — Open Educational Resources search completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 18 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is nope-mcp — Open Educational Resources search?
It answers our handshake in 298 ms on average, which is faster than 48% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is nope-mcp — Open Educational Resources search open source?
The code is open source: it is published under the AGPL-3.0 licence, written in TypeScript and 1 stars on GitHub. The licence covers the code in the repository, not the hosted service at mcp.edufeed.org, which runs on its operator's own terms.