XRootD MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XROOTD_SERVER | Yes | The XRootD server URL (e.g., root://dtn-eic.jlab.org). | |
| XROOTD_BASE_DIR | No | Optional base directory to restrict access and simplify paths. Relative paths will be resolved relative to this directory. | |
| XROOTD_CACHE_TTL | No | Cache time-to-live in minutes. | 60 |
| XROOTD_CACHE_ENABLED | No | Whether directory listing results are cached for improved performance. | true |
| XROOTD_CACHE_MAX_SIZE | No | Maximum number of entries in the LRU cache. | 1000 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_serversA | List all configured XRootD servers |
| list_directoryC | List contents of a directory on an XRootD server |
| get_file_infoC | Get detailed metadata about a file or directory |
| read_fileB | Read contents of a file from an XRootD server (supports byte ranges) |
| check_file_existsB | Check if a file or directory exists on an XRootD server |
| get_directory_sizeA | Calculate total size of a directory (recursively) |
| search_filesB | Search for files by pattern (glob or regex) |
| get_statisticsC | Get comprehensive statistics about files in a directory |
| list_directory_filteredC | List directory with advanced filtering options |
| find_recent_filesB | Find files modified within a time period |
| list_campaignsC | List available production campaigns |
| list_datasetsB | List datasets within a campaign |
| summarize_recent_changesC | Summarize files added in a time period with statistics |
| analyze_root_fileA | Analyze ROOT file structure, trees, and branches. Prefers HTTP-based access; if unavailable, set allow_copy: true to fall back to xrdcp. |
| extract_podio_metadataA | Extract metadata from podio_metadata tree in ROOT file. Prefers HTTP-based access; if unavailable, set allow_copy: true to fall back to xrdcp. |
| get_event_statisticsB | Get event statistics and collection info from ROOT file. Prefers HTTP-based access; if unavailable, set allow_copy: true to fall back to xrdcp. |
| get_dataset_event_statisticsA | Aggregate event statistics across all ROOT files in a dataset. Prefers HTTP-based access; if unavailable, set allow_copy: true to fall back to xrdcp. |
| get_branch_histogramA | Fill a histogram of a TTree branch and return bin edges and counts. Prefers HTTP-based access; if unavailable, set allow_copy: true to fall back to xrdcp. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool has a distinct purpose, covering file operations, ROOT file analysis, and dataset management. Overlap is minimal or non-existent.
All tool names follow a consistent verb_noun pattern in snake_case, making them predictable and easy to navigate.
18 tools is well-scoped for XRootD file access and ROOT analysis, covering all essential operations without being excessive.
The tool set covers core CRUD-like operations (read, list, search) and ROOT analysis. Minor gaps like file creation or advanced queries are acceptable given the focus on access and analysis.