LLMxRay-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| diagnose_my_turnsA | What went wrong, if anything, in the Ollama calls your client sent through LLMxRay on port 11435, judged over several turns. It looks for a prompt rejected or silently cut by the context, the cache lost on every turn or on one turn, a model partly on CPU, and tool schemas crowding the prompt. Call it after a few turns, and again after a change. For one turn in numbers use read_my_last_turn. For which model or context fits use list_local_models. Returns text. First one line per client seen, then one finding per line tagged [high], [medium] or [low], each ending with the fix. It says so when nothing stands out, and explains how to route through 11435 when no turn was seen. client: a substring of the label LLMxRay shows, which is the name you set in X-LLMxRay-Client. On a shared machine, without it you read every tool's turns. since_minutes: 1 to 10080, the minutes since your change, so older turns do not dilute the verdict. Omit it for every turn kept. The two combine. Needs LLMxRay running (npx llmxray) and says so if not. Under a second, from records already kept. No model is called. |
| read_my_last_turnA | The most recent turn seen through LLMxRay, as numbers: prompt tokens and cached share, prefill time and speed, generated tokens and speed, stop reason, prompt make-up (system, tools, history, new message), context requested, VRAM fit, and where the prompt stopped matching the previous turn. Use it to budget the next call or to confirm a change helped. For a verdict across turns use diagnose_my_turns. For what is installed and loaded use list_local_models. Returns text, one fact per line, starting "turn at client: ... model: ...". It explains how to route through 11435 when no turn was seen. client: a substring of the label LLMxRay shows, which is the name you set in X-LLMxRay-Client. On a shared machine the latest turn may be another tool's, so pass your own name. Omit it when you are the only caller. Needs LLMxRay running (npx llmxray) and says so if not. Under a second, from records already kept. No model is called. |
| list_local_modelsA | Which models Ollama has pulled on this machine, with size, parameters and quantisation. Which are loaded now and with what context. How much of each sits in video memory, and whether each pulled model would fit. Use it before choosing a model or a context length. It knows nothing about past calls. For those use diagnose_my_turns or read_my_last_turn. Returns text. A machine line (GPU, video memory, RAM) when LLMxRay is running, then "N models pulled:" and one line per model, sorted by name, ending in LOADED now, fits in VRAM, or larger than VRAM. Takes no arguments, no model name and no filter. Needs Ollama reachable. Under a second, two listing calls. No model is loaded. The answer is a snapshot: a loaded model unloads after its keep_alive, so call it right before deciding. |
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 3 tools
Each tool has a clearly distinct purpose: aggregate diagnosis across turns, single-turn numeric detail, and installed/loaded model inventory. The descriptions explicitly cross-reference each other (e.g. 'For one turn in numbers use read_my_last_turn'), eliminating any misselection risk.
All three follow a predictable verb_..._noun pattern (diagnose_my_turns, read_my_last_turn, list_local_models) with consistent snake_case and action-first verbs. The shared 'my' framing reinforces a coherent family of read-only inspection tools.
Three tools is on the thin side, but each is tightly scoped and non-redundant for a focused Ollama observability server. A single diagnostic domain with aggregate, per-turn, and model-inventory views is reasonably served by this count.
The surface covers the key observability workflows: inspect the latest turn, diagnose patterns over several turns, and check what models/context fit. Minor gaps exist (e.g. no cross-turn comparison or history export), but agents can work around these with since_minutes and repeated calls.