Inference AIops
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INFERENCE_AIOPS_MASTER_PASSWORD | No | Master password used if a bearer token is stored for the inference stack. Optional. |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| cost_per_tokenA | [READ] Attribute a $/1M-token unit cost from live vLLM throughput. Multiplies the current generation-throughput gauge by the supplied GPU
hourly cost to derive the cost of serving 1M tokens; degrades to an
Args: gpu_hourly_cost: Hourly cost of a single GPU (e.g. cloud on-demand rate). num_gpus: Number of GPUs backing the deployment; defaults to 1. target: Inference target name from config; omit for the default. |
| model_deployA | [WRITE][risk=medium] Deploy a Serve application from an import path. Args: application: Serve application name to create/replace. import_path: Python import path of the Serve app (e.g. 'module:app'). num_replicas: Initial replica count for the deployment. target: Inference target name from config; omit for the default. |
| model_undeployA | [WRITE][risk=high] Tear down a whole Serve application (removes all deployments). Irreversible without the original import path — pass dry_run=True to preview. Args: application: Serve application name (from serve_deployment_list). dry_run: If True, preview without undeploying. target: Inference target name from config; omit for the default. |
| deployment_redeployA | [WRITE][risk=high] Force a deployment to re-apply new config. Applies the new config immediately and can drop unfinished requests — pass dry_run=True to preview. Args: application: Serve application name. deployment: Deployment name within the application. dry_run: If True, preview without redeploying. target: Inference target name from config; omit for the default. |
| routing_policy_updateA | [WRITE][risk=medium] Switch a deployment's request-routing policy (reversible). Controls prefix-cache locality across replicas: 'prefix_aware' / 'session_affinity' keep a session on one replica (warm cache), 'round_robin' spreads load evenly. Captures the prior policy for undo. Args: application: Serve application name. deployment: Deployment name. policy: New routing policy (prefix_aware / round_robin / session_affinity). target: Inference target name from config; omit for the default. |
| engine_healthB | [READ] Liveness of the serving engine (vLLM / SGLang / TGI) via its health probe. Args: target: Inference target name from config; omit for the default. |
| engine_inventoryA | [READ] Running-model identity + engine server info (engine-agnostic). vLLM / SGLang report served ids from /v1/models; TGI's single model id comes from /info. Args: target: Inference target name from config; omit for the default. |
| engine_request_metricsB | [READ] TTFT / TPOT / e2e latency + generation-token totals (where the engine exposes them). Args: target: Inference target name from config; omit for the default. |
| engine_queue_depthB | [READ] Running vs waiting requests — the leading backpressure signal (any engine). Args: target: Inference target name from config; omit for the default. |
| diagnose_engine_latencyA | [READ][RCA] Rank the probable cause of a latency spike for any serving engine. Correlates whichever signals the engine exposes (queue backpressure, KV/token-cache pressure, cache locality) into a ranked cause + the knob to turn — the engine-agnostic counterpart to diagnose_latency_spike (vLLM). Args: target: Inference target name from config; omit for the default. |
| request_metricsB | [READ] vLLM TTFT / TPOT / e2e latency + generation-token totals. Args: target: Inference target name from config; omit for the default. |
| queue_depthA | [READ] Running vs waiting requests — the leading backpressure signal. Args: target: Inference target name from config; omit for the default. |
| kv_cache_statsA | [READ] KV-cache utilisation, prefix-cache hit rate, and preemption count. Args: target: Inference target name from config; omit for the default. |
| diagnose_latency_spikeA | [READ][RCA] Rank the probable cause of a TTFT/latency spike + the knob to turn. Correlates queue depth, KV-cache pressure/preemption, and prefix-cache locality into a ranked cause list — call this first on "why is inference slow". Args: target: Inference target name from config; omit for the default. |
| diagnose_low_utilizationA | [READ][RCA] Explain an under-used GPU (batching / idle / overprovision). Args: target: Inference target name from config; omit for the default. |
| model_listA | [READ] All served vLLM models, LoRA adapters flagged. Args: target: Inference target name from config; omit for the default. |
| model_infoA | [READ] One model's config: max length, root/parent, permission (best-effort). Args: model_id: Model id (from model_list). target: Inference target name from config; omit for the default. |
| model_is_sleepingA | [READ] Whether the vLLM engine is suspended in Sleep Mode. Returns isSleeping: true (suspended, serving nothing), false (serving), or null when the engine did not report it — null means UNKNOWN, not awake. Sleep Mode exists only on servers started with VLLM_SERVER_DEV_MODE=1; on any other server this reports that the route is absent rather than failing vaguely. Args: target: Inference target name from config; omit for the default. |
| lora_loadA | [WRITE][risk=medium] Hot-load a LoRA adapter onto the running engine. Args: lora_name: Adapter name to register. lora_path: Local path or HF repo id of the adapter weights. target: Inference target name from config; omit for the default. |
| lora_unloadA | [WRITE][risk=high] Hot-unload a LoRA adapter (traffic on it starts failing). Pass dry_run=True to preview. Args: lora_name: Adapter name to unload (from model_list). dry_run: If True, preview without unloading. target: Inference target name from config; omit for the default. |
| model_sleepA | [WRITE][risk=high] Suspend the engine via Sleep Mode (it stops serving requests). Frees GPU memory between bursts. level=1 offloads the weights to CPU RAM and wakes fast; level=2 discards them, so waking reloads from disk. The engine serves nothing until model_wake. Pass dry_run=True to preview. Sleep Mode exists only on servers started with VLLM_SERVER_DEV_MODE=1; on any other server this reports that the route is absent rather than failing vaguely. Args: level: 1 to offload weights to CPU RAM, 2 to discard them (default 1). dry_run: If True, preview without suspending. target: Inference target name from config; omit for the default. |
| model_wakeA | [WRITE][risk=medium] Resume serving after Sleep Mode (weights return to GPU). The inverse of model_sleep. Pass dry_run=True to preview. Records no undo: vLLM never reports which sleep level the engine was at, so re-sleeping would have to guess between level 1 and level 2 — call model_sleep with the level you want instead. Sleep Mode exists only on servers started with VLLM_SERVER_DEV_MODE=1; on any other server this reports that the route is absent rather than failing vaguely. Args: dry_run: If True, preview without waking. target: Inference target name from config; omit for the default. |
| ray_cluster_resourcesA | [READ] Cluster-wide CPU/GPU capacity + headroom + pending placement groups. Args: target: Inference target name from config; omit for the default. |
| ray_dashboard_statusA | [READ] Serve controller health + app/deployment counts. Args: target: Inference target name from config; omit for the default. |
| ray_job_listA | [READ] Submitted Ray jobs: id, status, entrypoint, start time. Returns Args: target: Inference target name from config; omit for the default. limit: Maximum job rows to return. Default 100. |
| gpu_utilizationA | [READ] Per-node GPU count, utilisation %, and memory used/total. Args: target: Inference target name from config; omit for the default. |
| ray_job_cancelA | [WRITE][risk=medium] Stop a submitted/running Ray job. Args: job_id: Job id (from ray_job_list). target: Inference target name from config; omit for the default. |
| replica_restartA | [WRITE][risk=high] Restart one wedged Serve replica (kills + respawns the actor). Drops the replica's in-flight requests — pass dry_run=True to preview. Args: application: Serve application name. deployment: Deployment name. replica_id: Replica id (from replica_list). dry_run: If True, preview without restarting. target: Inference target name from config; omit for the default. |
| serve_deployment_listB | [READ] All Ray Serve deployments: status, replica count, target. Args: target: Inference target name from config; omit for the default. |
| deployment_statusA | [READ] One deployment's status + current/target replica count. Args: application: Serve application name (from serve_deployment_list). deployment: Deployment name within the application. target: Inference target name from config; omit for the default. |
| replica_listA | [READ] Replica states for one deployment (running/starting/draining). Args: application: Serve application name. deployment: Deployment name. target: Inference target name from config; omit for the default. |
| autoscale_config_getA | [READ] Autoscale bounds (min/max replicas, target ongoing requests). Args: application: Serve application name. deployment: Deployment name. target: Inference target name from config; omit for the default. |
| scale_replicas_upA | [WRITE][risk=medium] Raise a deployment's replica count (reversible → prior). Pass dry_run=True to preview: it reads the deployment's current count, so the preview reports the real from→to rather than only the requested target — and it fails here, not mid-write, if the deployment does not exist. Args: application: Serve application name. deployment: Deployment name. num_replicas: New (higher) replica count. dry_run: If True, preview without scaling. target: Inference target name from config; omit for the default. |
| scale_replicas_downA | [WRITE][risk=high] Lower a deployment's replica count on prod (reversible → prior). Fewer replicas can strand in-flight requests — pass dry_run=True to preview. Args: application: Serve application name. deployment: Deployment name. num_replicas: New (lower) replica count. dry_run: If True, preview without scaling. target: Inference target name from config; omit for the default. |
| scale_to_zeroA | [WRITE][risk=high] Park a deployment at 0 replicas (reversible → prior count). Stops the cost bleed but adds cold-start latency and can strand the ingress — pass dry_run=True to preview. Args: application: Serve application name. deployment: Deployment name. dry_run: If True, preview without scaling to zero. target: Inference target name from config; omit for the default. |
| autoscale_config_updateA | [WRITE][risk=medium] Live-tune autoscale bounds without a redeploy (reversible). Args: application: Serve application name. deployment: Deployment name. min_replicas: New floor (omit to leave unchanged). max_replicas: New ceiling (omit to leave unchanged). target_ongoing_requests: New per-replica concurrency target (omit to leave). target: Inference target name from config; omit for the default. |
| drain_replicaA | [WRITE][risk=high] Gracefully drain one replica (finish in-flight, take no new). Pass dry_run=True to preview. Args: application: Serve application name. deployment: Deployment name. replica_id: Replica id (from replica_list). dry_run: If True, preview without draining. target: Inference target name from config; omit for the default. |
| undo_listA | [READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that Returns {"undos": [...], "returned": N, "limit": L, "truncated": bool}.
Each entry carries Args: limit: Max rows to return (default 50, capped at 500). target: Unused (undo state is host-local); accepted for CLI uniformity. |
| undo_applyA | [WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited under its own name and risk level. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args:
undo_id: The undoId from undo_list (or an |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIops-tools/Inference-AIops'
If you have feedback or need assistance with the MCP directory API, please join our Discord server