root_mcp.extended.root_native package
Native ROOT/PyROOT execution support (optional).
- class root_mcp.extended.root_native.CodeValidator(*, blocked_modules=None, blocked_attributes=None, blocked_builtins=None, allowed_modules=None, max_code_length=100000)[source]
Bases:
objectAST-based validator for user-submitted Python code.
Performs static analysis to detect and block dangerous patterns before code is executed. This is a best-effort check, not a security sandbox.
- Parameters:
blocked_modules (frozenset[str] | None) – Modules to block. Defaults to BLOCKED_MODULES.
blocked_attributes (frozenset[str] | None) – Attribute names to block. Defaults to BLOCKED_ATTRIBUTES.
blocked_builtins (frozenset[str] | None) – Built-in function names to block. Defaults to BLOCKED_BUILTINS.
allowed_modules (frozenset[str] | None) – Modules explicitly allowed. Defaults to ALLOWED_MODULES.
max_code_length (int) – Maximum allowed code length in characters.
- __init__(*, blocked_modules=None, blocked_attributes=None, blocked_builtins=None, allowed_modules=None, max_code_length=100000)[source]
- class root_mcp.extended.root_native.RootCodeExecutor(*, execution_timeout=60, max_output_size=10000000, allowed_output_formats=None, working_directory='/tmp/root_mcp_native', validator=None)[source]
Bases:
objectExecute PyROOT code in an isolated subprocess.
- Parameters:
execution_timeout (int) – Maximum execution time in seconds.
max_output_size (int) – Maximum size of captured stdout/stderr in bytes.
allowed_output_formats (list[str]) – File extensions allowed in output directory.
working_directory (str) – Base directory for execution working dirs.
validator (CodeValidator | None) – Code validator instance. If None, a default one is created.
- __init__(*, execution_timeout=60, max_output_size=10000000, allowed_output_formats=None, working_directory='/tmp/root_mcp_native', validator=None)[source]
- execute(code, *, input_files=None, output_dir=None, timeout=None, skip_validation=False)[source]
Execute PyROOT code in a subprocess.
- Parameters:
code (str) – Python code to execute (may import ROOT).
input_files (list[str] | None) – Paths to ROOT files the code needs access to.
output_dir (str | None) – Directory for output files. Created inside working_directory if None.
timeout (int | None) – Override execution timeout in seconds.
skip_validation (bool) – Skip AST validation (for trusted/internal code).
- Returns:
Structured execution result.
- Return type:
- class root_mcp.extended.root_native.ValidationResult(is_valid, errors=<factory>, warnings=<factory>)[source]
Bases:
objectResult of code validation.
- __init__(is_valid, errors=<factory>, warnings=<factory>)