root_mcp.core.io.validators module

Path validation and security checks.

class root_mcp.core.io.validators.PathValidator(config)[source]

Bases: object

Validates file paths against security constraints.

Parameters:

config (Config)

__init__(config)[source]

Initialize validator with configuration.

Parameters:

config (Config) – Server configuration

check_file_pattern(path, resource)[source]

Check if a file matches resource patterns.

Parameters:
  • path (Path) – File path

  • resource (ResourceConfig) – Resource configuration

Returns:

True if file matches allowed patterns and not excluded

Return type:

bool

validate_output_path(path)[source]

Validate an output path for exports.

Parameters:

path (str) – Destination path for export

Returns:

Validated path

Raises:

SecurityError – If path is not allowed for output

Return type:

Path

validate_path(path, resource=None)[source]

Validate a file path against security constraints.

Parameters:
  • path (str) – File path or URI to validate

  • resource (ResourceConfig | None) – Optional resource context

Returns:

Resolved, validated Path object

Raises:

SecurityError – If path violates security constraints

Return type:

Path

validate_write_operation(input_path, output_path, allow_overwrite=False)[source]

Validate a write operation to ensure security constraints.

This method enforces critical security rules: 1. Input and output paths must be different 2. Output path must be in allowed output directory 3. Cannot overwrite existing files unless explicitly allowed

Parameters:
  • input_path (str) – Source file path

  • output_path (str) – Destination file path

  • allow_overwrite (bool) – Whether to allow overwriting existing files

Returns:

Tuple of (validated_input_path, validated_output_path)

Raises:

SecurityError – If security constraints are violated

Return type:

tuple[Path, Path]

exception root_mcp.core.io.validators.SecurityError[source]

Bases: Exception

Raised when a security constraint is violated.