Reported issues for cern-inspire-mcp-server
Pod holds 12 of 12 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 cern-inspire-mcp-server.
Most discussed
feat(cern_inspire_search_authors): flag name results where no candidate carries the queried surname
Use case
INSPIRE's free-text author search matches name parts as initials. A misspelled or unknown surname in cern_inspire_search_authors therefore still returns hundreds of thousands of unrelated profiles, and none of them carries the surname. The tool's zero-hit name notice ("Try "Last, First", fewer name parts…") never fires. The only guidance is "raise limit", so a caller can take an unrelated namesake-by-initial for the person it asked about.
Repro (server 0.1.0, mcp-ts-core…
Read the thread · 2026-10-01 · closed · 2 comments
bug(cern_inspire_get_paper): truncation notice says to raise max_authors when it is already at the 500 maximum
Server version
0.1.0
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
Node 26.5.0
Transport
HTTP (Streamable HTTP)
Description
When max_authors is already at its maximum (500), the truncation notice in cern_inspire_get_paper still says to raise it. A retry with a higher value then fails validation (max_authors: Too big: expected number to be <=500). The notice should only point at max_authors while there is headroom. At the cap, it should…
Read the thread · 2026-10-01 · closed · 2 comments
bug(cern_inspire_search_experiments): reports "Ongoing: no" for active experiments with no completion date
Server version
0.1.0
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
Node 26.5.0
Transport
HTTP (Streamable HTTP)
Description
cern_inspire_search_experiments reports ongoing: false and renders **Ongoing:** no for any experiment whose INSPIRE record has no date_completed. INSPIRE leaves that field out for many active experiments, so DUNE and EUCLID are reported as not ongoing. ongoing is only known when the record carries the "9999"…
Read the thread · 2026-10-01 · closed · 2 comments
bug(cern_inspire_get_paper): a merged recid returns paper_not_found instead of the record INSPIRE redirects to
cern_inspire_get_paper looks a recid up with a recid:N search. INSPIRE drops a merged record from search results but keeps its ID as a redirect, so an old recid fails as paper_not_found even though INSPIRE still serves the paper.
Repro (2026-10-02):
GET https://inspirehep.net/api/literature?q=recid:2829718→hits.total: 0GET https://inspirehep.net/api/literature/2829718→301to/api/literature/1797621cern_inspire_get_paperwithpaper: "2829718"or"ins2829718"→…
Read the thread · 2026-10-02 · closed · 1 comment
bug(notices): angle-bracket query placeholders vanish when content[] renders as HTML
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
HTTP (Streamable HTTP)
Description
Several notices and recovery hints the server writes itself spell query placeholders with angle brackets: "t <words>", "a <name>", collaborations.value:<name>, "collaboration:<name>", "a <BAI or name>". These reach content[] as written. CommonMark reads each as an inline raw-HTML open tag (<BAI or name> is tag BAI with…
Read the thread · 2026-10-02 · closed · 1 comment
bug(inputs): advertised inputSchema rejects paper and facet spellings the descriptions document
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
HTTP (Streamable HTTP)
Description
paperInput, documentTypesInput, and subjectsInput normalize in a z.preprocess, but inputSchema advertises only the normalized form. paper's pattern rejects every prefixed, versioned, URL, and ins<recid> spelling its description lists; document_types and subjects (cern_inspire_search_literature,…
Read the thread · 2026-10-01 · closed · 1 comment
feat(cern_inspire_get_citation_summary): add citations per year from INSPIRE's citations-by-year facet
Use case
cern_inspire_get_citation_summary returns totals but no trajectory. Whether a paper is still being cited, or an author's citations per year for a tenure or grant dossier, takes one literature search per year today. INSPIRE serves the per-year series from the /api/literature/facets endpoint this tool already calls (facet_name=citations-by-year).
Proposed behavior
Request facet_name=citations-by-year in parallel with citation-summary, with the same q, and return…
Read the thread · 2026-10-01 · closed · 1 comment
feat(cern_inspire_list_reference): document affiliation queries and point institution recids at them
Use case
No documented path leads to "papers from an institution" or "an institution's citation summary." cern_inspire_get_citation_summary lists an institution as a valid query. cern_inspire_search_authors (institutionRecid) and cern_inspire_search_experiments (institutions[].recid) return institution recids, but nothing says which query takes them, and search_syntax lists no affiliation operator.
Proposed behavior
search_syntaxentries foraff NAME(the…
Read the thread · 2026-10-01 · closed · 1 comment
Most recent
feat(cern_inspire_export_citations): add page so citation sets over 50 entries can be exported in full
Use case
A paper's reference list or citing set often exceeds cern_inspire_export_citations' 50-entry size cap, and the tool takes no page: citedby:recid:1124337 (the references of the ATLAS Higgs observation) matched 138 papers on 2026-10-01, and only the first 50 can be exported. The workaround is paging cern_inspire_search_literature and re-exporting the recids in OR batches.
Proposed behavior
Add page (1-based, default 1; page × size ≤ 10,000, else…
Read the thread · 2026-10-01 · closed · 1 comment
bug(normalize): titles and abstracts keep publisher HTML/MathML markup and undecoded entities
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
HTTP (Streamable HTTP)
Description
INSPIRE stores many publisher titles and abstracts as HTML, JATS, or MathML, and HEPData abstracts entity-escaped (<). normalize.ts copies them verbatim: structuredContent carries the markup, content[] renders it escaped, and abstractSnippet is cut from the raw string. As of 2026-10-01, titles.title:mrow matches 5,971…
Read the thread · 2026-10-01 · closed · 1 comment
bug(normalize): hepdataUrl can open a different HEPData record than the DOI and table count it reports
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
HTTP (Streamable HTTP)
Description
cern_inspire_get_paper and cern_inspire_search_hepdata build hepdataUrl as https://www.hepdata.net/record/ins<paper recid>. hepdata.net resolves ins<N> by the INSPIRE ID stored on the HEPData record, which stays on the old recid when INSPIRE merges that paper into another and re-links the data. The link can then open a…
Read the thread · 2026-10-01 · closed · 1 comment
feat: read HEPData table values once hepdata.net admits the server
Add the two tools that read HEPData table values from hepdata.net: cern_inspire_list_hepdata_tables (a record's tables, with names, descriptions, keywords and download formats) and cern_inspire_get_hepdata_table (one table's headers, qualifiers, values and uncertainties). Their specification is in docs/design.md under Deferred: HEPData-direct tools.
Blocked on access. hepdata.net serves a Cloudflare managed challenge (403, cf-mitigated: challenge) to the server's own…
Read the thread · 2026-10-01 · open · 0 comments
The remaining reports are on the project's issue tracker.