Zenodo MCP
@MSKazemi
Tool-based LLM integration with Zenodo via the Model Context Protocol (MCP)
Overview
What is Zenodo MCP?
A comprehensive toolkit for interacting with Zenodo records through the Model Context Protocol (MCP). It provides two implementations: a Python‑based MCP SDK for direct integration with MCP‑enabled environments like Cursor IDE, and a FastAPI‑based MCP API service for use with LLM frameworks such as LangChain and LangGraph.
How to use Zenodo MCP?
Choose the implementation that fits your workflow. For Cursor IDE integration, clone the repository, install dependencies (pip install -r requirements.txt), and configure via an mcp.json file. For LLM framework integration, clone the repository, copy .env.example to .env and add your Zenodo API token, then run the API server with uvicorn server.main:app --host 0.0.0.0 --port 8000.
Key features of Zenodo MCP
- Search and retrieve Zenodo records
- Get citations in multiple formats (BibTeX, APA, etc.)
- Automatically classify Zenodo records by data type
- Access detailed metadata of records
- List and download files from records
Use cases of Zenodo MCP
- Researchers querying Zenodo directly from a Cursor IDE workflow
- Building LangChain agents that search and fetch Zenodo records
- Creating LangGraph workflows that retrieve citations from Zenodo
- Integrating Zenodo access into custom LLM applications via the MCP API
- Using an OpenAI‑compatible API to interact with Zenodo resources
FAQ from Zenodo MCP
Which implementation should I use?
Use the MCP SDK Core if you want to access Zenodo directly from MCP‑enabled environments like Cursor IDE. Use the MCP API if you are building LLM applications with LangChain, LangGraph, or similar frameworks.
What are the runtime requirements?
Both implementations are Python‑based. The MCP SDK Core requires Python and the packages listed in requirements.txt. The MCP API requires Python, FastAPI, and an environment variable for the Zenodo API token.
Where do the data and records live?
All data and records reside on Zenodo’s servers. The MCP server acts as a client to search, retrieve, and download Zenodo records.
How do I authenticate with the Zenodo API?
For the MCP API, you must set a Zenodo API token in a .env file. The MCP SDK Core’s authentication details are managed via its configuration file.
Are there any known limitations?
The README does not explicitly list limitations. Both implementations rely on the Zenodo API and may be subject to its rate limits and access restrictions.