Provides xray vulnerability scanning capabilities through Python-based tools for performing security scans on web applications and services
Xray MCP Server
This is an enhanced MCP (Model Context Protocol) server that provides xray vulnerability scanning capabilities for ModelScope hosting.
Features
xray_scan: Perform vulnerability scans on target URLs
Support for basic-crawler and phantasm-crawler scan types
Configurable timeout
Plugin and POC support
JSON output with detailed results
xray_version: Get xray version information
xray_start_proxy: Start xray in passive proxy mode (planned)
Configurable proxy port
Real-time vulnerability detection
xray_stop_proxy: Stop the running xray proxy (planned)
xray_service_scan: Scan services on non-HTTP targets (planned)
Port range scanning
Service detection
Related MCP server: Trivy Security Scanner MCP Server
Installation
Install Python 3.7+
Install xray from https://github.com/chaitin/xray
Set the XRAY_PATH environment variable to point to your xray binary:
export XRAY_PATH=/path/to/xray
Configuration
Environment variables:
XRAY_PATH: Path to xray binary (default: "xray")XRAY_CONFIG_DIR: Configuration directory (default: "~/.xray-mcp")XRAY_OUTPUT_DIR: Output directory for scan results (default: system temp)
Usage
For ModelScope MCP
This server is designed to work with ModelScope's MCP platform. The server implements the MCP protocol and can be integrated into the ModelScope ecosystem.
Standalone Usage
Run the server:
The server reads JSON-RPC requests from stdin and writes responses to stdout.
Example Request
Available Tools
xray_scan
Performs a vulnerability scan on a target URL.
Parameters:
target(required): The target URL to scanscan_type(optional): Type of scan - "basic-crawler" or "phantasm-crawler" (default: "basic-crawler")timeout(optional): Scan timeout in seconds (default: 300)plugins(optional): Comma-separated list of plugins to usepoc(optional): POC to use for scanning
xray_version
Gets the version information of the installed xray scanner.
No parameters required.
xray_start_proxy (Planned)
Starts xray in passive proxy mode for real-time scanning.
Parameters:
port(optional): Proxy port to listen on (default: 7777)
xray_stop_proxy (Planned)
Stops the running xray proxy.
No parameters required.
xray_service_scan (Planned)
Scans services on non-HTTP targets.
Parameters:
target(required): The target host/IP to scanport_range(optional): Port range to scan (default: "1-65535")timeout(optional): Scan timeout in seconds (default: 300)
Security Considerations
The server executes xray with user-provided URLs
Implement appropriate access controls when deploying
Consider rate limiting for production use
Validate and sanitize all inputs
License
MIT License