Search and resolve Zenodo datasets, software, and publications by DOI; trace versions and funding, list files, and preview text files via MCP. STDIO or Streamable HTTP.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add zenodo --env ZENODO_ACCESS_TOKEN='<ZENODO_ACCESS_TOKEN>' -- npx -y @cyanheads/zenodo-mcp-server~/.codex/config.toml
[mcp_servers.zenodo]
command = "npx"
args = ["-y", "@cyanheads/zenodo-mcp-server"]
env = { ZENODO_ACCESS_TOKEN = "<ZENODO_ACCESS_TOKEN>" }
# codex mcp add zenodo --env ZENODO_ACCESS_TOKEN='<ZENODO_ACCESS_TOKEN>' -- npx -y @cyanheads/zenodo-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"ZENODO_ACCESS_TOKEN": "<ZENODO_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"zenodo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"ZENODO_ACCESS_TOKEN": "<ZENODO_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"ZENODO_ACCESS_TOKEN": "<ZENODO_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"ZENODO_ACCESS_TOKEN": "<ZENODO_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/zenodo-mcp-server"
],
"env": {
"ZENODO_ACCESS_TOKEN": "<ZENODO_ACCESS_TOKEN>"
}
}
}
}Remote
claude mcp add --transport http zenodo https://zenodo.caseyjhand.com/mcp~/.codex/config.toml
[mcp_servers.zenodo]
url = "https://zenodo.caseyjhand.com/mcp"
# codex mcp add zenodo --url https://zenodo.caseyjhand.com/mcp~/.cursor/mcp.json
{
"mcpServers": {
"zenodo": {
"url": "https://zenodo.caseyjhand.com/mcp"
}
}
}.vscode/mcp.json
{
"servers": {
"zenodo": {
"type": "http",
"url": "https://zenodo.caseyjhand.com/mcp"
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"zenodo": {
"httpUrl": "https://zenodo.caseyjhand.com/mcp"
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"zenodo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://zenodo.caseyjhand.com/mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"zenodo": {
"url": "https://zenodo.caseyjhand.com/mcp"
}
}
}Environment variables
ZENODO_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.