xray-mcp-monitor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XRAY_MCP_HOST | No | Bind host for network transports | 127.0.0.1 |
| XRAY_MCP_PORT | No | Bind port for network transports | 8000 |
| XRAY_MCP_TRANSPORT | No | Default transport when --transport is omitted | stdio |
| XRAY_MCP_STATE_FILE | No | Path to the persistent watch state JSON file | ./xray_watch_state.json |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| register_subscription_monitorA | Create a scheduled connectivity monitor for an Xray subscription URL. |
| check_subscription_onceB | Fetch a subscription URL and run a one-time connectivity check. |
| list_subscription_monitorsB | List all registered scheduled monitors. |
| get_subscription_monitorA | Get a monitor by watch ID, including the latest stored result. |
| run_monitor_nowC | Run a monitor immediately. |
| set_monitor_enabledC | Enable or disable a scheduled monitor. |
| remove_subscription_monitorC | Remove a scheduled monitor. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct operation: creation, one-time check, listing, retrieval, manual run, enable/disable, and deletion. While run_monitor_now and check_subscription_once both perform connectivity checks, the former applies to an existing monitor while the latter is standalone, and descriptions clearly disambiguate them.
All tool names follow a consistent verb_noun pattern using snake_case, with clear verbs such as register, check, list, get, run, set, and remove. The naming is uniform and predictable.
Seven tools is well-scoped for a monitoring server, covering the full lifecycle without redundancy. Each tool serves a clear purpose and the count is neither too sparse nor overwhelming.
The tool set covers the full CRUD lifecycle (register, list/get, remove, set_enabled) plus a one-time check and manual run. The only notable gap is the lack of an update tool for modifying a monitor's subscription URL or schedule, but this is a minor limitation that can be worked around by removing and re-registering.