# cern-inspire-mcp-server (remote · cern-inspire.caseyjhand.com)

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

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-05

## Components

- remote · `cern-inspire.caseyjhand.com`: 74/100 (this document), [markdown](https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cern-inspire.md), [page](https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cern-inspire)
- npm · `@cyanheads/cern-inspire-mcp-server`: 70/100, [markdown](https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cyanheads-cern-inspire-mcp-server.md), [page](https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cyanheads-cern-inspire-mcp-server)

## Channel facts

- Endpoint: `https://cern-inspire.caseyjhand.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-05.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3380 tokens (~422/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the cern-inspire-mcp-server server?

cern-inspire-mcp-server is a hosted endpoint at https://cern-inspire.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http cyanheads-cern-inspire-mcp-server 'https://cern-inspire.caseyjhand.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "cyanheads-cern-inspire-mcp-server": {
      "url": "https://cern-inspire.caseyjhand.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "cyanheads-cern-inspire-mcp-server": {
      "type": "http",
      "url": "https://cern-inspire.caseyjhand.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.cyanheads-cern-inspire-mcp-server]
url = "https://cern-inspire.caseyjhand.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-cern-inspire-mcp-server": {
      "type": "remote",
      "url": "https://cern-inspire.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add cyanheads-cern-inspire-mcp-server --url 'https://cern-inspire.caseyjhand.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  cyanheads-cern-inspire-mcp-server:
    url: "https://cern-inspire.caseyjhand.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "cyanheads-cern-inspire-mcp-server": {
      "Transport": "http",
      "Url": "https://cern-inspire.caseyjhand.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add cyanheads-cern-inspire-mcp-server -t streamable-http -u 'https://cern-inspire.caseyjhand.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "cyanheads-cern-inspire-mcp-server": {
      "type": "http",
      "url": "https://cern-inspire.caseyjhand.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-04 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-03 (score 73, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-02 (score 73)

First indexed and scored.

## MCP tools (8)

### `cern_inspire_search_literature` (~654 tokens)

Search INSPIRE literature

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. INSPIRE never rejects malformed syntax: an unparsed operator widens or empties the match, so a very broad or empty result usually means the query needs fixing (cern_inspire_list_reference topic search_syntax). Only the first 10,000 results of a query are reachable.

Input parameters:

- `document_types` (array): 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, p…
- `page` (integer): Page number, starting at 1. page × size may not exceed 10,000.
- `query` (string, required): 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…
- `size` (integer): Papers per page (1–100, default 10).
- `sort` (string): Result order: relevance (default), mostrecent, or mostcited.
- `subjects` (array): 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,…
- `year_from` (integer): Earliest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no lower bound.
- `year_to` (integer): Latest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no upper bound.

Output parameters:

- `appliedFilters` (string): Sort and filters applied, e.g. "sort=mostcited; years=2012–2015", or "none".
- `cap` (number): The page size applied.
- `error` (object): Present when the call failed. Absent on success.
- `hasMore` (boolean): True when INSPIRE has a further page of results.
- `nextPage` (number): The page number to request next, when one exists within the 10,000-result window.
- `notice` (string): Guidance on an empty, very broad, or paged result.
- `page` (number): The page returned.
- `papers` (array): The papers on this page, in the requested order.
- `shown` (number): Number of papers on this page.
- `size` (number): The page size requested.
- `totalCount` (number): Total literature records the query matched.
- `truncated` (boolean): True when more results exist beyond this page.

### `cern_inspire_get_paper` (~312 tokens)

Get INSPIRE paper

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.

Input parameters:

- `max_authors` (integer): Most authors to list (0–500, default 25). The full count is always in authorCount.
- `paper` (string, required): INSPIRE 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…

Output parameters:

- `abstract` (string): Full abstract as text (arXiv-sourced when available): publisher markup converted like title, LaTeX left as published.
- `abstractSource` (string): Who supplied the abstract (e.g. arXiv, a publisher).
- `alternateTitles` (array): Other titles INSPIRE records (translations, preprint titles), converted to text like title.
- `arxivCategories` (array): arXiv categories of the e-print.
- `arxivId` (string): arXiv identifier, when the paper has one.
- `authorCount` (number): Total number of authors on the paper.
- `authors` (array): Authors in record order, capped at max_authors.
- `cap` (number): The max_authors cap applied.
- `citationCount` (number): Citations INSPIRE counts for the paper.
- `citationCountWithoutSelf` (number): Citations excluding self-citations, when INSPIRE reports it.
- `citeable` (boolean): INSPIRE citeable flag, when recorded.
- `citingQuery` (string): Literature query for papers citing this one; pass to cern_inspire_search_literature.
- `collaborations` (array): Collaborations credited on the paper; empty for most non-collaboration papers.
- `core` (boolean): True when INSPIRE classes the paper as core HEP, when recorded.
- `date` (string): Earliest date INSPIRE records for the paper: YYYY, YYYY-MM, or YYYY-MM-DD.
- `documentTypes` (array): INSPIRE document types.
- `dois` (array): DOIs of the paper.
- `error` (object): Present when the call failed. Absent on success.
- `experiments` (array): Accelerator experiments linked to the paper.
- `hepdata` (object): HEPData availability for the paper's numerical tables.
- `inspireUrl` (string): The paper on inspirehep.net.
- `keywords` (array): Keywords, de-duplicated.
- `licenses` (array): Licences recorded for the paper.
- `mergedFrom` (string): The recid asked for, when INSPIRE had merged that record into this one and redirects it here; cite and query this record by recid.
- `notice` (string): Guidance 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.
- `numberOfPages` (number): Page count, when recorded.
- `preprintDate` (string): Preprint date, when recorded.
- `publicationDate` (string): Publication (imprint) date, when recorded.
- `publications` (array): Publication references (journal, volume, year, pages).
- `recid` (string): INSPIRE literature record ID.
- `refereed` (boolean): True when published in a refereed venue, when recorded.
- `referencesQuery` (string): Literature query for this paper's references; pass to cern_inspire_search_literature.
- `reportNumbers` (array): Report numbers.
- `resolvedAs` (string): Which identifier form the paper input was resolved from.
- `shown` (number): Number of authors listed.
- `subjects` (array): INSPIRE subject categories.
- `texkeys` (array): INSPIRE texkeys (BibTeX citation keys), current first.
- `title` (string): Title as text: publisher HTML, JATS, and MathML converted (scripts as _x or ^{xy}), LaTeX left as published.
- `truncated` (boolean): True when the author list was capped at max_authors.
- `urls` (array): External links INSPIRE records for the paper.

### `cern_inspire_export_citations` (~364 tokens)

Export INSPIRE citations

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

Input parameters:

- `format` (string): Entry format: bibtex (default), latex-eu, or latex-us (\bibitem entries in European or US style).
- `page` (integer): Page number, starting at 1. page × size may not exceed 10,000.
- `query` (string, required): 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 au…
- `size` (integer): Entries per page (1–50, default 10).
- `sort` (string): Entry order: relevance (default), mostrecent, or mostcited.

Output parameters:

- `cap` (number): The page size applied.
- `entries` (array): Citation entries, in the requested order.
- `error` (object): Present when the call failed. Absent on success.
- `format` (string): The entry format returned.
- `nextPage` (number): The page number to request next, when more papers follow within the 10,000-result window.
- `notice` (string): Guidance 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.
- `page` (number): The page returned.
- `shown` (number): Number of entries on this page.
- `truncated` (boolean): True when more matched papers follow this page.

### `cern_inspire_search_authors` (~247 tokens)

Search INSPIRE authors

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.

Input parameters:

- `limit` (integer): Profiles to return (1–25, default 5).
- `query` (string, required): A 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 (INSPI…

Output parameters:

- `authors` (array): Matching profiles, in INSPIRE relevance order.
- `cap` (number): The limit applied.
- `error` (object): Present when the call failed. Absent on success.
- `matchedAs` (string): How the query was read: orcid, inspire_id, bai, or recid (exact identifier match), or name (free-text search).
- `notice` (string): Guidance on an empty or capped result.
- `shown` (number): Number of profiles returned.
- `totalCount` (number): Total author profiles the query matched.
- `truncated` (boolean): True when more profiles matched than were returned.

### `cern_inspire_get_citation_summary` (~683 tokens)

Get INSPIRE citation summary

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 <BAI>"). 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 parameters:

- `author` (string): One 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 n…
- `document_types` (array): 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, p…
- `exclude_self_citations` (boolean): Count citations without self-citations (INSPIRE's definition), default false. Setting it leaves out citationsByYear, which always includes self-citations.
- `query` (string): 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 cer…
- `subjects` (array): 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,…
- `year_from` (integer): Earliest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no lower bound.
- `year_to` (integer): Latest year to include (1900–2100, inclusive), matched on the earliest date INSPIRE records for the paper. Omit for no upper bound.

Output parameters:

- `all` (object): Totals over citeable papers.
- `appliedFilters` (string): Filters applied, e.g. "document_types=published; years=2012–2015; exclude_self_citations=true", or "none".
- `buckets` (object): Papers per citation range, for all citeable and for published papers.
- `citationsByYear` (array): Citations 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.c…
- `citeablePapers` (number): Citeable papers among the matched records.
- `effectiveQuery` (string): The literature query sent to INSPIRE.
- `error` (object): Present when the call failed. Absent on success.
- `hIndex` (object): h-index for all citeable and for published papers.
- `matchedRecords` (number): Literature records the query matched, citeable or not.
- `notice` (string): Guidance when no citeable paper matched, or when citations per year were left out or could not be read.
- `published` (object): Totals over published papers.
- `target` (object): What the summary covers.

### `cern_inspire_search_experiments` (~205 tokens)

Search INSPIRE experiments

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.

Input parameters:

- `limit` (integer): Experiments to return (1–25, default 5).
- `query` (string, required): Experiment, collaboration, accelerator, or facility name (ATLAS, LHCb, Tevatron), an INSPIRE legacy name (CERN-LHC-CMS), or an experiment recid (digits only).

Output parameters:

- `cap` (number): The limit applied.
- `error` (object): Present when the call failed. Absent on success.
- `experiments` (array): Matching experiment records, in INSPIRE relevance order.
- `notice` (string): Guidance on an empty or capped result.
- `shown` (number): Number of records returned.
- `totalCount` (number): Total experiment records the query matched.
- `truncated` (boolean): True when more records matched than were returned.

### `cern_inspire_search_hepdata` (~295 tokens)

Search HEPData records

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.

Input parameters:

- `page` (integer): Page number, starting at 1. page × size may not exceed 10,000.
- `query` (string, required): Free 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…
- `size` (integer): Records per page (1–50, default 10).
- `sort` (string): Result order: relevance (default) or mostrecent.

Output parameters:

- `cap` (number): The page size applied.
- `error` (object): Present when the call failed. Absent on success.
- `hasMore` (boolean): True when INSPIRE has a further page of results.
- `nextPage` (number): The page number to request next, when one exists within the 10,000-result window.
- `notice` (string): Guidance on an empty or paged result.
- `page` (number): The page returned.
- `records` (array): The HEPData records on this page, in the requested order.
- `shown` (number): Number of records on this page.
- `size` (number): The page size requested.
- `totalCount` (number): Total HEPData records the query matched.
- `truncated` (boolean): True when more results exist beyond this page.

### `cern_inspire_list_reference` (~198 tokens)

INSPIRE reference vocabulary

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.

Input parameters:

- `topic` (string, required): Which vocabulary to decode: search_syntax (query operators and rules), identifiers (paper, author, experiment, institution, and HEPData identifier forms), document_types, subjects, citation_buckets (…

Output parameters:

- `entries` (array): The entries for the topic.
- `error` (object): Present when the call failed. Absent on success.
- `topic` (string): The topic decoded.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cern-inspire#diagnostics

## Score history

- 2026-10-05: 74
- 2026-10-04: 74
- 2026-10-03: 73
- 2026-10-02: 73

## Common questions

### What is the cern-inspire-mcp-server server?

cern-inspire-mcp-server is listed in the public MCP registry as io.github.cyanheads/cern-inspire-mcp-server. Search INSPIRE-HEP papers, authors, experiments, HEPData records; get citation metrics and BibTeX. This page covers its hosted endpoint (https://cern-inspire.caseyjhand.com/mcp).

### Is the cern-inspire-mcp-server server safe to use?

cern-inspire-mcp-server scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the cern-inspire-mcp-server server expose?

cern-inspire-mcp-server exposes 8 tools: cern_inspire_search_literature, cern_inspire_get_paper, cern_inspire_export_citations, cern_inspire_search_authors, cern_inspire_get_citation_summary, and 3 more. Their descriptions and schemas cost roughly 2,958 tokens of context every time the server is loaded.

### Does the cern-inspire-mcp-server server require authentication?

No. We connected to cern-inspire-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the cern-inspire-mcp-server server still maintained?

cern-inspire-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://cern-inspire.caseyjhand.com/mcp
- Repository: https://github.com/cyanheads/cern-inspire-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cern-inspire.xml
- Changelog JSON feed: https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cern-inspire.json
- HTML version of this page: https://verifymcp.io/servers/cyanheads-cern-inspire-mcp-server/cern-inspire
