Skip to main content
Glama

cern-opendata-mcp-server

Search CMS Trigger Paths

cern_opendata_search_trigger_paths
Read-onlyIdempotent

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 the case given. Each match is a per-year path record parsed into the primary datasets its title names, the first and last run the path was seen online, per-version run ranges, the L1 seed, and links to the HLT menu records. Covers CMS open data from 2011-2016. Prescale factors are not returned: each HLT menu record holds a configuration file (cern_opendata_list_files with a menu_recid) whose PrescaleService block lists the prescale in each column of every path it prescales (a path it leaves out has prescale 1), and the CMS luminosity records (collection CMS-Luminosity-Information) hold prescale files that log which column applied by run and luminosity section.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1, counting pages of the limit applied. page × limit may not exceed 10,000.
pathYesTrigger path name (HLT_IsoMu24, AlCa_EcalPi0) or prefix with one trailing wildcard (HLT_IsoMu*): a letter or digit, then letters, digits and underscores. A path starting HLT_ in any case is searched as given, with the prefix case fixed, and matches path names in any case. Any other path is matched against record path names in the case given, the whole name or, with a trailing *, its start (AlCa_EcalPi0, AlCa_*), and is also searched with HLT_ prepended (IsoMu24 finds HLT_IsoMu24, 60Jet10 finds HLT_60Jet10). A trailing version suffix (_v3 or _v*) is dropped, since records list versions as V<n>.
yearNoData-taking year, such as 2012. Trigger records cover 2011-2016.
limitNoRecords per page, 1-50. A value above 50 is served at 50.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe page size (limit) applied to this call.
pageNoThe page returned.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of items returned on this page.
noticeNoGuidance for the next call: how to page on, why nothing matched and what to change, or a caveat about the results.
has_moreNoTrue when the next page holds matches and lies within the first 10,000. False on the last reachable page even when more matches exist; truncated and notice say so.
triggersNoMatching trigger path records on this page.
truncatedNoTrue when more results remain past this page; notice says how to reach them.
totalCountNoTrigger path records matching the path (and year).
effectiveQueryNoThe query sent, after normalization (version suffix dropped): an HLT_ path as given; any other path as title clauses matching it as a record path name, OR HLT_ plus the path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"Records per page, 1-50."New value: +"Records per page, 1-50. A value above 50 is served at 50."
    • changedInput schema / properties / limit / maximum
      Previous value: -50New value: +10000
    • changedInput schema / properties / page / description
      Previous value: -"Page number, from 1. page × limit may not exceed 10,000."New value: +"Page number, from 1, counting pages of the limit applied. page × limit may not exceed 10,000."
    • changedInput schema / properties / path / description
      Previous value: -"Trigger path name (HLT_IsoMu24, AlCa_EcalPi0) or prefix with one trailing wildcard (HLT_IsoMu*): a letter or digit, then letters, digits and underscores. Trimmed. A path starting HLT_ in any case is searched as given, with the prefix case fixed, and matches path names in any case. Any other path is matched against record path names in the case given, the whole name or, with a trailing *, its start (AlCa_EcalPi0, AlCa_*), and is also searched with HLT_ prepended (IsoMu24 finds HLT_IsoMu24, 60Jet10 finds HLT_60Jet10). A trailing version suffix (_v3 or _v*) is dropped, since records list versions as V<n>."New value: +"Trigger path name (HLT_IsoMu24, AlCa_EcalPi0) or prefix with one trailing wildcard (HLT_IsoMu*): a letter or digit, then letters, digits and underscores. A path starting HLT_ in any case is searched as given, with the prefix case fixed, and matches path names in any case. Any other path is matched against record path names in the case given, the whole name or, with a trailing *, its start (AlCa_EcalPi0, AlCa_*), and is also searched with HLT_ prepended (IsoMu24 finds HLT_IsoMu24, 60Jet10 finds HLT_60Jet10). A trailing version suffix (_v3 or _v*) is dropped, since records list versions as V<n>."
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `page_window_exceeded`: page × limit exceeds 10,000, the deepest match the portal pages to. `rate_limited`: The portal's 60-a-minute budget is spent: it answered 429, or the request could not start within the call's deadline. data.retryAfter is set. `upstream_unreadable`: The portal answered with a body the server could not read: not JSON, missing the expected envelope, or over the byte ceiling (then data.retryable is false). Also raised when a search answers 404. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `page_window_exceeded`: page × limit, the limit applied (at most 50), exceeds 10,000, the deepest match the portal pages to. `rate_limited`: The portal's 60-a-minute budget is spent: it answered 429, or the request could not start within the call's deadline. data.retryAfter is set. `upstream_unreadable`: The portal answered with a body the server could not read: not JSON, missing the expected envelope, or over the byte ceiling (then data.retryable is false). Also raised when a search answers 404. Other values are possible when a failure originates below the handler."
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With readOnlyHint/idempotentHint already covering the safety profile, the description adds real value: the 2011-2016 coverage boundary, the explicit statement that prescale factors are NOT returned, and a description of what each match record contains. This is meaningful context beyond the annotations.

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

Conciseness3/5

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

Purpose is front-loaded, but the final sentence on prescale retrieval is a long, tangential run-on about PrescaleService blocks and luminosity-section columns that dilutes the core message. Tighter separation of the primary lookup behavior from the prescale footnote would help.

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-value detail is largely redundant but harmless; the description still covers coverage range, wildcard semantics, and the non-HLT path case. Nothing critical is missing, though authentication/rate-limit expectations and pagination interaction (page × limit ≤ 10,000) are left to the schema.

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 path parameter's schema text already documents wildcard handling, HLT_ prepending, and version-suffix dropping. The description restates these rather than adding new semantics, so the baseline 3 applies.

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Look up CMS High-Level Trigger paths by exact name ... or prefix pattern,' and clarifies what falls outside the HLT_ family. It distinguishes itself adequately from the generic record-lookup siblings, though it never names them directly.

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?

It states the two valid query modes (exact name vs prefix wildcard), the supported data range (2011-2016), and redirects to cern_opendata_list_files and the CMS-Luminosity-Information collection when prescale data is needed. It lacks an explicit 'use this instead of search_records when...' exclusion, but the context is clear.

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.