Skip to main content
Glama

cern-inspire-mcp-server

Server Details

Search INSPIRE-HEP papers, authors, experiments, HEPData records; get citation metrics and BibTeX.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.7% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/cern-inspire-mcp-server
GitHub Stars
1
Server Listing
cern-inspire-mcp-server

TDQS

A4.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: literature/author/experiment/HEPData search are separate resources, while get_paper, get_citation_summary, export_citations, and list_reference cover distinct actions (record fetch, metrics, bibliography export, static vocabulary). There is no meaningful overlap that would cause misselection.

Naming Consistency5/5

All names share the cern_inspire_ prefix and follow a predictable snake_case verb_noun pattern (search_*, get_*, export_*, list_*). The only trivial deviation is singular 'list_reference' versus plural search targets, which does not impair readability.

Tool Count5/5

Eight tools is well-scoped for a domain that spans literature, authors, experiments, and HEPData. Each tool earns its place, with no redundant or filler operations.

Completeness4/5

The surface covers searching, full-record retrieval, citation metrics, bibliography export, and vocabulary reference, with queries provided for citing/reference sets. Minor gaps remain, such as no tool to fetch actual HEPData table values and no dedicated citation-network traversal, but these are workable around.

Available Tools

8 tools
cern_inspire_export_citationsExport INSPIRE citationsA
Read-onlyIdempotent
Inspect

Export INSPIRE-HEP's citation entries for the papers a literature query selects, as BibTeX or LaTeX \bibitem entries (EU or US style), keyed by INSPIRE texkeys and ready to paste into a bibliography. Name specific papers with "recid:451647 or arxiv:1207.7214 or doi:10.1016/…", or export a topic, author, or citing set with any query cern_inspire_search_literature accepts. Up to 50 entries per page; page through larger sets (only the first 10,000 matches are reachable). Entries are INSPIRE's verbatim text (long author lists arrive abbreviated as "First, Name and others").

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, starting at 1. page × size may not exceed 10,000.
sizeNoEntries per page (1–50, default 10).
sortNoEntry order: relevance (default), mostrecent, or mostcited.relevance
queryYesLiterature query selecting the papers to cite, narrowed by the same document_types, subjects, year_from and year_to filters as search. Named papers: "recid:451647 or arxiv:1207.7214 or doi:10.1016/j.physletb.2012.08.020". Or a topic ("t higgs and topcite 500+"), an author ("a Edward.Witten.1"), or citing papers ("refersto:recid:451647"). Empty recognized field clauses such as "a:" are invalid; other syntax is passed through without complete grammar validation. See cern_inspire_list_reference topic search_syntax.
formatNoEntry format: bibtex (default), latex-eu, or latex-us (\bibitem entries in European or US style).bibtex
year_toNoLatest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no upper bound.
subjectsNoRestrict to INSPIRE subject categories (up to 4). Multiple values must ALL hold, not either. Values: Astrophysics, Phenomenology-HEP, Theory-HEP, Quantum Physics, Unknown, Gravitation and Cosmology, Experiment-HEP, Theory-Nucl, Accelerators, Instrumentation, General Physics, Experiment-Nucl, Math and Math Physics, Condensed Matter, Computing, Lattice, Other, Data Analysis and Statistics.
year_fromNoEarliest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no lower bound.
document_typesNoRestrict to INSPIRE document types (up to 4). Multiple values must ALL hold (published + review = published reviews), not either. Values: article, published, conference paper, thesis, review, note, proceedings, lectures, book chapter, book, introductory, activity report, report.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied.
pageNoThe page returned.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of entries on this page.
formatNoThe entry format returned.
noticeNoGuidance when nothing matched, the page is past the last or came back empty inside the match count, more papers follow, or the page could not be checked against the match count.
entriesNoCitation entries, in the requested order.
nextPageNoThe page number to request next, when more papers follow within the 10,000-result window.
truncatedNoTrue when more matched papers follow this page.
appliedFiltersNoSort and filters applied, or "none".

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly/openWorld/idempotent), the description discloses the 10,000-reachable-match cap and that entries are INSPIRE's verbatim text with long author lists abbreviated as 'Name and others'. It does not detail error behavior or the response envelope, but it adds real operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what is exported and the formats before moving to selection syntax and limits; every sentence carries information. The inline example strings make it dense, but nothing is wasted or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value shape need not be explained, and the description still covers formats, selection syntax, pagination limits, and data quirks. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so 3 is the baseline, but the description contributes extra query-syntax examples ('t higgs and topcite 500+', 'a Edward.Witten.1', 'refersto:recid:451647') and the invalid-clause rule for empty fields like 'a:'. This goes beyond what the schema documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (export INSPIRE citation entries for query-selected papers) and the output formats (BibTeX, LaTeX \bibitem, EU/US style). It is clearly distinct from siblings like cern_inspire_search_literature, which returns records rather than paste-ready citations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete selection modes (named paper via recid/arxiv/doi, or a topic/author/citing set via any cern_inspire_search_literature query) and notes the 50-per-page and 10,000-match ceilings. It does not explicitly say when to prefer search_literature or get_paper instead, so routing past the sibling is left partly implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_get_citation_summaryGet INSPIRE citation summaryA
Read-onlyIdempotent
Inspect

Compute INSPIRE-HEP's citation summary for one author or for any literature query: h-index, citation totals, average citations per paper, and paper counts per citation bucket (0, 1–9, 10–49, 50–99, 100–249, 250–499, 500+), each for all citeable papers and for published papers, plus citations received per year. Pass exactly one of author (a BAI, ORCID, INSPIRE ID, or author recid — resolve a name with cern_inspire_search_authors first) or query (any INSPIRE literature query: a topic, collaboration, institution, or "a "). Document type and subject filters narrow every figure. year_from and year_to narrow the summary to papers from those years, and exclude_self_citations recounts it without self-citations; any of them leaves out citations per year, which INSPIRE cannot narrow that way.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoAn INSPIRE literature query, e.g. "collaboration:atlas", "t neutrino oscillation", "a Edward.Witten.1", or "affid:902725" for an institution's papers (CERN; affid takes the institution recid that cern_inspire_search_authors and cern_inspire_search_experiments return). Empty recognized field clauses such as "a:" are invalid; other syntax is passed through without complete grammar validation. Literature queries do not match ORCIDs; pass an ORCID as author. Pass this or author, not both.
authorNoOne author identifier: INSPIRE BAI (Edward.Witten.1, exact and case-sensitive), ORCID (0000-0002-7752-6073 or an orcid.org URL), INSPIRE ID (INSPIRE-00136372), or author recid. Not a name — resolve names with cern_inspire_search_authors first. Pass this or query, not both.
year_toNoLatest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no upper bound.
subjectsNoRestrict to INSPIRE subject categories (up to 4). Multiple values must ALL hold, not either. Values: Astrophysics, Phenomenology-HEP, Theory-HEP, Quantum Physics, Unknown, Gravitation and Cosmology, Experiment-HEP, Theory-Nucl, Accelerators, Instrumentation, General Physics, Experiment-Nucl, Math and Math Physics, Condensed Matter, Computing, Lattice, Other, Data Analysis and Statistics.
year_fromNoEarliest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no lower bound.
document_typesNoRestrict to INSPIRE document types (up to 4). Multiple values must ALL hold (published + review = published reviews), not either. Values: article, published, conference paper, thesis, review, note, proceedings, lectures, book chapter, book, introductory, activity report, report.
exclude_self_citationsNoCount citations without self-citations (INSPIRE's definition), default false. Setting it leaves out citationsByYear, which always includes self-citations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
allNoTotals over citeable papers.
errorNoPresent when the call failed. Absent on success.
hIndexNoh-index for all citeable and for published papers.
noticeNoGuidance when no citeable paper matched, or when citations per year were left out or could not be read.
targetNoWhat the summary covers.
bucketsNoPapers per citation range, for all citeable and for published papers.
publishedNoTotals over published papers.
appliedFiltersNoFilters applied, e.g. "document_types=published; years=2012–2015; exclude_self_citations=true", or "none".
citeablePapersNoCiteable papers among the matched records.
effectiveQueryNoThe literature query sent to INSPIRE.
matchedRecordsNoLiterature records the query matched, citeable or not.
citationsByYearNoCitations per year in ascending order, each counted in the year of the citing record's earliest date, self-citations included, over every matched record (citeable or not), so the sum can exceed all.citations. A year without citations has no row, and the current year counts citations to date. Empty when nothing matched or no matched record is cited; omitted when year_from, year_to, or exclude_self_citations is set, when INSPIRE did not return the series, or when the query matches more than about 150,000 records, which INSPIRE cannot count in time, unless INSPIRE answers within about 2 s (a series it has cached).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint, so the lowest bar is met. The description adds real behavioral caveats beyond them: combining year_from/year_to/exclude_self_citations drops the citations-per-year figure because INSPIRE cannot narrow it that way, and empty field clauses like 'a:' are invalid rather than silently ignored.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the computed metrics before the input modes, which is the right order. It is a single dense paragraph with some redundancy against the schema's own parameter descriptions, but every sentence carries usable content and nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be re-explained, and the description still covers the output dimensions, the two mutually exclusive input paths, name-resolution prerequisites, and the filter-combination caveat. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter and the baseline is 3. The description still adds interaction meaning the schema states only per-parameter: the 'exactly one of' constraint across author/query, and that document-type and subject filters narrow every reported figure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Compute INSPIRE-HEP's citation summary') and enumerates exactly what is produced (h-index, totals, averages, per-bucket counts, per-year citations) for two input modes. An agent can distinguish this from cern_inspire_export_citations (raw citation export) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the selection rule precisely ('Pass exactly one of author ... or query') and gives a prerequisite workflow ('resolve a name with cern_inspire_search_authors first'). It does not explicitly name export_citations or say when a summary is preferable to exporting citations, so sibling routing is only partially covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_get_paperGet INSPIRE paperA
Read-onlyIdempotent
Inspect

Fetch one paper's full INSPIRE-HEP record by recid, arXiv ID, or DOI: authors with affiliations and identifiers, abstract, publication references, arXiv and DOI identifiers, keywords, subjects, citation counts, linked experiments, texkeys, and whether HEPData holds its numerical tables (record DOI, latest version, table count, hepdata.net link). Also returns ready-made literature queries for the papers citing it and for its references. Large collaboration papers can list thousands of authors; max_authors caps the list while authorCount gives the full number.

ParametersJSON Schema
NameRequiredDescriptionDefault
paperYesINSPIRE recid (e.g. 451647), arXiv ID (1207.7214 or hep-th/9711200, with or without 'arXiv:', a version suffix, or an https://arxiv.org/abs/ or https://arxiv.org/pdf/ prefix), DOI (10.1016/…, with or without 'doi:' or an https://doi.org/ prefix; no * or ? wildcards), an https://inspirehep.net/literature/<recid> URL, or HEPData's ins<recid> form, alone or in an https://www.hepdata.net/record/ins<recid> URL. Up to 256 characters.
max_authorsNoMost authors to list (nonnegative integer, default 25; values above 500 use 500). Zero lists no authors. The full count is always in authorCount.
author_offsetNoZero-based starting position in the normalized author list (default 0). Use nextAuthorOffset from the previous page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe max_authors cap applied.
coreNoTrue when INSPIRE classes the paper as core HEP, when recorded.
dateNoEarliest date INSPIRE records for the paper: YYYY, YYYY-MM, or YYYY-MM-DD.
doisNoDOIs of the paper.
urlsNoExternal links INSPIRE records for the paper.
errorNoPresent when the call failed. Absent on success.
recidNoINSPIRE literature record ID.
shownNoNumber of authors listed.
titleNoTitle as text: publisher HTML, JATS, and MathML converted (scripts as _x or ^{xy}), LaTeX left as published.
noticeNoGuidance when the recid asked for was merged into this record, the author list was capped, HEPData availability could not be checked, or the paper has more than one HEPData record.
arxivIdNoarXiv identifier, when the paper has one.
authorsNoAuthors in record order from authorOffset, capped at the effective max_authors budget.
hepdataNoHEPData availability for the paper's numerical tables.
texkeysNoINSPIRE texkeys (BibTeX citation keys), current first.
abstractNoFull abstract as text (arXiv-sourced when available): publisher markup converted like title, LaTeX left as published.
citeableNoINSPIRE citeable flag, when recorded.
keywordsNoKeywords, de-duplicated.
licensesNoLicences recorded for the paper.
refereedNoTrue when published in a refereed venue, when recorded.
subjectsNoINSPIRE subject categories.
truncatedNoTrue when available authors remain after this page, including a zero-budget page.
inspireUrlNoThe paper on inspirehep.net.
mergedFromNoThe recid asked for, when INSPIRE had merged that record into this one and redirects it here; cite and query this record by recid.
resolvedAsNoWhich identifier form the paper input was resolved from.
authorCountNoTotal number of authors on the paper.
citingQueryNoLiterature query for papers citing this one; pass to cern_inspire_search_literature.
experimentsNoAccelerator experiments linked to the paper.
authorOffsetNoZero-based starting position in the normalized available author list.
preprintDateNoPreprint date, when recorded.
publicationsNoPublication references (journal, volume, year, pages).
citationCountNoCitations INSPIRE counts for the paper.
documentTypesNoINSPIRE document types.
numberOfPagesNoPage count, when recorded.
reportNumbersNoReport numbers.
abstractSourceNoWho supplied the abstract (e.g. arXiv, a publisher).
collaborationsNoCollaborations credited on the paper; empty for most non-collaboration papers.
alternateTitlesNoOther titles INSPIRE records (translations, preprint titles), converted to text like title.
arxivCategoriesNoarXiv categories of the e-print.
publicationDateNoPublication (imprint) date, when recorded.
referencesQueryNoLiterature query for this paper's references; pass to cern_inspire_search_literature.
nextAuthorOffsetNoPass as author_offset to read the next page; absent when no authors remain or the budget is zero.
citationCountWithoutSelfNoCitations excluding self-citations, when INSPIRE reports it.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds real operational context beyond that: large collaboration papers can list thousands of authors, max_authors caps the list, and authorCount always exposes the true total.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The verb and identifier forms are front-loaded, and the long field enumeration is dense but earns its place by telling the agent what the record contains. The pagination note is useful rather than filler. Slightly long overall but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still sketches the payload (authors, abstract, identifiers, HEPData tables, ready-made queries) and the key pagination mechanics. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description restates the max_authors/authorCount relationship already documented in the schema and adds no format or syntax detail the schema lacks, so it does not exceed baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Fetch one paper's full INSPIRE-HEP record") and immediately names the three identifier forms accepted. This clearly separates it from discovery-oriented siblings like cern_inspire_search_literature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The identifier-based framing makes the usage context clear: call this when you already hold a recid/arXiv ID/DOI. It stops short of explicitly contrasting with search_literature or noting what to do when you only have a title, so no exclusion is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_list_referenceINSPIRE reference vocabularyA
Read-onlyIdempotent
Inspect

Decode the vocabulary the other cern_inspire tools take: INSPIRE search syntax (field operators, boolean logic, sort orders, the 10,000-result window, and how malformed queries behave), identifier forms (recid, arXiv, DOI, BAI, ORCID, INSPIRE ID, institution recid, texkey, HEPData DOIs), the document_types and subjects filter values, citation-summary buckets, and HEPData record versions and DOIs. Static content with no upstream call; use it to build a query or to recover from an empty or unexpectedly broad result.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesWhich vocabulary to decode: search_syntax (query operators and rules), identifiers (paper, author, experiment, institution, and HEPData identifier forms), document_types, subjects, citation_buckets (citation-summary ranges and terms), or hepdata (record versions, DOIs, and licence).

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
topicNoThe topic decoded.
entriesNoThe entries for the topic.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/not-open-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: 'Static content with no upstream call' (no network, always succeeds) and the fact that it documents the 10,000-result window and how malformed queries behave. It stops short of describing the response shape, but that is minor given the output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then the enumerated topics, then the usage trigger. The single long sentence listing topics is dense but every clause maps to an actual enum value, so little is wasted; it could be marginally tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-enum static reference tool with an output schema already present, the description covers everything an agent needs: what each topic contains, that it is offline/static, and when to reach for it. No return-value explanation is required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single enum parameter is fully documented in the schema, so the baseline is 3. The description restates the enum categories (search syntax, identifier forms, etc.) with marginally more detail than the schema, but adds no format or syntax guidance beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Decode the vocabulary the other cern_inspire tools take,' and then enumerates exactly which vocabularies (search syntax, identifier forms, document_types, subjects, citation buckets, HEPData). This clearly distinguishes it from the search/get siblings, which consume that vocabulary rather than explain it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions: 'use it to build a query or to recover from an empty or unexpectedly broad result.' It also clarifies the relationship to the alternatives ('the other cern_inspire tools take'), so an agent knows this is the pre-query/recovery helper rather than a retrieval tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_search_authorsSearch INSPIRE authorsA
Read-onlyIdempotent
Inspect

Find physicist profiles in INSPIRE-HEP by name, INSPIRE BAI, ORCID, INSPIRE ID, or author recid. Each profile carries its recid, BAI, ORCID, current and past positions, advisors, arXiv categories, links, awards, and a literatureQuery that selects the person's papers in cern_inspire_search_literature. A name returns ranked candidates (a bare surname can match tens of thousands of profiles, and a less-cited namesake can rank first), so confirm the person from positions and categories before passing a bai or recid to cern_inspire_get_citation_summary. An identifier matches exactly.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoProfiles to return (1–25, default 5).
queryYesA physicist's name ("Witten, Edward" or "Edward Witten") or one identifier: INSPIRE BAI (Edward.Witten.1, exact and case-sensitive), ORCID (0000-0002-7752-6073 or an orcid.org URL), INSPIRE ID (INSPIRE-00136372), or author recid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of profiles returned.
noticeNoGuidance on an empty or capped result.
authorsNoMatching profiles, in INSPIRE relevance order.
matchedAsNoHow the query was read: orcid, inspire_id, bai, or recid (exact identifier match), or name (free-text search).
truncatedNoTrue when more profiles matched than were returned.
totalCountNoTotal author profiles the query matched.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, openWorld), so the description's job is to add match behavior — and it does: names return ranked candidates with ambiguity risk, identifiers match exactly. It stops short of describing pagination or result ordering beyond ranking, but the added ambiguity warning is genuinely useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then value, then usage guidance; every sentence earns its place. It is dense and slightly long, but not padded — no restatement of the title or name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't enumerate returns, yet it still previews the profile shape and the literatureQuery handoff. Together with the routing advice, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already lists accepted identifier formats, so baseline is 3. The description adds match semantics per query type (ranked candidate list for names vs exact for identifiers) that the schema does not convey, pushing it slightly above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (find physicist profiles in INSPIRE-HEP) and enumerates the five accepted lookup keys. It is clearly distinguishable from siblings like cern_inspire_search_literature and cern_inspire_get_citation_summary, which it names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: confirm the person via positions/categories before passing a bai or recid to cern_inspire_get_citation_summary, and notes the literatureQuery feeds cern_inspire_search_literature. It also warns that a bare surname can match tens of thousands of profiles and that a less-cited namesake can rank first, which is real when-not-to-trust guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_search_experimentsSearch INSPIRE experimentsA
Read-onlyIdempotent
Inspect

Find experiments, collaborations, and facilities in INSPIRE-HEP (ATLAS, CMS, DUNE, Belle II, …) by name, accelerator, or INSPIRE legacy name (CERN-LHC-CMS); digits alone look up an experiment recid. Each record carries the accelerator, host institutions, collaboration and subgroups, classification, lifecycle dates (proposed, approved, started, completed, ongoing), INSPIRE's paper count, a description, and a literatureQuery to pass to cern_inspire_search_literature or cern_inspire_get_citation_summary for the experiment's papers.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoExperiments to return (1–25, default 5).
queryYesExperiment, collaboration, accelerator, or facility name (ATLAS, LHCb, Tevatron), an INSPIRE legacy name (CERN-LHC-CMS), or an experiment recid (digits only).

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of records returned.
noticeNoGuidance on an empty or capped result.
truncatedNoTrue when more records matched than were returned.
totalCountNoTotal experiment records the query matched.
experimentsNoMatching experiment records, in INSPIRE relevance order.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and openWorld, so the safety profile is covered. The description adds real behavioral value beyond that: the exact record contents (accelerator, institutions, subgroups, lifecycle dates, paper count) and the chaining affordance via literatureQuery, which an agent could not infer from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the searchable resource and examples before the record-shape detail. Dense but every clause carries information; slightly long, though no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be re-explained, yet the description's enumeration of record fields is still useful for judging downstream chaining to the literature tools. Combined with annotations covering safety, nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema description already spells out the accepted query forms (name, legacy name like CERN-LHC-CMS, digits-only recid). The description restates these acceptable inputs but adds no format details or edge-case semantics beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Find') and resource ('experiments, collaborations, and facilities in INSPIRE-HEP') with concrete examples (ATLAS, CMS, DUNE, Belle II). The scope is clearly narrower than search_literature or search_authors, so an agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context on what can be searched (name, accelerator, INSPIRE legacy name, recid) and explicitly routes downstream work to cern_inspire_search_literature or cern_inspire_get_citation_summary via the literatureQuery field. It stops short of stating when to prefer this over search_authors or search_hepdata, so it is not a full when/when-not statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_search_hepdataSearch HEPData recordsA
Read-onlyIdempotent
Inspect

Find HEPData measurement records by physics content — process, observable, energy, collaboration — when the paper is unknown, through INSPIRE-HEP's index of every HEPData submission. Each hit carries the paper recids (pass to cern_inspire_get_paper), collaborations, keywords (reactions such as "P P --> TOP TOPBAR X", observables, centre-of-mass energies), the HEPData record DOI (recordDoi, the citation for the data), latest version, table count, and hepdataUrl, the hepdata.net record page that holds the table values; this tool does not return the values themselves. Only the first 10,000 results of a query are reachable.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, starting at 1. page × size may not exceed 10,000.
sizeNoRecords per page (1–50, default 10).
sortNoResult order: relevance (default) or mostrecent.relevance
queryYesFree text or INSPIRE syntax over HEPData records, e.g. top pair differential cross section 13 TeV; collaborations.value:LHCb; keywords.value:"Inclusive"; or literature.control_number:<recid> for one paper's data. INSPIRE does not reject malformed syntax; see cern_inspire_list_reference topic search_syntax.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied.
pageNoThe page returned.
sizeNoThe page size requested.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of records on this page.
noticeNoGuidance on an empty or paged result.
hasMoreNoTrue when INSPIRE has a further page of results.
recordsNoThe HEPData records on this page, in the requested order.
nextPageNoThe page number to request next, when one exists within the 10,000-result window.
truncatedNoTrue when more results exist beyond this page.
totalCountNoTotal HEPData records the query matched.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the read-only/idempotent annotations: it enumerates the payload fields an agent will get back (recids, collaborations, keywords, recordDoi, latest version, table count, hepdataUrl), states explicitly that the table values themselves are NOT returned, and discloses the 10,000-result reachability cap. These are exactly the traits an agent needs to plan a call and a follow-up.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the key routing hint are front-loaded, and the payload enumeration is information-dense rather than padding. The first sentence is long and clause-heavy, but every clause carries a distinct fact; only the trailing result-cap sentence is a slight add-on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition covers purpose, selection condition, payload contents, the explicit non-return of data values, and the hard result ceiling, with downstream routing to cern_inspire_get_paper. For a 4-parameter search tool with a full output schema, nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by naming the physics facets the query field operates over (process, observable, energy, collaboration) and by flagging that the result cap applies to the query, which reinforces the page/size limits. It does not add syntax beyond the schema's examples, so it is a modest lift above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find HEPData measurement records') plus the searchable dimensions (process, observable, energy, collaboration) and the data source (INSPIRE-HEP's index of HEPData submissions). This clearly distinguishes it from sibling paper-oriented tools like cern_inspire_search_literature and cern_inspire_get_paper.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'when the paper is unknown' gives an explicit selection condition against the sibling tool that finds papers, and 'pass to cern_inspire_get_paper' describes the onward step. It stops short of an explicit when-not clause (e.g. 'if you already have the recid or DOI, use X instead'), so it is clear context rather than full routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cern_inspire_search_literatureSearch INSPIRE literatureA
Read-onlyIdempotent
Inspect

Search INSPIRE-HEP papers with INSPIRE query syntax or free text, filtered by document type, subject, and year, sorted by relevance, recency, or citations. Returns one page of papers with recid, title, first author, date, citation counts, arXiv ID, DOI, publication, and an abstract snippet; pass a recid to cern_inspire_get_paper for the full record or to cern_inspire_export_citations ("recid:N") for BibTeX. Empty recognized field clauses are invalid; other malformed syntax can widen or empty the match, so check an unexpectedly broad or empty result against cern_inspire_list_reference topic search_syntax. Only the first 10,000 results of a query are reachable.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, starting at 1. page × size may not exceed 10,000.
sizeNoPapers per page (1–100, default 10).
sortNoResult order: relevance (default), mostrecent, or mostcited.relevance
queryYesINSPIRE query syntax or free text. Common operators: "a Jane.Doe.1" or "a Doe, J" (author), "t higgs boson" (title words), "cn atlas" or "collaboration:atlas" (collaboration), "date > 2015", "topcite 500+" (cited 500+ times), "refersto:recid:451647" (papers citing a record), "citedby:recid:451647" (its references), "j Phys.Rev.Lett." (journal), "eprint 1207.7214"; combine with and/or/not. Bare words search all fields. Empty recognized field clauses such as "a:" are invalid; other syntax is passed to INSPIRE without complete grammar validation. See cern_inspire_list_reference topic search_syntax.
year_toNoLatest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no upper bound.
subjectsNoRestrict to INSPIRE subject categories (up to 4). Multiple values must ALL hold, not either. Values: Astrophysics, Phenomenology-HEP, Theory-HEP, Quantum Physics, Unknown, Gravitation and Cosmology, Experiment-HEP, Theory-Nucl, Accelerators, Instrumentation, General Physics, Experiment-Nucl, Math and Math Physics, Condensed Matter, Computing, Lattice, Other, Data Analysis and Statistics.
year_fromNoEarliest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no lower bound.
document_typesNoRestrict to INSPIRE document types (up to 4). Multiple values must ALL hold (published + review = published reviews), not either. Values: article, published, conference paper, thesis, review, note, proceedings, lectures, book chapter, book, introductory, activity report, report.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied.
pageNoThe page returned.
sizeNoThe page size requested.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of papers on this page.
noticeNoGuidance on an empty, very broad, or paged result.
papersNoThe papers on this page, in the requested order.
hasMoreNoTrue when INSPIRE has a further page of results.
nextPageNoThe page number to request next, when one exists within the 10,000-result window.
truncatedNoTrue when more results exist beyond this page.
totalCountNoTotal literature records the query matched.
appliedFiltersNoSort and filters applied, e.g. "sort=mostcited; years=2012–2015", or "none".

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/openWorld/idempotent; the description adds substantive behavior beyond that: the 10,000-result reachability ceiling, that empty recognized field clauses are invalid while other malformed syntax is passed through unvalidated, and how malformed syntax can widen or empty the match. That is exactly the extra context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then returns, then routing, then caveats; every sentence carries information. It is dense and slightly long, but no sentence is filler or redundant with the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, an output schema, and read-only annotations, the description still supplies the operational caveats an agent needs (result ceiling, invalid clause syntax, malformed-query symptoms and where to look up syntax) plus the follow-up tool paths.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents operators, page/size limits, sort enum, and the year/document_type/subject filters in detail. The description's query-syntax and filtering mentions largely restate the schema; the 10,000 limit also appears in the page parameter description. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (search INSPIRE-HEP papers), names the query modes (INSPIRE syntax or free text) and the filter/sort dimensions, and explicitly routes to siblings (cern_inspire_get_paper, cern_inspire_export_citations) rather than leaving the agent to guess.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit next-step routing ('pass a recid to ... get_paper for the full record or to ... export_citations ("recid:N") for BibTeX') plus a diagnostic path when results look wrong (check cern_inspire_list_reference topic search_syntax). Conditions for each alternative are stated, not implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedcern_inspire_export_citations9 fields changed
      • addedInput schema / properties / document_types
        Added value: +{
        +  "description": "Restrict to INSPIRE document types (up to 4). Multiple values must ALL hold (published + review = published reviews), not either. Values: article, published, conference paper, thesis, review, note, proceedings, lectures, book chapter, book, introductory, activity report, report.",
        +  "items": {
        +    "description": "An INSPIRE document type.",
        +    "enum": [
        +      "article",
        +      "published",
        +      "conference paper",
        +      "thesis",
        +      "review",
        +      "note",
        +      "proceedings",
        +      "lectures",
        +      "book chapter",
        +      "book",
        +      "introductory",
        +      "activity report",
        +      "report"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 4,
        +  "type": "array"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"Literature query selecting the papers to cite. Named papers: \"recid:451647 or arxiv:1207.7214 or doi:10.1016/j.physletb.2012.08.020\". Or any INSPIRE query: a topic (\"t higgs and topcite 500+\"), an author (\"a Edward.Witten.1\"), or the papers citing a record (\"refersto:recid:451647\"). See cern_inspire_list_reference topic search_syntax."New value: +"Literature query selecting the papers to cite, narrowed by the same document_types, subjects, year_from and year_to filters as search. Named papers: \"recid:451647 or arxiv:1207.7214 or doi:10.1016/j.physletb.2012.08.020\". Or a topic (\"t higgs and topcite 500+\"), an author (\"a Edward.Witten.1\"), or citing papers (\"refersto:recid:451647\"). Empty recognized field clauses such as \"a:\" are invalid; other syntax is passed through without complete grammar validation. See cern_inspire_list_reference topic search_syntax."
      • addedInput schema / properties / subjects
        Added value: +{
        +  "description": "Restrict to INSPIRE subject categories (up to 4). Multiple values must ALL hold, not either. Values: Astrophysics, Phenomenology-HEP, Theory-HEP, Quantum Physics, Unknown, Gravitation and Cosmology, Experiment-HEP, Theory-Nucl, Accelerators, Instrumentation, General Physics, Experiment-Nucl, Math and Math Physics, Condensed Matter, Computing, Lattice, Other, Data Analysis and Statistics.",
        +  "items": {
        +    "description": "An INSPIRE subject category.",
        +    "enum": [
        +      "Astrophysics",
        +      "Phenomenology-HEP",
        +      "Theory-HEP",
        +      "Quantum Physics",
        +      "Unknown",
        +      "Gravitation and Cosmology",
        +      "Experiment-HEP",
        +      "Theory-Nucl",
        +      "Accelerators",
        +      "Instrumentation",
        +      "General Physics",
        +      "Experiment-Nucl",
        +      "Math and Math Physics",
        +      "Condensed Matter",
        +      "Computing",
        +      "Lattice",
        +      "Other",
        +      "Data Analysis and Statistics"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 4,
        +  "type": "array"
        +}
      • addedInput schema / properties / year_from
        Added value: +{
        +  "description": "Earliest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no lower bound.",
        +  "maximum": 2100,
        +  "minimum": 1900,
        +  "type": "integer"
        +}
      • addedInput schema / properties / year_to
        Added value: +{
        +  "description": "Latest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no upper bound.",
        +  "maximum": 2100,
        +  "minimum": 1900,
        +  "type": "integer"
        +}
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "not": {
        -      "required": [
        -        "error"
        -      ]
        -    },
        -    "required": [
        -      "format",
        -      "page",
        -      "entries",
        -      "truncated",
        -      "shown",
        -      "cap"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "error"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "not": {
        +      "required": [
        +        "error"
        +      ]
        +    },
        +    "required": [
        +      "format",
        +      "page",
        +      "entries",
        +      "appliedFilters",
        +      "truncated",
        +      "shown",
        +      "cap"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "error"
        +    ]
        +  }
        +]
      • addedOutput schema / properties / appliedFilters
        Added value: +{
        +  "description": "Sort and filters applied, or \"none\".",
        +  "type": "string"
        +}
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `beyond_result_window`: page × size exceeds the 10,000 results INSPIRE serves for one query. `invalid_query`: INSPIRE answered 400 to a parameter value it refuses. `inspire_rate_limited`: INSPIRE returned 429 after the pacer and retries. `pacer_shed`: The server's outbound INSPIRE queue could not start the request within the call's remaining budget. `upstream_unreadable`: The INSPIRE body exceeded the byte ceiling, or was JSON or HTML where citation text was expected. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `invalid_year_range`: year_from is later than year_to. `beyond_result_window`: page × size exceeds the 10,000 results INSPIRE serves for one query. `invalid_query`: A recognized field clause has no value, or INSPIRE answered 400 to a parameter value it refuses. `inspire_rate_limited`: INSPIRE returned 429 after the pacer and retries. `pacer_shed`: The server's outbound INSPIRE queue could not start the request within the call's remaining budget. `upstream_unreadable`: The INSPIRE body exceeded the byte ceiling, or was JSON or HTML where citation text was expected. Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / error / properties / data / properties / reason / examples
        Previous value: -[
        -  "beyond_result_window",
        -  "invalid_query",
        -  "inspire_rate_limited",
        -  "pacer_shed",
        -  "upstream_unreadable"
        -]New value: +[
        +  "invalid_year_range",
        +  "beyond_result_window",
        +  "invalid_query",
        +  "inspire_rate_limited",
        +  "pacer_shed",
        +  "upstream_unreadable"
        +]
    • Changedcern_inspire_get_citation_summary2 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"An INSPIRE literature query, e.g. \"collaboration:atlas\", \"t neutrino oscillation\", \"a Edward.Witten.1\", or \"affid:902725\" for an institution's papers (CERN; affid takes the institution recid that cern_inspire_search_authors and cern_inspire_search_experiments return). Literature queries do not match ORCIDs; pass an ORCID as author. Pass this or author, not both."New value: +"An INSPIRE literature query, e.g. \"collaboration:atlas\", \"t neutrino oscillation\", \"a Edward.Witten.1\", or \"affid:902725\" for an institution's papers (CERN; affid takes the institution recid that cern_inspire_search_authors and cern_inspire_search_experiments return). Empty recognized field clauses such as \"a:\" are invalid; other syntax is passed through without complete grammar validation. Literature queries do not match ORCIDs; pass an ORCID as author. Pass this or author, not both."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_target`: Neither or both of author and query were given. `author_not_identifier`: author is not a BAI, ORCID, INSPIRE ID, or recid — usually a name. `author_not_found`: The author identifier matches no INSPIRE profile. `invalid_year_range`: year_from is later than year_to. `invalid_query`: INSPIRE answered 400 to a parameter value it refuses. `inspire_rate_limited`: INSPIRE returned 429 after the pacer and retries. `pacer_shed`: The server's outbound INSPIRE queue could not start the request within the call's remaining budget. `upstream_unreadable`: The INSPIRE body exceeded the byte ceiling, was HTML where JSON was expected, or was invalid JSON. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_target`: Neither or both of author and query were given. `author_not_identifier`: author is not a BAI, ORCID, INSPIRE ID, or recid — usually a name. `author_not_found`: The author identifier matches no INSPIRE profile. `invalid_year_range`: year_from is later than year_to. `invalid_query`: A recognized field clause has no value, or INSPIRE answered 400 to a parameter value it refuses. `inspire_rate_limited`: INSPIRE returned 429 after the pacer and retries. `pacer_shed`: The server's outbound INSPIRE queue could not start the request within the call's remaining budget. `upstream_unreadable`: The INSPIRE body exceeded the byte ceiling, was HTML where JSON was expected, or was invalid JSON. Other values are possible when a failure originates below the handler."
    • Changedcern_inspire_get_paper8 fields changed
      • addedInput schema / properties / author_offset
        Added value: +{
        +  "default": 0,
        +  "description": "Zero-based starting position in the normalized author list (default 0). Use nextAuthorOffset from the previous page.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedInput schema / properties / max_authors / description
        Previous value: -"Most authors to list (0–500, default 25). The full count is always in authorCount."New value: +"Most authors to list (nonnegative integer, default 25; values above 500 use 500). Zero lists no authors. The full count is always in authorCount."
      • changedInput schema / properties / max_authors / maximum
        Previous value: -500New value: +9007199254740991
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "not": {
        -      "required": [
        -        "error"
        -      ]
        -    },
        -    "required": [
        -      "recid",
        -      "resolvedAs",
        -      "title",
        -      "alternateTitles",
        -      "authorCount",
        -      "authors",
        -      "collaborations",
        -      "experiments",
        -      "publications",
        -      "arxivCategories",
        -      "dois",
        -      "reportNumbers",
        -      "keywords",
        -      "subjects",
        -      "documentTypes",
        -      "citationCount",
        -      "texkeys",
        -      "urls",
        -      "licenses",
        -      "inspireUrl",
        -      "citingQuery",
        -      "referencesQuery",
        -      "hepdata",
        -      "truncated",
        -      "shown",
        -      "cap"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "error"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "not": {
        +      "required": [
        +        "error"
        +      ]
        +    },
        +    "required": [
        +      "recid",
        +      "resolvedAs",
        +      "title",
        +      "alternateTitles",
        +      "authorCount",
        +      "authorOffset",
        +      "authors",
        +      "collaborations",
        +      "experiments",
        +      "publications",
        +      "arxivCategories",
        +      "dois",
        +      "reportNumbers",
        +      "keywords",
        +      "subjects",
        +      "documentTypes",
        +      "citationCount",
        +      "texkeys",
        +      "urls",
        +      "licenses",
        +      "inspireUrl",
        +      "citingQuery",
        +      "referencesQuery",
        +      "hepdata",
        +      "truncated",
        +      "shown",
        +      "cap"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "error"
        +    ]
        +  }
        +]
      • addedOutput schema / properties / authorOffset
        Added value: +{
        +  "description": "Zero-based starting position in the normalized available author list.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedOutput schema / properties / authors / description
        Previous value: -"Authors in record order, capped at max_authors."New value: +"Authors in record order from authorOffset, capped at the effective max_authors budget."
      • addedOutput schema / properties / nextAuthorOffset
        Added value: +{
        +  "description": "Pass as author_offset to read the next page; absent when no authors remain or the budget is zero.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedOutput schema / properties / truncated / description
        Previous value: -"True when the author list was capped at max_authors."New value: +"True when available authors remain after this page, including a zero-budget page."
    • Changedcern_inspire_search_literature2 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"INSPIRE query syntax or free text. Common operators: \"a Jane.Doe.1\" or \"a Doe, J\" (author), \"t higgs boson\" (title words), \"cn atlas\" or \"collaboration:atlas\" (collaboration), \"date > 2015\", \"topcite 500+\" (cited 500+ times), \"refersto:recid:451647\" (papers citing a record), \"citedby:recid:451647\" (its references), \"j Phys.Rev.Lett.\" (journal), \"eprint 1207.7214\"; combine with and/or/not. Bare words search all fields. INSPIRE does not reject malformed syntax; see cern_inspire_list_reference topic search_syntax for the rest."New value: +"INSPIRE query syntax or free text. Common operators: \"a Jane.Doe.1\" or \"a Doe, J\" (author), \"t higgs boson\" (title words), \"cn atlas\" or \"collaboration:atlas\" (collaboration), \"date > 2015\", \"topcite 500+\" (cited 500+ times), \"refersto:recid:451647\" (papers citing a record), \"citedby:recid:451647\" (its references), \"j Phys.Rev.Lett.\" (journal), \"eprint 1207.7214\"; combine with and/or/not. Bare words search all fields. Empty recognized field clauses such as \"a:\" are invalid; other syntax is passed to INSPIRE without complete grammar validation. See cern_inspire_list_reference topic search_syntax."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `beyond_result_window`: page × size exceeds the 10,000 results INSPIRE serves for one query. `invalid_year_range`: year_from is later than year_to. `invalid_query`: INSPIRE answered 400 to a parameter value it refuses. `inspire_rate_limited`: INSPIRE returned 429 after the pacer and retries. `pacer_shed`: The server's outbound INSPIRE queue could not start the request within the call's remaining budget. `upstream_unreadable`: The INSPIRE body exceeded the byte ceiling, was HTML where JSON was expected, or was invalid JSON. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `beyond_result_window`: page × size exceeds the 10,000 results INSPIRE serves for one query. `invalid_year_range`: year_from is later than year_to. `invalid_query`: A recognized field clause has no value, or INSPIRE answered 400 to a parameter value it refuses. `inspire_rate_limited`: INSPIRE returned 429 after the pacer and retries. `pacer_shed`: The server's outbound INSPIRE queue could not start the request within the call's remaining budget. `upstream_unreadable`: The INSPIRE body exceeded the byte ceiling, was HTML where JSON was expected, or was invalid JSON. Other values are possible when a failure originates below the handler."
  2. 8 tool updates
    • First observedcern_inspire_export_citations
    • First observedcern_inspire_get_citation_summary
    • First observedcern_inspire_get_paper
    • First observedcern_inspire_list_reference
    • First observedcern_inspire_search_authors
    • First observedcern_inspire_search_experiments
    • First observedcern_inspire_search_hepdata
    • First observedcern_inspire_search_literature

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching and retrieving high-energy physics literature, authors, institutions, and conferences from INSPIRE-HEP.
    15 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for the INSPIRE-HEP API, enabling literature search, author lookups, DOI/arXiv/ORCID resolution, citation export, and bibliography generation with configurable detail levels.
    9
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that integrates InspireHEP high-energy physics literature with LLMs. Search papers, explore citations, retrieve author metrics, and generate formatted references.
    9
    34 PyPI
    7
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching the NASA Astrophysics Data System literature with full ADS query syntax, retrieving complete paper records, and exploring citation and reference graphs.
    8 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.