Skip to main content
Glama

cern-inspire-mcp-server

Get INSPIRE citation summary

cern_inspire_get_citation_summary
Read-onlyIdempotent

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.

Input 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

NameRequiredDescriptionDefault
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).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema 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."
  2. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.