Skip to main content
Glama

cern-inspire-mcp-server

Search HEPData records

cern_inspire_search_hepdata
Read-onlyIdempotent

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "cern_inspire_search_hepdata"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, starting at 1. page × effective size (after clamping) may not exceed 10,000.
sizeNoRecords per page (positive integer, default 10; above 50 uses 50).
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

NameRequiredDescriptionDefault
capNoThe page size applied.
pageNoThe page returned.
sizeNoThe effective page size after clamping.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / page / description
      Previous value: -"Page number, starting at 1. page × size may not exceed 10,000."New value: +"Page number, starting at 1. page × effective size (after clamping) may not exceed 10,000."
    • changedInput schema / properties / size / description
      Previous value: -"Records per page (1–50, default 10)."New value: +"Records per page (positive integer, default 10; above 50 uses 50)."
    • changedInput schema / properties / size / maximum
      Previous value: -50New value: +9007199254740991
    • 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, 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 × effective size (after clamping) 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, was HTML where JSON was expected, or was invalid JSON. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / size / description
      Previous value: -"The page size requested."New value: +"The effective page size after clamping."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Despite annotations already declaring safe read-only behavior, the description adds substantial context: it lists returned metadata fields, explains that values are not returned, points to hepdataUrl for values, and discloses the 10,000-result reachability limit.

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

Conciseness5/5

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

Two front-loaded sentences carry the core purpose and all key behavioral caveats without repetition. The dense parenthetical lists earn their place by previewing the returned fields.

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?

Given the presence of an output schema and read-only annotations, the description provides everything needed: when to use it, what it returns, what it does not return, how to get values, and the result cap.

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?

The schema already documents all four parameters at 100% coverage, including query syntax, paging limits, size clamping, and sort options. The description reinforces that query is about physics content, but does not add meaningful semantics beyond the schema for individual parameters.

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?

The description states a specific verb and resource ('Find HEPData measurement records') and clearly scopes it to physics-content search via INSPIRE-HEP's index. It distinguishes itself from retrieval tools by noting that paper recids can be passed to 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 Guidelines5/5

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

It explicitly says to use this when the paper is unknown, and directs the agent to pass resulting recids to cern_inspire_get_paper for paper retrieval. It also makes clear the tool does not return table values, preventing misuse.

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.