Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Cern Opendata MCP Server

by cyanheadsversion 0.3.0i★ –iComputer or cloud
Registry nameio.github.cyanheads/cern-opendata-mcp-server

Install

Overview

Description from the maker (original English)

Search CERN Open Data, fetch records, files, analysis environments, CMS good-run lists, HLT paths.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 7 things (tools) cern_opendata_search_records, cern_opendata_get_records, cern_opendata_list_files, cern_opendata_get_analysis_env …
  • You fill in yourself: MCP_LOG_LEVEL

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://cern-opendata.caseyjhand.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "cern-opendata": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cern-opendata-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http cern-opendata https://cern-opendata.caseyjhand.com/mcp

Or run it on your computer

claude mcp add cern-opendata --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/cern-opendata-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cern-opendata": {
      "url": "https://cern-opendata.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cern-opendata": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cern-opendata-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cern-opendata": {
      "type": "http",
      "url": "https://cern-opendata.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cern-opendata": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cern-opendata-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://cern-opendata.caseyjhand.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • cern_opendata_search_records

    Search the CERN Open Data Portal's datasets, software, environments, documentation and supplementary records with exact-vocabulary filters and an optional full-text query. The filters are experiment, record type, physics category, keyword, collision energy and type, file format,

  • cern_opendata_get_records

    Fetch full metadata for 1-20 records in one call, by recid, DOI, CMS dataset path (/Primary/Era/TIER) or documentation slug. Returns the description, run periods, collision and distribution details, related records, a software-environment summary, the license and a ready citation

  • cern_opendata_list_files

    List one record's files: its file indexes (groups of up to ~1,500 files) with their XRootD URI-list URLs, and per file the XRootD URI, HTTPS download URL, size, adler32 checksum and availability. Without index, returns the record's indexes and its regular files; with index, reads

  • cern_opendata_get_analysis_env

    Assemble what is needed to analyse a record: its container images, CMSSW release and global tag; the condition-data, VM and validated-run records for its run periods; example software that declares it works with the record; and quoted sections of the guides the record links (the

  • cern_opendata_get_validated_runs

    Get a CMS validated-run (good-run) list, which certifies the luminosity sections that are good for physics in each run. Select it by a CMS collision dataset recid, a validated-run list recid, or a run period such as Run2012B (give exactly one of recid and run_period). Choose the

  • cern_opendata_search_trigger_paths

    Look up CMS High-Level Trigger paths by exact name (HLT_IsoMu24) or prefix pattern (HLT_IsoMu*), optionally for one data-taking year. Paths outside the HLT_ family, such as AlCa_EcalPi0, DST_ and DQM_ paths, output modules and HLTriggerFinalPath, are found by their own names, in

  • cern_opendata_list_reference

    Decode the vocabulary the other cern_opendata tools accept: experiments, record types, collision energies and types, file formats and data tiers, availability states, physics categories, LHCb magnet polarities and stripping streams and versions, identifier forms, query syntax, li

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 55 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 7 tool descriptions and found no hidden instructions to the AI

Compared with others in Law & government datai

  • More stars than 0% of the other 1767 servers in this category
  • Published to the registry more recently than 71% of the other 1767 servers in this category
  • Basic checks equal to or better than 100% of the other 1767 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Cern Opendata MCP Server safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 10 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Tilt Base, Korea Data MCP, CaseNode Case Law API

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Tilt Base

Tilt Legal's managed legal skills and your organisation's custom skills, for your AI agent.

by tilt.legalEarlyUpdated today

Runs in the cloud✓ tilt.legal

Korea Data MCP

Korean public data: corporate filings, stock prices, apartments, statutes, economic statistics

by YoungsoonLeeVery newUpdated today

Runs on your computer

CaseNode Case Law API

UK case law: 290k+ judgments, 2.5M citation links, citation validation. Free key at casenode.ai

by LuptonMEarlyUpdated today

Runs in the cloud

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@cyanheads/cern-opendata-mcp-server Search CERN Open Data, fetch records, files, analysis environments, CMS good-run lists, HLT paths via MCP. STDIO or Streamable HTTP. 7 Tools • 1 Record Resource • 1 Agent Skill

Public Hosted Server: https://cern-opendata.caseyjhand.com/mcp


Overview

Particle-physics data from the CERN Open Data Portal: collision and simulated datasets, analysis software, and documentation from ALICE, ATLAS, CMS, LHCb, and more. Search with live facet counts, open records with license and citation, list data files, assemble a record's analysis environment, and look up CMS good-run lists and trigger paths. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.

Tools
ToolDescription
cern_opendata_search_recordsSearch datasets, software, environments, documentation and supplementary records with exact-vocabulary filters and live facet counts
cern_opendata_get_recordsFetch full metadata for up to 20 records a call by recid, DOI, CMS dataset path or documentation slug, with license and citation
cern_opendata_list_filesPage through a record's file indexes and files: XRootD URIs, HTTPS URLs, sizes, checksums, tape availability
cern_opendata_get_analysis_envAssemble a record's analysis environment: container images, CMSSW release, global tag, linked environment and software records, guide sections
cern_opendata_get_validated_runsGet a CMS validated-run (good-run) list for a dataset, a list or a run period, with luminosity-section ranges
cern_opendata_search_trigger_pathsLook up CMS High-Level Trigger paths by name or prefix, parsed into run ranges, versions and L1 seeds
cern_opendata_list_referenceDecode the vocabulary the other tools accept: experiments, record types, energies, formats, physics categories, LHCb stripping, identifiers, query syntax, licensing, run periods
Resources
ResourceDescription
cern-opendata://record/{recid}One record's metadata, license and citation, in the cern_opendata_get_records record shape

Tool-only clients get the same data from cern_opendata_get_records.

Agent skill

cern-opendata-guide connects dataset discovery, file indexes, analysis environments, CMS certification and trigger evidence. It covers identifier sources and checks to make before treating a result as complete. The guide ships with plugin installs, npm, Docker and the Claude Desktop bundle. MCP clients can discover it through the Skills extension and its SDK-generated skill resources, alongside the record resource above. No prompts are registered.

Capability reference

cern_opendata_search_records tool
  • Optional query (an OpenSearch query_string, up to 500 characters) plus OR-list filters type, experiment, category (physics category, Higgs Physics::Standard Model), keywords, collision_energy, collision_type, file_type, availability, collection, and the LHCb magnet_polarity, stripping_stream and stripping_version, each an array of values; year_from/year_to and min_events/max_events bound the data-taking year and event count
  • sort (bestmatch, mostrecent for newest date_published first, title, title_desc), limit 1–50 (default 10; a larger value, up to 10,000, is served at 50 with a notice) and page from 1, counting pages of the limit applied; page × limit past 10,000 fails as page_window_exceeded
  • Compact hits with recids, plus thirteen live facets that each ignore their own filter (type and category with up to 10 secondary values each, and subtypes_other_count or subcategories_other_count when the portal cuts that list); applied_filters echoes what ran, and values outside the verified vocabulary appear under unrecognized_values

cern_opendata_get_records tool
  • ids: up to 100 recids, DOIs, CMS dataset paths (/Primary/Era/TIER) or documentation slugs, mixed in one array; the first 20 distinct are looked up and the rest returned in deferred
  • Each record carries a license with its basis (record, cern_terms_default, not_stated) and, when it has a DOI, a ready citation
  • Documentation and news bodies come in slices of up to 30,000 characters: body_offset with that one id reads on from the body_next_offset the last slice returned
  • Each response stays within 64,000 bytes, except that the first record always comes back whole: records past the budget are left out and listed in deferred, ahead of any ids past the first 20, to pass back as ids
  • Records also return what they state of a variables dictionary (name, type, unit, description), a physics category, pile-up (pileup_html, with the pile-up datasets under links), keywords, and the LHCb magnet_polarity and stripping stream and version
  • Unresolved identifiers land in missing with interpreted_as and guidance instead of failing the call; file lists come from cern_opendata_list_files

cern_opendata_list_files tool
  • recid required; without index, returns the record's file indexes and regular files, and with an index key, that index's files, read without the rest of the record
  • limit 1–500 (default 50; a larger value, up to 10,000, is served at 500 with a notice), continued with next_cursor; each file carries xrootd_uri, size_in_bytes, checksum and availability, an https_url when one can be built from its key or EOS path, and key or filename as the portal states them, and each index a uri_list_url listing every XRootD URI in it
  • Files marked on demand sit on tape and must be requested on the record's portal page first; an umbrella record with no files of its own returns its child recids under children

cern_opendata_get_analysis_env tool
  • recid required; software carries the record's own container images, CMSSW release, global tag and environment recid
  • environment_records (condition, VM, validation) for the record's run periods and example_software that declares it works with the record, up to 50 between them; guides quotes the linked section of the first two portal guides, each capped at 12,000 characters, with the [label]: url reference definitions the quote links through from elsewhere in the guide, and a cut names the cern_opendata_get_records body_offset that reads on from it
  • Always separately_licensed: true; linked records or guides that can't be read leave a notice instead of failing the call

cern_opendata_get_validated_runs tool
  • Exactly one of recid (a CMS collision dataset or a validated-run list) or run_period (Run2012B; 2012B also matches); variant full or muons_only; run_min/run_max; limit 1–2000 (default 200; a larger value, up to 10,000, is served at 2000 with a notice)
  • A dataset recid bounds the runs to the dataset's first and last listed run, echoed in run_bounds; when several lists match, matched_lists names them and no runs are read
  • Each run carries lumi_sections and lumi_ranges; list.https_url downloads the whole list file. CMS only: other records fail as no_validated_runs

cern_opendata_search_trigger_paths tool
  • path: an exact name (HLT_IsoMu24, AlCa_EcalPi0) or a prefix with one trailing * (HLT_IsoMu*); a name without the HLT_ prefix is matched against record path names in the case given and also searched with HLT_ added, and a _v version suffix is dropped; optional year, limit 1–50 (default 10; a larger value, up to 10,000, is served at 50 with a notice) and page
  • Each per-year record is parsed into the primary datasets its title names, first_seen, last_seen, per-version run ranges with their l1_seed, and HLT menu record links; parsed: false marks a record to read from its abstract_html
  • CMS open data from 2011–2016 only

cern_opendata_list_reference tool
  • Optional topic: experiments, record_types, collision_energies, collision_types, file_types, availability, categories, lhcb, identifiers, query_syntax, licensing or run_periods; omit it for every table
  • Static and offline; categories, lhcb and run_periods are dated snapshots, while the search facets and cern_opendata_get_validated_runs read the live portal

cern-opendata://record/{recid} resource
  • One record by recid (6004, or a prefixed recid such as atlas-160006; leading zeros ignored) as application/json, in the cern_opendata_get_records record shape: metadata (variable dictionary, physics category, pile-up and LHCb run conditions included), license and citation, without file lists
  • recid comes from cern_opendata_search_records; reads carry a 15-minute public cache hint

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

CERN Open Data-specific:

  • Keyless and read-only; it never stages tape files or writes anything
  • One shared pacer at 50 requests a minute, under the portal's published 60 per client IP, and one 50-second deadline per call across queue wait and retries
  • Filter values canonicalized against the portal's verified vocabulary (13 tev → 13TeV, lhcb → LHCb, Pb-Pb → PbPb, dataset/collision → Dataset::Collision); unknown values are sent as given and flagged
  • Tape-resident (ondemand) records are included in every search and lookup, where the portal othe

Only the beginning is shown; read the rest in the repo

Ask PopNx