Xray Mcp

by zhangning77-tech

356 downloads
Not rated
GitHub

About

This is an enhanced MCP (Model Context Protocol) server that provides xray vulnerability scanning capabilities for ModelScope hosting.

Details

Author
zhangning77-tech
Downloads
356
Categories
Other

- xray_scan: Perform vulnerability scans with configurable crawler type, timeout, plugins, and POC.
- xray_version: Retrieve the installed xray scanner version.
- xray_start_proxy (planned): Start xray in passive proxy mode with configurable port.
- xray_stop_proxy (planned): Stop the running xray proxy.
- xray_service_scan (planned): Scan non-HTTP services with port range and timeout.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Xray Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Python 3.7+ and the xray binary from chaitin/xray, then set the XRAY_PATH environment variable to point to the xray binary. Run python server.py to start the server, which reads JSON-RPC requests from stdin and writes responses to stdout. The server can also be integrated into ModelScope's MCP platform.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "xray mcp": {
            "xray-mcp": {
                "command": "node",
                "args": [
                    "path/xray-mcp-server/server.py"
                ],
                "env": {
                    "XRAY_PATH": "path/bin/xray",
                    "XRAY_OUTPUT_DIR": "path/xray-mcp-server/xray-results",
                    "XRAY_CONFIG": "path/xray-mcp-server/config/xray-config.yaml"
                }
            }
        }
    }
}

McpServers

{
    "xray-mcp": {
        "command": "node",
        "args": [
            "path/xray-mcp-server/server.py"
        ],
        "env": {
            "XRAY_PATH": "path/bin/xray",
            "XRAY_OUTPUT_DIR": "path/xray-mcp-server/xray-results",
            "XRAY_CONFIG": "path/xray-mcp-server/config/xray-config.yaml"
        }
    }
}

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

Installation

1. Install Python 3.7+
2. Install xray from https://github.com/chaitin/xray
3. 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:

python server.py

The server reads JSON-RPC requests from stdin and writes responses to stdout.

Example Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "xray_scan",
    "arguments": {
      "target": "http://example.com",
      "scan_type": "basic-crawler",
      "timeout": 300
    }
  }
}

Available Tools

xray_scan

Performs a vulnerability scan on a target URL.

Parameters:
- target (required): The target URL to scan
- scan_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 use
- poc (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 scan
- port_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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.