vllm-ops-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VLLM_OPS_MCP_LIVE | No | 1 to run real-infra smoke tests | |
| VLLM_OPS_MCP_MODEL | No | served-model-name, used in completion payloads | qwen3-14b |
| VLLM_OPS_MCP_BASE_URL | No | OpenAI-compatible base URL | http://127.0.0.1:8000/v1 |
| VLLM_OPS_MCP_WSL_DISTRO | No | WSL distro hosting vLLM | Ubuntu-22.04 |
| VLLM_OPS_MCP_RUNS_IN_WSL | No | 1 if this server process itself runs inside WSL2/Linux (skips the wsl -d hop); auto-detected via sys.platform | |
| VLLM_OPS_MCP_SERVICE_UNIT | No | systemd unit name | vllm |
| VLLM_OPS_MCP_NVIDIA_SMI_PATH | No | nvidia-smi binary override | nvidia-smi |
| VLLM_OPS_MCP_EXEC_SCRIPT_PATH | No | WSL-side path to the serve exec script (fallback source) | ~/vllm-systemd-exec.sh |
| VLLM_OPS_MCP_SERVE_CONFIG_PATH | No | local file mirror of the exec script; if set, get_serve_config reads it directly instead of shelling into WSL as a fallback source | |
| VLLM_OPS_MCP_DEEP_RATE_LIMIT_PER_MIN | No | cap on check_health(deep=True) + test_completion calls/min | 20 |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_healthA | Two-stage health probe for the local vLLM server, mirroring check-vllm.cmd. deep=False (default): GET /v1/models liveness check only. deep=True: additionally fires one minimal real /v1/chat/completions call to confirm the server actually generates text, not just reports a model loaded (rate-limited -- this consumes real GPU inference cycles on shared infra). Returns {ok, status: up|degraded|down, tier, model_id, latency_ms, completion_s, error}. |
| list_modelsA | GET /v1/models passthrough -- lists model IDs currently loaded/served. |
| test_completionA | On-demand real /v1/chat/completions call with a caller-supplied prompt, for manual sanity-checking (same mechanism as check_health(deep=True) but user-controlled). Rate-limited -- consumes real GPU inference cycles on shared infra. max_tokens is clamped server-side to config.MAX_TEST_COMPLETION_TOKENS and the prompt is capped at config.MAX_TEST_COMPLETION_PROMPT_CHARS (oversized prompts are rejected) -- the rate limiter bounds call frequency, not the cost of a single call. Returns {ok, model_id, completion_s, text, error}. |
| get_gpu_statusA | nvidia-smi wrapper: per-GPU VRAM used/total and utilization%, plus per-process VRAM usage (to catch VRAM-overshoot). Read-only. |
| get_service_statusA | systemd unit status for the vLLM service (via |
| get_serve_configA | Read-only introspection of the current vLLM launch flags. Prefers the LIVE process's real argv (/proc//cmdline of the systemd unit's MainPID) as ground truth; falls back to the static exec script if the process isn't currently up. vLLM does not expose its own launch flags over the API, so this never queries the server itself. Any argv value following a flag matching a known-sensitive pattern (token/key/secret/password/credential) is redacted before being returned. |
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 6 tools
Tools target distinct resources (health, models, GPU, service, config) and actions. The only potential overlap is between check_health(deep=true) and test_completion, but their purposes are clearly differentiated as health probe vs. user-driven test.
All tool names follow a consistent snake_case verb_noun pattern: check_health, list_models, test_completion, get_gpu_status, get_service_status, get_serve_config. No mixed conventions or vague verbs.
Six tools is well-scoped for a vLLM operations server. Each tool covers a distinct operational need without redundancy or bloat, fitting comfortably in the ideal 3-15 range.
The tool set covers core read-only monitoring (health, models, GPU, service, config) and testing. Minor gaps include lack of service control (start/stop/restart) and log retrieval, but these are likely intentional given the read-only nature of the service status tool.