CERN ROOT MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROOT_MCP_MODE | No | Server mode: 'core' (lightweight) or 'extended' (full analysis). Default is 'core'. | |
| ROOT_MCP_CONFIG | No | Path to a YAML configuration file for persistent settings. | |
| ROOT_MCP_DATA_PATH | No | Path to the directory containing ROOT files. Can be set via command-line --data-path. | |
| ROOT_MCP_EXPORT_PATH | No | Directory for exported plots and data. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_filesC | List ROOT files in a resource |
| inspect_fileC | Inspect ROOT file structure and contents |
| list_branchesC | List branches in a TTree or RNTuple |
| validate_fileC | Validate ROOT file integrity |
| read_branchesB | Read branch data from a TTree or RNTuple |
| get_branch_statsC | Get statistics for branches (supports derived variables via defines) |
| export_dataC | Export branch data to JSON, CSV, or Parquet |
| switch_modeC | Switch between core and extended modes |
| get_server_infoA | Get server mode and capabilities |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| local_data | Local ROOT files for analysis |
TDQS
Scored across 9 tools
Each tool targets a distinct operation: listing files, inspecting structure, listing branches, reading data, computing statistics, exporting data, validating files, switching modes, and getting server info. No two tools have overlapping purposes.
All tool names follow a consistent verb_noun pattern with underscore separators (e.g., list_branches, get_branch_stats). The pattern is uniform across all 9 tools.
9 tools cover the essential operations for exploring and extracting ROOT data without being excessive. The count is well-matched to the domain's scope.
The tool set covers the main workflow: file discovery, structure inspection, branch listing, data reading, statistics, export, and validation. Minor gaps like applying cuts during reads are missing, but the core functionality is solid.