Production-grade MCP server for CERN ROOT file analysis
Project description
MCP Server for CERN ROOT Files
A Model Context Protocol (MCP) server that provides AI models with safe, high-level access to CERN ROOT files and their contents (TFile, TDirectory, TTree, TBranch, histograms). Enables declarative, tool-based interaction with ROOT data without requiring users to write low-level C++ or PyROOT code.
Quick Start
Install
pip install root-mcp
Optional XRootD support:
pip install "root-mcp[xrootd]"
Generate sample ROOT files
python examples/create_sample_data.py
Configure
Create a config (example):
resources:
- name: "local_data"
uri: "file:///absolute/path/to/data/root_files"
description: "Sample ROOT files"
allowed_patterns: ["*.root"]
security:
allowed_roots:
- "/absolute/path/to/data/root_files"
- "/tmp/root_mcp_output"
allowed_protocols: ["file"]
You can start from the repository example config at config.yaml.
Run
ROOT_MCP_CONFIG=/path/to/config.yaml root-mcp
Documentation
docs/README.md: complete documentation (tools reference, configuration, Claude Desktop)docs/ARCHITECTURE.md: architecture and design notesdocs/CONTRIBUTING.md: contributing guidelines
Citation
If you use ROOT-MCP in your research, please cite:
@software{root_mcp,
title = {ROOT-MCP: Production-Grade MCP Server for CERN ROOT Files},
author = {Mohamed Elashri},
year = {2025},
url = {https://github.com/MohamedElashri/root-mcp}
}
References
License
MIT License - see LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file root_mcp-0.1.1.tar.gz.
File metadata
- Download URL: root_mcp-0.1.1.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0202ca6f870070cdc70ecd18e87a887fd8288be7767d02b97befb6f7eeff61b8
|
|
| MD5 |
57b89cae29c9649472120dfd339d6c71
|
|
| BLAKE2b-256 |
485c3024ead420266eb22008ee1ffb9d30e942adfba442ecfef3edff1c945562
|
Provenance
The following attestation bundles were made for root_mcp-0.1.1.tar.gz:
Publisher:
release.yml on MohamedElashri/root-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
root_mcp-0.1.1.tar.gz -
Subject digest:
0202ca6f870070cdc70ecd18e87a887fd8288be7767d02b97befb6f7eeff61b8 - Sigstore transparency entry: 763359741
- Sigstore integration time:
-
Permalink:
MohamedElashri/root-mcp@8f41204fc2c0ab82853d16d42069e4b70b154198 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MohamedElashri
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8f41204fc2c0ab82853d16d42069e4b70b154198 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file root_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: root_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 41.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5187d140bf183581b3b0940d51a29ad2e2c5d3744ed83eca38d55194c3a22067
|
|
| MD5 |
4571515e4b2718517346b7583bc17dbd
|
|
| BLAKE2b-256 |
488c75eb2be7838ce08b9f04d1164879c37b66fe588acf298d7c3ebaf59cb0aa
|
Provenance
The following attestation bundles were made for root_mcp-0.1.1-py3-none-any.whl:
Publisher:
release.yml on MohamedElashri/root-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
root_mcp-0.1.1-py3-none-any.whl -
Subject digest:
5187d140bf183581b3b0940d51a29ad2e2c5d3744ed83eca38d55194c3a22067 - Sigstore transparency entry: 763359743
- Sigstore integration time:
-
Permalink:
MohamedElashri/root-mcp@8f41204fc2c0ab82853d16d42069e4b70b154198 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MohamedElashri
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8f41204fc2c0ab82853d16d42069e4b70b154198 -
Trigger Event:
workflow_dispatch
-
Statement type: