Skip to main content
Glama

zenodo-mcp-server

Search Zenodo records

zenodo_search_records
Read-onlyIdempotent

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.

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.