MCP server for the Zenodo scientific repository — search, retrieve, cite, and reason about open science resources.
Server has 16 tools with complete input schemas and descriptions, but quality is inconsistent. Most tool descriptions are adequate (100-250 chars) and follow verb_noun naming. However, parameter descriptions lack specificity on constraints, formats, and error recovery. Output schemas are not documented. Error handling is minimal, tools return raw API responses without actionable guidance. No tool annotations (readOnlyHint, destructiveHint). Composition is reasonable (single-responsibility tools), but several tools lack natural-language parameter acceptance (e.g., cite_record requires record_id OR doi, but no guidance on resolution). Average tool score: 58/100.
Analyze a license by ID and return its properties and restrictions.
Assemble a reproducibility package from a primary record by finding related papers, datasets, software, and supplementary materials.
Generate a citation for a Zenodo record in a given style. Provide either record_id or doi (not both).
Compare metadata, stats, and sizes of two Zenodo records side-by-side.
Evaluate and score a Zenodo record's reusability. Grades license quality, metadata completeness, documentation length, file format openness, and versioning.
Export record metadata in a structured format.
Find and evaluate datasets suitable for training ML models.
No output schemas documented. Tools return raw API responses without specifying field names, types, or structure. LLMs cannot plan downstream calls or extract data reliably.
Parameter descriptions lack constraint details. E.g., 'sort' accepts 'bestmatch' or 'mostrecent' but description does not enumerate valid values. 'size' has no min/max bounds stated. LLMs guess invalid values.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. Raw API errors provide no recovery path.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Produce a concise, structured AI-friendly summary ("data card") of a dataset. Extracts modality, file formats, license, citations, intended use, and limitations.
Retrieve complete metadata for a single Zenodo record by ID.
Retrieve all versions of a record by its concept record ID.
List all files in a Zenodo record with sizes and download URLs.
Resolve a DOI to its Zenodo record. Supports both full DOIs (10.5281/zenodo.123) and Zenodo URLs.
Search Zenodo communities by name or keyword.
Search for datasets on Zenodo with optional filters.
Search available Zenodo licenses by keyword.
Search published records on Zenodo using Elasticsearch query syntax.
cite_record requires 'record_id OR doi' but does not document mutual exclusivity or resolution strategy. LLMs may pass both or neither, causing ambiguous failures.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 16 tools are read-only, but this is not declared. Clients cannot optimize caching or retry logic.