A side-by-side look at the Korean Secondary Learning Map MCP and Nope Mcp — Open Educational Resources search MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Korean Secondary Learning Map MCP for education work as a local process; choose Nope Mcp — Open Educational Resources search for education. You can also run both side by side in one mcpServers block.
list_curricula, search_standards, get_standard.SERVER_PRIVATE_KEY.search_resources, search_content, get_resource.Rows where the two servers differ are marked.
| Spec | N Nope Mcp — Open Educational Resources search | |
|---|---|---|
| Category | Education | Education |
| Quality signal | 63/100 · Good | 52/100 · Good |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | SERVER_PRIVATE_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 16 | 1 |
| Directory activity | 3 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 11 | 18 |
| Full listing | View Korean Secondary Learning Map MCP | View Nope Mcp — Open Educational Resources search |
list_curricula필터가 없으면 학교급·교과군 요약을 반환한다. schoolLevel 또는 subjectGroup을 주면 해당 과목 목록을 반환한다.search_standards성취기준을 코드·키워드·필터로 검색해 요약 목록을 반환한다. 상세는 get_standard로 조회한다.get_standard성취기준 코드([9과01-01] 또는 9과01-01)로 전체 레코드, 공식 원문, 연결된 주제 목록을 조회한다. 일부 코드는 두 과목이 공유하므로 subject로 구분한다.search_topics세부 학습 주제를 키워드·필터로 검색해 요약 목록을 반환한다. 상세는 get_topic으로 조회한다.search_standard_text성취기준 공식 원문 전문에서 키워드를 검색해 코드와 매칭 스니펫을 반환한다. 상세 원문은 get_standard의 officialText로 조회한다.get_topic주제 ID로 관찰 증거·평가 문항·출처를 포함한 전체 레코드를 조회한다.get_prerequisites주제의 선수(prerequisites) 또는 후속(unlocks) 관계를 조회한다. depth=all이면 전이적 학습 경로를 위상 순서로 반환한다.get_learning_roadmap과목의 성취기준을 영역→클러스터 계층으로 집계한 학습 로드맵을 반환한다. 기존 데이터의 집계이며 새로운 순서를 생성하지 않는다.list_clusters학습 클러스터 목록을 조회한다. clusterId를 주면 단건 전체 레코드, 없으면 요약 목록을 반환한다. 목록은 limit·offset으로 페이지를 넘긴다.get_transitions주제 ID 또는 성취기준 코드로 중학교→고등학교 학습 전이(심화 연계)를 양방향 조회한다. 근거 문서·쪽수를 포함한다.get_course_pathway과목명으로 고등학교 과목 간 권장 선후 관계(예: 영어Ⅰ→영어Ⅱ)를 조회한다. 공식 이수 제약이 아닌 학습 흐름 권장이다.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.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.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"korean-secondary-learning-map-mcp": {
"command": "npx",
"args": [
"-y",
"korean-secondary-learning-map-mcp"
]
}
}
}
No confirmed install command for Nope Mcp — Open Educational Resources search yet — follow the setup steps linked from its listing page rather than a guessed package name.