# Reported issues for zenodo-mcp-server

Pod holds 7 of 7 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [zenodo-mcp-server](/mcp/zenodo-mcp-server).

## Most discussed

### bug(zenodo_list_files): archive-mode notices cite a missing download_url and hide readable unlisted members

### Server version

0.1.0

### mcp-ts-core version

0.13.6

### Runtime

Node

### Runtime version

Node 26.5.0

### Transport

HTTP

### Description

In archive mode (`archive_key` set), two `zenodo_list_files` notices send the agent somewhere the response doesn't support:

1. When Zenodo truncates the listing, the notice says to "download the archive from `download_url`", but the archive-mode output has no `download_url`. The `archive` object carries only `key`, `size`, `listed_members`,…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/5) · 2026-09-24 · closed · 3 comments

### bug(zenodo_read_file): ZIP-member truncation notice says to download the archive when a larger max_bytes would do

### Server version

0.1.0

### mcp-ts-core version

0.13.6

### Runtime

Node

### Runtime version

Node 26.5.0

### Transport

HTTP

### Description

When a `zenodo_read_file` ZIP-member read stops at `max_bytes`, the notice always says to download the whole archive, even when the member is smaller than the 65,536-byte cap. Calling again with a larger `max_bytes` would return the full member, but the notice doesn't say that.

### Steps to reproduce

1. `zenodo_read_file` `{ "id": "22705923",…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/4) · 2026-09-24 · closed · 3 comments

### bug(zenodo_search_records): resource_type rejects the type::id search_value lookup returns

### Server version

0.1.0

### mcp-ts-core version

0.13.6

### Runtime

Node

### Runtime version

Node 26.5.0

### Transport

HTTP

### Description

`zenodo_lookup_vocabulary` (resource_types) prints each entry's `search_value` in `<type>::<id>` form, which is Zenodo's own spelling of a subtype. `zenodo_search_records` rejects that exact value as `resource_type`, with the message `Missing required field`, which reads as if the parameter were absent. `publication::publication-article` maps to…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/3) · 2026-09-24 · closed · 3 comments

### feat(zenodo_read_file): sniff extensionless octet-stream files instead of refusing them

### Use case

`zenodo_read_file` decides from the MIME type and extension alone whether a file is text, and it does so before fetching anything. Files like `LICENSE`, `COPYING`, `Makefile`, `Dockerfile`, and `README` arrive from Zenodo as `application/octet-stream` with no extension, so they come back `not_text` with no content. They are among the files an agent most often needs to read in a software deposit.

### Proposed behavior

For `application/octet-stream` (or no MIME type) with an…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/8) · 2026-09-24 · closed · 2 comments

### bug(identifiers): wrapped id with trailing punctuation is rejected as invalid_identifier

### Server version

0.1.0

### mcp-ts-core version

0.13.6

### Runtime

Node

### Runtime version

Node 26.5.0

### Transport

HTTP

### Description

`parseRecordRef` strips wrapping `<…>` before it removes trailing punctuation. An id that has both, such as a DOI copied out of a sentence like `…available at <https://doi.org/…>.`, is rejected as `invalid_identifier`. Each form works on its own.

### Steps to reproduce

`zenodo_get_record` with each `id`:

| id | result |
|:--|:--|
|…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/6) · 2026-09-24 · closed · 2 comments

### bug(zenodo_search_records): facet counts ignore resource_type, file_type, and access_status filters

### Server version

0.1.0

### mcp-ts-core version

0.13.6

### Runtime

Node

### Runtime version

Node 26.5.0

### Transport

HTTP

### Description

The `zenodo_search_records` description and `facets` schema say facet counts cover "the full match set", but `resource_type`, `file_type`, and `access_status` do not narrow them. Zenodo applies those three as post-filters, so the aggregations are computed before they apply. The counts then contradict `total`, and an agent reading `file_type: csv…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/2) · 2026-09-24 · closed · 2 comments

### bug(zenodo_list_versions): page past the 10,000 window returns a raw upstream 400

### Server version

0.1.0

### mcp-ts-core version

0.13.6

### Runtime

Node

### Runtime version

Node 26.5.0

### Transport

HTTP

### Description

`zenodo_list_versions` sends any `page` straight upstream. When `page × size` exceeds 10,000, Zenodo answers HTTP 400 and the tool surfaces the raw upstream error with no `reason` and no recovery. `zenodo_search_records` and `zenodo_lookup_vocabulary` both pre-validate the same window and return a typed `result_window_exceeded`.

### Steps to…

[Read the thread](https://github.com/cyanheads/zenodo-mcp-server/issues/1) · 2026-09-24 · closed · 2 comments

## Most recent

The remaining reports are on [the project's issue tracker](https://github.com/cyanheads/zenodo-mcp-server/issues).
