Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
Search and resolve Zenodo datasets, software, and publications by DOI; trace versions and funding.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
MCP_LOG_LEVEL, ZENODO_ACCESS_TOKEN비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://zenodo.caseyjhand.com/mcpClaude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"ZENODO_ACCESS_TOKEN": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http zenodo https://zenodo.caseyjhand.com/mcpclaude mcp add zenodo --env MCP_LOG_LEVEL=your-value --env ZENODO_ACCESS_TOKEN=your-value -- npx -y @cyanheads/zenodo-mcp-server실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"zenodo": {
"url": "https://zenodo.caseyjhand.com/mcp"
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"ZENODO_ACCESS_TOKEN": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"zenodo": {
"type": "http",
"url": "https://zenodo.caseyjhand.com/mcp"
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"zenodo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"ZENODO_ACCESS_TOKEN": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://zenodo.caseyjhand.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
MCP_LOG_LEVEL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 7일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
zenodo_search_recordsSearch Zenodo's open research repository — datasets, software releases, publications, and other deposits — by keyword query plus filters for resource type, community, funder, grant, creator ORCID, file type, license, access status, and publication date. Returns one summary per de
zenodo_get_recordResolve one Zenodo deposit from a record id, a Zenodo DOI (10.5281/zenodo.N), a concept DOI or concept record id (resolves to the latest version), another DOI deposited on Zenodo, or a zenodo.org or doi.org URL, and return its full metadata: description, creators with ORCIDs and
zenodo_list_versionsList every version of a Zenodo deposit's version series, newest first, with each version's record id, DOI, version label, publication date, file totals, and usage counts. Accepts any identifier zenodo_get_record accepts; a concept DOI and any single version's DOI list the same se
zenodo_list_filesPage through a Zenodo deposit's file manifest (key, size, MIME type, MD5, download URL, previewability), optionally filtered by a substring of the file key, or list the members inside one of its .zip files by setting archive_key. Restricted and embargoed files return the access s
zenodo_read_fileRead a bounded UTF-8 excerpt (up to 64 KiB per call) of one text file in a Zenodo deposit — a README, CITATION.cff, CSV head, notebook, or script — or of one member inside a .zip file, without downloading the archive. Continue a top-level file from next_offset. A file with a text
zenodo_lookup_vocabularyResolve names to the ids zenodo_search_records filters on, and browse Zenodo's reference vocabularies: communities (slug), funders (ROR id), awards and grants (award id), licenses (license id), and resource types (type id). Search by name, acronym, or keyword; awards can be scope
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 cyanheads 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
494ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 6개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: ZENODO_ACCESS_TOKEN
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Context7, Codebase Memory, Exa
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
@cyanheads/zenodo-mcp-server Search and resolve Zenodo datasets, software, and publications by DOI; trace versions and funding, list files, and preview text files via MCP. STDIO or Streamable HTTP. 6 Tools
Public Hosted Server: https://zenodo.caseyjhand.com/mcp
Datasets, software releases, and publications from Zenodo, CERN's open research repository. Search deposits with filters for funder, grant, community, license, and file type; resolve any Zenodo DOI, concept DOI, or URL to its record; walk a deposit's versions; and list, open, and preview its files, including members of .zip archives.
The published zenodo-guide covers selecting a cited release, resolving funding identities, and checking inspection coverage. Plugin installs include it; MCP clients can discover it through the Skills extension and its skill resources.
| Tool | Description |
|---|---|
zenodo_search_records | Search deposits by keyword plus type, community, funder, grant, ORCID, file type, license, access, and date filters, with facet counts |
zenodo_get_record | Resolve one deposit from a record id, DOI, concept DOI, or URL to its full metadata, first 25 files, and an optional citation |
zenodo_list_versions | List every version of a deposit's version series, newest first |
zenodo_list_files | Page a deposit's file manifest, or list the members of one of its .zip files |
zenodo_read_file | Read a byte-capped text excerpt of one file or .zip member |
zenodo_lookup_vocabulary | Resolve community, funder, grant, license, and resource-type names to the ids search filters take |
zenodo_search_records toolquery (terms OR-ed unless joined with AND, quoted phrases, field syntax such as metadata.title:"…") plus resource_type, community, funder, award, creator_orcid, file_type, license, access_status, and published_from / published_toresult_window_exceeded past that); latest versions only unless all_versions is truesort: bestmatch, newest, oldest, mostviewed, mostdownloaded, updated-desc, updated-asc (default bestmatch with a query, newest without)facets count resource types, access statuses, file types, subjects, and years over the full match setquery fails as query_is_identifier; a community or funder Zenodo doesn't know fails as unknown_community / unknown_funderquery_syntax, naming the offending token:community or all_versions set, any invalid syntax fails (climate AND AND model, metadata.title: with no value, 'single quotes', an unclosed [a TO b]), because Zenodo would search it as plain text and drop the filters. Without such a filter it runs as plain text and the notice says so/ (escape a literal one as \/), a trailing ! (climate\!), a range bound ending in a backslash (double-quote a bound holding a space, ], or }: [a TO "b]"]), and a boost, fuzziness, or proximity value Zenodo cannot convert (climate^1.2.3, "x y"~0.5; write ^2, ~0.5, "x y"~2)" inside a word (12" vinyl; escape it as 12\") fails without a filter; with one, the phrase is closed at the end of the query and the closed query is checked insteadzenodo_get_record toolid takes a record id, a Zenodo DOI, a concept DOI or concept record id (resolves to the latest version), another DOI registered to a Zenodo record, or a zenodo.org / doi.org URL; input_kind and resolved_from report how it resolvedlatest_recid, usage counts, and the first 25 fileszenodo_list_files) is listed in continuations with a cursor and the record id it is bound to; pass both back to get that field's next window (8,000 characters of text, or the next page of entries)citation_style: bibtex, csl-json, apa, chicago-author-date, harvard-cite-them-right, ieee, modern-language-association, or naturefound: false with miss_kind (not_found, deleted, restricted, not_on_zenodo) and guidance; a deleted record adds its removal tombstonezenodo_list_versions toolid forms as zenodo_get_record; a concept DOI and any version's DOI list the same seriestotal_versions, latest_recid, and the concept record id and DOIindex, is_latest, file totals, and unique views and downloadsfound: false with the same miss_kind, guidance, and tombstone as zenodo_get_recordzenodo_list_files toolpreviewable, and listable (a .zip); up to 200 per page via offset / limitarchive_key lists the members of one .zip; Zenodo lists at most 1,000 files and directories per archive, flagged by upstream_truncatedkey_contains filters keys or member paths case-insensitively before pagingrecord_not_found / record_deletedzenodo_read_file toolkey from zenodo_list_files, plus archive_member to read inside a .zip without downloading itmax_bytes from 256 (default 16,384), at most 65,536 per call (larger values return 65,536); continue a top-level file from next_offset; .zip members read from byte 0 onlystatus is text, not_text, restricted, or empty; excerpts end on a line or character boundaryapplication/octet-stream (LICENSE, Makefile) are returned only when their content is UTF-8 textrights and the download_urlzenodo_lookup_vocabulary toolvocabulary: communities, funders, awards, licenses, or resource_types; query by name, acronym, or keyword, or omit it to browsefilter_param and filter_value name the zenodo_search_records filter and the id to pass itfunder scopes awards to one funder, as a ROR id, ROR URL, or Crossref Funder DOIreachable beside totalBuilt on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
Zenodo-specific:
id; URLs are parsed locally and never fetchedtotal; community and funder values are checked before the search runsX-RateLimit-* headers, plus a process-local cache (records 5 min, searches 60 s, vocabularies 1 h).zip member reads, with binary detection before any text is returnedAgent-friendly output:
zenodo_get_record and zenodo_list_versions return found: false with a typed miss_kind, next-step guidance, and a deleted record's tombstoneeffectiveQuery sent to Zenodo and the appliedSort, and every paged tool reports totals with a next page or offset0, '', or falseConnect to the hosted instance, no install:
claude mcp add --transport http zenodo-mcp-server https://zenodo.caseyjhand.com/mcp
Or run it locally:
claude mcp add zenodo-mcp-server -- npx -y @cyanheads/zenodo-mcp-server
For other clients, add this to the MCP config file:
{
"mcpServers": { "zenodo-mcp-server": { "command": "npx", "args": ["-y", "@cyanheads/zenodo-mcp-server"] } } }
The hosted instance shares Zenodo's anonymous rate limit across callers. An optional Zenodo personal access token in ZENODO_ACCESS_TOKEN raises the rate limit of your own instance (-e ZENODO_ACCESS_TOKEN=your-token after the Claude Code server name, or an env entry). For Docker or a source build, see Running the server.
| Variable | Description | Default |
|---|---|---|
ZENODO_ACCESS_TOKEN | Zenodo personal access token, created with no scopes. Raises Zenodo's rate limit; tool behavior and page sizes are unchanged. | none |
MCP_TRANSPORT_TYPE | Transport: stdio or http. | stdio |
MCP_HTTP_PORT | HTTP server port. | 3010 |
| `MCP_SE
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요