Skip to main content
Glama

zenodo-mcp-server

Server Details

Search and resolve Zenodo datasets, software, and publications by DOI; trace versions and funding.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/zenodo-mcp-server
GitHub Stars
1
Server Listing
zenodo-mcp-server

TDQS

Score is being calculated.

Available Tools

6 tools
zenodo_get_recordGet a Zenodo record
Read-onlyIdempotent
Inspect

Resolve 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 ROR affiliations, license, access and embargo, funding and grants, related identifiers, communities, version position, usage counts, and the first 25 files. Optionally includes a formatted citation. A miss (an unknown id, a deleted record with its removal tombstone, restricted metadata, or a DOI not registered on Zenodo) returns found: false with guidance instead of an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe deposit to resolve: a record id (22705923), a Zenodo DOI (10.5281/zenodo.22705923, doi: prefix and any case accepted), a concept DOI or concept record id such as 10.5281/zenodo.591564 (resolves to the latest version), another DOI registered to a Zenodo record, or a zenodo.org/records or doi.org URL.
citation_styleNoInclude a formatted citation of the resolved version: bibtex, csl-json, or a text style (apa, chicago-author-date, harvard-cite-them-right, ieee, modern-language-association, nature). Case, spaces, hyphens, and underscores are ignored when matching (BibTeX, APA, CSL JSON). Omit for none.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoMaximum file entries shown (25).
errorNoPresent when the call failed. Absent on success.
foundNoTrue when the record resolved.
shownNoFile entries shown.
noticeNoFile access notes or a pointer to zenodo_list_files.
recordNoThe record. Present when found.
citationNoThe formatted citation. Present when requested and found.
guidanceNoWhat to do next. Present when not found.
miss_kindNoWhy nothing resolved. Present when not found.
tombstoneNoRemoval tombstone. Present when miss_kind is deleted.
truncatedNoTrue when the record has more files than the 25 shown.
input_kindNoHow id was parsed: record_id (digits), zenodo_doi (10.5281/zenodo.N or zenodo.N), external_doi (another DOI), or url (a zenodo.org or doi.org link).
resolved_fromNoHow the record was reached: a version id, a concept id resolved to the latest version, or a non-Zenodo DOI. Present when found.
citation_styleNoThe citation style used. Present with citation.
zenodo_list_filesList Zenodo record files
Read-onlyIdempotent
Inspect

Page 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 status and embargo date with no entries. Read a small text file or ZIP member with zenodo_read_file.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe deposit: a record id (22705923), a Zenodo DOI (10.5281/zenodo.22705923), another DOI registered to a Zenodo record, or a zenodo.org/records or doi.org URL. A concept id lists the latest version’s files.
limitNoEntries per page (1–200).
offsetNoEntries to skip before this page.
archive_keyNoExact file key of a .zip in this record (from the manifest) to list its members instead of the manifest. Omit to list the manifest.
key_containsNoCase-insensitive substring filter on file keys (manifest) or member paths (archive), applied before paging.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoPage size applied.
kindNomanifest: the record’s files; archive: members of the .zip named by archive_key.
errorNoPresent when the call failed. Absent on success.
limitNoPage size applied.
recidNoRecord id whose files are listed (the latest version for a concept id).
shownNoEntries returned on this page.
noticeNoFile access notes, empty-filter guidance, listing caps, or paging guidance.
offsetNoEntries skipped before this page.
archiveNoThe archive being listed (archive kind); absent when files are restricted.
entriesNoManifest files on this page (manifest kind); empty when files are restricted.
matchedNoEntries matching the filter, before paging.
membersNoArchive members on this page (archive kind); empty when files are restricted.
has_moreNoTrue when more matching entries follow this page.
truncatedNoTrue when more matching entries follow this page.
file_countNoTotal files in the record (manifest kind); absent when files are restricted or embargoed.
totalCountNoEntries matching the filter, before paging.
next_offsetNoOffset of the next page, when has_more.
total_bytesNoTotal size of the record’s files in bytes (manifest kind); absent when files are restricted or embargoed.
files_accessNoFile access: public or restricted; absent when Zenodo does not report it.
key_containsNoThe key filter applied, when set.
access_statusNoRecord access status: open, restricted, embargoed, or metadata-only.
embargo_untilNoEmbargo end date, when an embargo is active.
files_enabledNoFalse for a metadata-only deposit.
zenodo_list_versionsList Zenodo record versions
Read-onlyIdempotent
Inspect

List 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 series. Use it to find the version a paper cited or the current release. A miss (an unknown id, a deleted record with its removal tombstone, restricted metadata, or a DOI not registered on Zenodo) returns found: false with guidance instead of an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAny version or concept identifier of the deposit: a record id (22705923), a Zenodo DOI (10.5281/zenodo.22705923) or concept DOI (10.5281/zenodo.591564), another DOI registered to a Zenodo record, or a zenodo.org/records or doi.org URL.
pageNoResult page, starting at 1. page × size may not exceed 10,000.
sizeNoVersions per page (1–25).

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoPage size applied.
pageNoPage returned.
sizeNoPage size applied.
errorNoPresent when the call failed. Absent on success.
foundNoTrue when the version series resolved.
shownNoVersions returned on this page.
noticeNoGuidance on paging or a page past the end.
guidanceNoWhat to do next. Present when not found.
has_moreNoTrue when another page of versions follows.
versionsNoVersions on this page, newest first; empty when not found.
miss_kindNoWhy nothing resolved. Present when not found.
next_pageNoThe next page number, when has_more.
tombstoneNoRemoval tombstone. Present when miss_kind is deleted.
truncatedNoTrue when more versions follow this page.
input_kindNoHow id was parsed: record_id (digits), zenodo_doi (10.5281/zenodo.N or zenodo.N), external_doi (another DOI), or url (a zenodo.org or doi.org link).
totalCountNoNumber of versions in the series.
concept_doiNoConcept DOI of the series, when minted; absent when not found or on a page past the end.
latest_recidNoRecord id of the newest version. Present when found, unless Zenodo cannot name it for a page past the end.
concept_recidNoConcept record id naming the whole series; absent when not found or on a page past the end.
total_versionsNoNumber of versions in the series. Present when found.
zenodo_lookup_vocabularyLook up Zenodo filter ids
Read-onlyIdempotent
Inspect

Resolve 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 scoped to one funder. Each entry names the zenodo_search_records parameter its id feeds.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoResult page, starting at 1.
sizeNoEntries per page (1–25).
queryNoName, acronym, or keyword, e.g. "SYMBA", "wellcome", "mit", "journal article". For resource_types every word must appear in the type id or label. Omit to browse the vocabulary.
funderNoawards only: scope grants to one funder, given as a ROR id (00k4n6c32), a ROR URL, or a Crossref Funder DOI (10.13039/100000002). Resolve a funder name to its ROR id with vocabulary funders first.
vocabularyYesWhich vocabulary to search: communities, funders, awards (grants), licenses, or resource_types. Case, spaces, hyphens, and underscores are ignored when matching, and the singular (funder, license, resource type) and grants are accepted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoPage size applied.
pageNoPage returned.
sizeNoPage size applied.
errorNoPresent when the call failed. Absent on success.
queryNoThe query as applied; absent when browsing.
shownNoEntries returned on this page.
totalNoTotal entries matching the query.
noticeNoGuidance on empty results, ambiguous funders, or further pages.
entriesNoMatching entries for this page.
has_moreNoTrue when more pages follow this one.
next_pageNoThe next page number, when has_more.
truncatedNoTrue when more entries exist beyond this page.
totalCountNoTotal entries matching the query.
vocabularyNoThe vocabulary searched.
zenodo_read_fileRead a Zenodo file excerpt
Read-onlyIdempotent
Inspect

Read 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 MIME type or extension is read directly; an extensionless file Zenodo types application/octet-stream (LICENSE, COPYING, Makefile) is read and returned only when its content is UTF-8 text. Binary files, restricted files, and other types return metadata and the download URL without content. File content is depositor-supplied and carries the deposit’s license.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe deposit: a record id (22705923), a Zenodo DOI (10.5281/zenodo.22705923), another DOI registered to a Zenodo record, or a zenodo.org/records or doi.org URL. A concept id reads from the latest version.
keyYesExact file key from zenodo_list_files, e.g. README.md or data/results.csv.
max_bytesNoMaximum bytes to read (256–65536).
offset_bytesNoByte offset to start reading a top-level file at; use next_offset to continue. Must be 0 for an archive member.
archive_memberNoMember path inside the .zip named by key (from zenodo_list_files with archive_key). Omit to read the file itself.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyNoThe file key.
md5NoMD5 checksum of the top-level file (hex); absent for archive members and when not reported.
textNoThe excerpt, decoded as UTF-8. Depositor-supplied data. Present when status is text.
errorNoPresent when the call failed. Absent on success.
recidNoRecord id read from (the latest version for a concept id).
noticeNoWhy no text was returned, or how to read the rest of the file.
rightsNoThe deposit’s licenses, which the file carries.
statusNotext: content returned; not_text: binary content, or a type that is not read as text; restricted: the content is not available anonymously — the record’s files are restricted or embargoed (key is not checked, since no manifest is exposed), or Zenodo refused this one file; empty: zero-byte file.
has_moreNoTrue when bytes remain past this excerpt.
mimetypeNoMIME type of the file or member, when reported.
file_sizeNoSize of the file or member in bytes, when known.
record_urlNoRecord landing page on zenodo.org.
next_offsetNooffset_bytes for the next window of a top-level file, when has_more; absent for an archive member, which cannot be continued past its first window.
download_urlNoDirect download URL of the top-level file (the .zip itself for a member).
files_accessNoFile access: public or restricted; absent when Zenodo does not report it.
offset_bytesNoByte offset the excerpt starts at.
archive_memberNoThe archive member path, when one was read.
bytes_returnedNoExact bytes the excerpt covers (cut at a line or character boundary).
replacement_charsNoU+FFFD characters in the excerpt (invalid UTF-8 or a mid-character offset).
zenodo_search_recordsSearch Zenodo records
Read-onlyIdempotent
Inspect

Search 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 deposit (ids, DOIs, title, type, version, creators, license, access, file totals, usage counts) plus facet counts over the full match set, every filter applied. Query terms are OR-ed unless joined with AND, quoted phrases match exactly, and field syntax works on record fields (metadata.title:"…", metadata.subjects.subject:"…"). Only the latest version of each deposit is searched unless all_versions is true, and only the first 10,000 matches are reachable by paging. Resolve community, funder, and grant names to ids with zenodo_lookup_vocabulary first; open one deposit in full with zenodo_get_record.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoResult page, starting at 1. page × size may not exceed 10,000.
sizeNoResults per page (1–25).
sortNoSort order: bestmatch, newest, oldest, mostviewed, mostdownloaded, updated-desc, updated-asc. Case, spaces, hyphens, and underscores are ignored when matching (MostViewed reads as mostviewed). Defaults to bestmatch with a query, newest without.
awardNoOne grant: an award id <funder-ror>::<number> (00k4n6c32::101135562), a bare grant number, or a CORDIS award DOI (10.3030/101135562). Find ids with zenodo_lookup_vocabulary (vocabulary: awards).
queryNoKeyword query. Terms are OR-ed unless joined with AND; "quoted phrases" match exactly; field syntax such as metadata.title:"…" or doi:"10.5281/zenodo.N" works. Escape a literal / as \/. A bare DOI or record URL is rejected; open it with zenodo_get_record instead. Omit to browse with filters only.
funderNoOne funder: a ROR id (01cwqze88), a ROR URL, or a Crossref Funder DOI (10.13039/100000002). Resolve a funder name with zenodo_lookup_vocabulary (vocabulary: funders).
licenseNoLicense id, e.g. cc-by-4.0, cc0-1.0, mit (lowercased). Find ids with zenodo_lookup_vocabulary (vocabulary: licenses).
communityNoOne community: its slug, UUID, or zenodo.org/communities/<slug> URL. Find slugs with zenodo_lookup_vocabulary (vocabulary: communities).
file_typeNoFile extensions, OR-ed (a single string is accepted): csv, zip, pdf, … Lowercased with any leading dot stripped.
all_versionsNoInclude superseded versions; by default only the latest version is searched.
published_toNoLatest publication date, YYYY, YYYY-MM, or YYYY-MM-DD; a partial date ends at its last day.
access_statusNoAccess status: open, restricted, embargoed, or metadata-only. Case, spaces, hyphens, and underscores are ignored when matching (Metadata Only reads as metadata-only).
creator_orcidNoCreator ORCID iD, e.g. 0000-0002-1825-0097; an https://orcid.org/ prefix is stripped and a trailing x uppercased.
resource_typeNoResource type ids, OR-ed (a single string is accepted): dataset, software, publication, publication-article, image-photo, … Any case; a subtype may also be written in the <type>::<id> form zenodo_lookup_vocabulary shows as its search value (publication::publication-article). A top-level type includes its subtypes. Look ids up with zenodo_lookup_vocabulary (vocabulary: resource_types).
published_fromNoEarliest publication date, YYYY, YYYY-MM, or YYYY-MM-DD; a partial date starts at its first day.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoPage size applied.
hitsNoMatching deposits on this page.
pageNoPage returned.
sizeNoPage size applied.
errorNoPresent when the call failed. Absent on success.
shownNoHits returned on this page.
totalNoExact number of matching records.
facetsNoFacet counts over the full match set (every filter applied, so they agree with total), not just this page.
noticeNoGuidance on empty results, the 10,000-result window, or further pages.
has_moreNoTrue when another reachable page follows.
next_pageNoThe next page number, when has_more.
reachableNoMatches reachable by paging: min(total, 10,000).
truncatedNoTrue when more reachable matches follow this page.
totalCountNoExact number of matching records.
allVersionsNoWhether superseded versions were searched.
appliedSortNoThe sort order applied.
effectiveQueryNoThe exact q sent to Zenodo.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedzenodo_get_record
    • First observedzenodo_list_files
    • First observedzenodo_list_versions
    • First observedzenodo_lookup_vocabulary
    • First observedzenodo_read_file
    • First observedzenodo_search_records

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Searches and fetches research datasets across Zenodo, DataCite (Dryad/Figshare/Dataverse/OSF), NCBI omics archives (GEO/SRA/BioProject), and the literature (PubMed/OpenAIRE) through one normalized model — deduplicating by DOI, expanding organism queries with NCBI Taxonomy synonyms, and bridging papers to the datasets they produced. Resolves citations and open-access full text, and downloads files.
    6
    12,541 PyPI
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides access to DataCite DOIs for research datasets, enabling searching and retrieval of dataset metadata.
    243 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching academic papers, journals, and citations via the Crossref API, and resolving DOIs to canonical metadata with authors, references, and citation graphs.
    234 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.