Zenodo
liveResearchScienceZenodo open research repository — search and retrieve scientific records, datasets, software, and community collections hosted at zenodo.org.
Tools
searchSearch Zenodo open-research repository for datasets, publications, software, and other research outputs by keyword query. Filterable by type, community, and sort order (mostrecent/bestmatch/mostviewed
No parameters required.
Try it
recordSingle record by Zenodo id.
No parameters required.
Try it
record_filesList files attached to a Zenodo record by its numeric id. Returns file names, sizes, checksums, and direct download URLs.
No parameters required.
Try it
communitiesList or search Zenodo communities (thematic collections of records) by optional keyword query; returns community id, title, description, and record count.
No parameters required.
Try it
community_recordsFetch paginated records belonging to a Zenodo community by its slug id (e.g. "openaire"). Returns record metadata, DOIs, and file links for all items in the community.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/zenodo/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/zenodo/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search", {});// Or ask in plain English:
const answer = await px.ask("zenodo open research repository — search and retrieve scientific records, datasets, software, and community collections hosted at zenodo");