Ruflo
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
Beschreibung vom Entwickler (englisches Original)
Search German open educational resources (OER) via AMB/schema.org metadata, open licenses only.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
4/4 Prüfungen bestanden · Was du fragst, läuft über den Server des Anbieters (mcp.edufeed.org)
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude · etwa 2 Min.
Kein Schlüssel, nichts zu installieren · Einmal auf claude.ai oder in der Desktop-App einrichten, dann im Chat nutzen · kostenlose Konten können 1 hinzufügen
CustomizeConnectors
Kopiere jeden Wert in das gleichnamige Feld in Claude und klicke Continue
nope-mcp — Open Educational Resources searchhttps://mcp.edufeed.org/mcpAuthentication so lassen, wie Claude es erkannt hat, dann Add klicken
+Connectorsnope-mcp — Open Educational Resources search
Nutze nope-mcp — Open Educational Resources search und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es nope-mcp — Open Educational Resources search nutzt, oder ein Werkzeug von nope-mcp — Open Educational Resources search in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit ChatGPT nur in Firmen-Tarifen
ChatGPT Business, Enterprise oder Edu im Web, hinzugefügt von Admin oder Inhaber des Workspace · Mit Free, Plus oder Pro: Dein ChatGPT-Tarif kann MCP noch nicht selbst verbinden
Plugins+Add custom MCP server
Namen eingeben, Adresse unter Connection einfügen, Risikohinweis abhaken und Create as a plugin klicken
nope-mcp — Open Educational Resources searchhttps://mcp.edufeed.org/mcpNeuen Chat öffnen und vor dem Tippen nope-mcp — Open Educational Resources search aus deinen Plugins wählen
Nutze nope-mcp — Open Educational Resources search und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn ChatGPT sagt, dass es nope-mcp — Open Educational Resources search nutzt, oder ein Werkzeug von nope-mcp — Open Educational Resources search in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von OpenAI abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Claude Code · etwa 2 Min.
Kein Schlüssel, nichts zu installieren
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --transport http nope https://mcp.edufeed.org/mcpnope-mcp — Open Educational Resources search sollte in der Liste als verbunden erscheinen
Nutze nope-mcp — Open Educational Resources search und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es nope-mcp — Open Educational Resources search nutzt, oder ein Werkzeug von nope-mcp — Open Educational Resources search in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor · etwa 2 Min.
Kein Schlüssel, nichts zu installieren
Nutze nope-mcp — Open Educational Resources search und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es nope-mcp — Open Educational Resources search nutzt, oder ein Werkzeug von nope-mcp — Open Educational Resources search in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code · etwa 2 Min.
Kein Schlüssel, nichts zu installieren
VS Code fragt nach einer Bestätigung; klicke Install
Nutze nope-mcp — Open Educational Resources search und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es nope-mcp — Open Educational Resources search nutzt, oder ein Werkzeug von nope-mcp — Open Educational Resources search in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach
Adresse für Apps, die über das Web verbinden
https://mcp.edufeed.org/mcpJSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add --transport http nope https://mcp.edufeed.org/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"nope": {
"url": "https://mcp.edufeed.org/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"nope": {
"type": "http",
"url": "https://mcp.edufeed.org/mcp"
}
}
}Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Verbinden sich über das Internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Tool-Namen und -Beschreibungen genau so, wie der Server sie am 8. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.
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. Every learning resource is returned by default, whatever its license; each result carries license ({i
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).
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 sh
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.
relay_statsGet information about all selectable AMB relays (default and extra), including supported NIPs, relay name, and description.
list_relaysList 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.
relay_list_getGet 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.
skos_get_vocabularyFetch and parse a SKOS vocabulary from its URI. Returns the concept scheme with all concepts organized hierarchically.
skos_get_conceptGet details of a single SKOS concept by its URI, including broader, narrower, and related concepts.
skos_searchSearch for concepts in a SKOS vocabulary. By default searches prefLabel, altLabel, hiddenLabel, and definition.
list_known_authorsList 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.
resolve_authorResolve 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 it
resolve_publisherResolve 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"
search_calendar_eventsSearch for NIP-52 calendar events (date-based and time-based). Supports temporal filters (start/end time ranges), geohash location filtering, hashtag filtering, and the edufeed educational attributes (free, registrationRequired, attendanceMode, educationalLevel). Returns events f
list_calendar_authorsList 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_passagesTHE 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
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 11. Nov. 2026
Der Registry-Name wurde über die Domain edufeed.org bestätigt (die Registry prüft, wem die Domain gehört)
Code zuletzt geändert: vor 10 Tagen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 1665 ms (HTTP 200)
Keine Anmeldung nötig
Wir haben 18 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 4 von 4 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Das GitHub-Repo wurde zuletzt vor 10 Tagen geändert, und die neueste Version (0.4.0) kam vor 39 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL und funktioniert daher auch in Apps mit Remote-MCP, etwa ChatGPT Business und höher.
In derselben Kategorie: Ruflo, Context7, Metabase
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An MCP (Model Context Protocol) server for querying educational resources from AMB (Allgemeines Metadatenprofil für Bildungsressourcen) Nostr relays.
The canonical repository lives on Nostr (NIP-34) — browse it on gitworkshop.dev, or clone with the ngit remote helper:
git clone nostr://laoc.xyz/relay.ngit.dev/amb-mcp
Mirrors: git.edufeed.org/edufeed/nope-mcp · github.com/edufeed-org/nope-mcp. Issues and PRs are welcome on any of the three — Nostr PRs arrive as pr/* branches.
Releases are tagged (v0.1.0, …) and listed in CHANGELOG.md.
server.json is the manifest nope-mcp publishes to the official MCP Registry as org.edufeed/nope-mcp, pointing at the https://mcp.edufeed.org/mcp remote. Its version always matches package.json (enforced by test/server-json.test.ts).
Publishing is done with the registry's mcp-publisher CLI after DNS-based domain verification of edufeed.org (the registry proves ownership of the org.edufeed namespace via a TXT record, not a secret the CLI holds) — there is no key to manage and no command embeds one.
search_content) across educational resources, long-form articles, wikis, transferkiosk projects/measures, and NKBIP-01 scientific publications in one ranked callsearch_passages) — answers a question from the corpus's fulltext with citations, scoped by a grimoire spell (kind 777) or inline scope; requires the indexerresolve_author) for author-scoped queriesskos_*)extract_metadata(url | urls, variant, skosSchemes?) — fetch one or more public web pages, PDFs or office documents (docx/pptx/xlsx, odt/odp/ods, legacy doc/ppt; detected by content, not file name) and produce a complete AMB/EKW form-prefill payload. Returns OpenGraph fallback by default; with ANTHROPIC_API_KEY set, an LLM grounded in the configured SKOS vocabularies fills SKOS-typed fields with concept IDs and per-field evidence quotes. Concept ids follow NIP-VOCAB: the concept's i URI when it has one, else the canonical relay-less nostr:naddr1… of its kind-39738 event (never the raw 39738: : ). With several urls the first is authoritative; later sources that cannot be used (images, archives and other unreadable bodies → unsupported_type, fetch failures → fetch_failed, bodies over the size cap → page_too_large) are skipped and listed in skippedSources: [{url, code, reason}]. A failing first source fails the call with the same codes.import { extractMetadata } from 'nope-mcp/lib' for direct in-process use (e.g. SvelteKit server routes).bun install
Copy .env.example to .env and configure:
cp .env.example .env
| Name | Used by | Default | Description |
|---|---|---|---|
AMB_RELAYS | all transports | wss://relay.edufeed.org | Comma-separated AMB relay URLs. Queried by every content tool (search_content, search_resources, get_resource, browse_*, resolve_author, relay_stats) and used as default publish targets for the signing tools. |
AMB_EXTRA_RELAYS | all transports | _(empty)_ | Comma-separated AMB relay URLs that are *selectable but not searched by default*. search_content, search_resources, and get_resource accept a relays parameter naming relays from AMB_RELAYS ∪ AMB_EXTRA_RELAYS (anything else is rejected); list_relays advertises both groups as defaultRelays/extraRelays. Use this to expose alternative corpora (e.g. the OERSI and SODIX aggregation relays, wss://oersi.edufeed.org,wss://sodix.edufeed.org) on request without merging them into every search. Over HTTP this list also feeds the ?relays= connector parameter — see Choosing a connector's default relays. |
AMB_AUTHOR_SETS | all transports | _(empty)_ | Comma-separated naddr identifiers of NIP-51 follow sets (kind 30000). Loaded once at startup into the author directory served by list_known_authors; the returned pubkeys can then be passed to search_* tools as authors. |
CALENDAR_RELAYS | all transports | wss://relay.edufeed.org | Comma-separated NIP-52 calendar relay URLs for search_calendar_events. The AMB relay serves calendar events itself, so the default is the same relay; set this only for split deployments with a dedicated calendar relay. |
CALENDAR_AUTHOR_SETS | all transports | _(empty)_ | Same as AMB_AUTHOR_SETS, but for the calendar author directory served by list_calendar_authors. |
INDEXER_ENDPOINTS | search_passages | _(unset — tool disabled)_ | Comma-separated wss://relay=https://indexer pairs mapping each AMB relay to its amb-indexer base URL. Enables search_passages. |
INDEXER_API_TOKEN | search_passages | _(unset)_ | Bearer token for the indexer's /search_chunks (shared default for all endpoints). |
INDEXER_API_TOKENS | search_passages | _(unset)_ | Per-relay token overrides, comma-separated wss://relay=token pairs — each deployed indexer instance has its own token. Every INDEXER_ENDPOINTS entry must be covered by this or INDEXER_API_TOKEN; a partially tokened config fails at startup. |
LICENSE_FILTER_MAX | all transports | any | Ceiling for the learning-resource licenseFilter search parameter: 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) or any (also unlicensed and all-rights-reserved resources). A wider request is narrowed to the ceiling; search_resources, search_content and search_passages report the applied filter as licenseFilter and adds licenseFilterClamped: true when it narrowed. Other content kinds carry no license and are always included; get_resource is never filtered. An invalid value fails at startup. The legacy OPEN_LICENSES_ONLY=true still maps to open (false/0/no/off to any) when LICENSE_FILTER_MAX is unset, with a deprecation log line. |
RELAY_QUERY_TIMEOUT_MS | all transports | 25000 | Per-query timeout (milliseconds) for search_resources, search_content, and every other relay read. On a timeout the events already received are returned (not discarded) and the relay is reported in relaysIncomplete/timedOut diagnostics; the stalled subscription is closed rather than left open. Raise this if a relay routinely answers slower than the default (the amb-relay's own search budget is ~20s). An invalid (non-numeric or non-positive) value fails at startup. |
SPELL_RELAYS | search_passages | wss://relay.edufeed.org | Relays to fetch kind-777 spells (and kind-3 contact lists) from. |
LOG_LEVEL | all transports | info | Per-tool-call logging on stderr (stdout belongs to the stdio transport). Every call emits one JSON line: {"ts":"2026-09-14T12:00:00.000Z","tool":"search_passages","ms":412,"ok":true,"session":" ","args":{"question":"…","kinds":[30142]}} — ok is false for isError results, thrown errors, and text results whose JSON body carries an error code (typed failures such as relay_unreachable) — error then holds the message or code; strings in args are cut at 120 chars, arrays longer than five collapse to {length, head}. info (default) logs every call, warn/error log failures only, silent disables the lines. |
EDUFEED_APP_BASE_URL | all transports | _(unset)_ | Frontend base URL (no trailing slash, e.g. https://app.edufeed.org). When set, results from search_content, search_resources, get_resource, and search_calendar_events include a url field pointing at the edufeed-app viewer page ( / ) so LLM clients can render direct links. Unset means no url field. |
SERVER_PRIVATE_KEY | src/index.ts (+ discovery scripts) | required for Nostr transport | Nostr private key (nsec or hex) that is the server's own ContextVM identity. The derived pubkey is what clients connect to via cvmi use . Not read by the stdio or HTTP transports. |
RELAYS | src/index.ts (+ discovery scripts) | wss://relay.contextvm.org, wss://cvm.otherstuff.ai | Comma-separated relay URLs for ContextVM transport announcements and request/response traffic. Not read by the stdio or HTTP transports. |
ANTHROPIC_API_KEY | extract_metadata | _(unset)_ | Enables LLM-grounded SKOS field extraction. When unset the tool degrades gracefully to OpenGraph/JSON-LD-only output. |
ANTHROPIC_MODEL | extract_metadata | claude-sonnet-4-6 | Override the Anthropic model used for extraction. |
SKOS_SCHEMES | extract_metadata | _(unset)_ | JSON map { " ": " " } of default vocabularies used when the caller does not pass skosSchemes explicitly. |
VOCAB_RELAYS | extract_metadata | falls back to AMB_RELAYS | Relays used to resolve naddr1… SKOS scheme identifiers to relay-hosted vocabularies. |
SCHEME_NADDR_* | extract_metadata | _(unset)_ | Per-vocabulary naddr overrides (e.g. SCHEME_NADDR_HCRT, SCHEME_NADDR_SCHULFAECHER) mapping well-known scheme URIs to relay-hosted SKOS vocabularies. See .env.example for the full list. |
HTTP_*, OAUTH_* | src/http.ts only | see below | HTTP bind and OAuth resource-server settings — documented under Option 4. |
EMBED_TOKEN | docker-compose.yml only | _(unset)_ | Token for the embedding service used by the bundled local test relay. Not read by the server itself. |
claude mcp add nope-mcp -- bun run /path/to/nope-mcp/src/stdio.ts
This uses the default public relay (wss://relay.edufeed.org). To point at another relay — e.g. the local docker relay from Development — add -e AMB_RELAYS=ws://localhost:3337.
Start the server:
cvmi serve -- bun run src/stdio.ts
Connect from another machine:
cvmi use <server-pubkey>
bun run src/index.ts
For web-based MCP clients (Claude.ai connectors, MCP Inspector, custom browser apps):
bun run src/http.ts # dev
node dist/http.js # production (after npm run build)
| Variable | Default | Description |
|---|---|---|
HTTP_PORT | 3000 | Port to bind. |
| HTTP_HOST | 0.0.0.0